Jeśli masz każdą pojedynczą nową pozycję wymienioną w osobnym wierszu w pliku PS1, zakładając na przykład, że mam plik o nazwie register.ps1 z następującymi wierszami.:
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"
Możesz wywołać sqlps w ten sposób:
sqlps -NoExit -Command "&{C:\bin\register.ps1}"
Lepszym rozwiązaniem byłoby dodanie parametrów do register.ps1
param($ServerInstance)
cd 'SQLSERVER:\sqlregistration\Database Engine Server Group\'
New-Item $(Encode-Sqlname $server) -itemtype registration -Value "server=$serverInstance;integrated security=true"
Następnie utwórz plik z listą instancji SQL, na przykład server.txt:
server1
server2
Zadzwoń register.ps1 dla każdej linii:
get-content C:\bin\server.txt | foreach {C:\bin\register.ps1 $_ }