Pokud máte každou jednotlivou novou položku uvedenou na samostatném řádku v souboru PS1, například za předpokladu, že mám soubor s názvem register.ps1 s následujícími řádky.:
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"
Sqlps můžete nazvat takto:
sqlps -NoExit -Command "&{C:\bin\register.ps1}"
Lepším řešením by bylo přidat parametry 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"
Poté vytvořte soubor se seznamem instancí SQL, například server.txt:
server1
server2
Volejte register.ps1 pro každý řádek:
get-content C:\bin\server.txt | foreach {C:\bin\register.ps1 $_ }