Se hai ogni singolo nuovo elemento elencato su una riga separata in un file PS1, ad esempio supponendo che io abbia un file chiamato register.ps1 con le seguenti righe.:
cd 'SQLSERVER:\sqlregistration\Database Engine Server Group\'; new-item $(Encode-Sqlname server1) -itemtype registration -Value "server=server1;integrated security=true"
cd 'SQLSERVER:\sqlregistration\Database Engine Server Group\'; new-item $(Encode-Sqlname server2) -itemtype registration -Value "server=server1;integrated security=true"
Potresti chiamare sqlps in questo modo:
sqlps -NoExit -Command "&{C:\bin\register.ps1}"
Una soluzione migliore sarebbe aggiungere parametri a register.ps1
param($ServerInstance)
cd 'SQLSERVER:\sqlregistration\Database Engine Server Group\'
New-Item $(Encode-Sqlname $server) -itemtype registration -Value "server=$serverInstance;integrated security=true"
Quindi crea un file con l'elenco delle istanze SQL, ad esempio server.txt:
server1
server2
Chiama register.ps1 per ogni linea:
get-content C:\bin\server.txt | foreach {C:\bin\register.ps1 $_ }