Wenn Sie jedes einzelne neue Element in einer separaten Zeile in einer PS1-Datei aufgelistet haben, zum Beispiel angenommen, ich habe eine Datei namens register.ps1 mit den folgenden Zeilen.:
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"
Sie könnten sqlps so aufrufen:
sqlps -NoExit -Command "&{C:\bin\register.ps1}"
Eine bessere Lösung wäre, der register.ps1
Parameter hinzuzufügenparam($ServerInstance)
cd 'SQLSERVER:\sqlregistration\Database Engine Server Group\'
New-Item $(Encode-Sqlname $server) -itemtype registration -Value "server=$serverInstance;integrated security=true"
Erstellen Sie dann eine Datei mit der Liste der SQL-Instanzen, zum Beispiel server.txt:
server1
server2
Rufen Sie register.ps1 für jede Zeile auf:
get-content C:\bin\server.txt | foreach {C:\bin\register.ps1 $_ }