Om du har varje enskild nyhet listad på en separat rad i en PS1-fil, till exempel förutsatt att jag har en fil med namnet register.ps1 med följande rader.:
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"
Du kan anropa sqlps så här:
sqlps -NoExit -Command "&{C:\bin\register.ps1}"
En bättre lösning skulle vara att lägga till parametrar till register.ps1
param($ServerInstance)
cd 'SQLSERVER:\sqlregistration\Database Engine Server Group\'
New-Item $(Encode-Sqlname $server) -itemtype registration -Value "server=$serverInstance;integrated security=true"
Skapa sedan en fil med listan över SQL-instanser, till exempel server.txt:
server1
server2
Ring register.ps1 för varje linje:
get-content C:\bin\server.txt | foreach {C:\bin\register.ps1 $_ }