PS1ファイルの個別の行に個々の新しいアイテムがリストされている場合。たとえば、次の行を含むregister.ps1という名前のファイルがあるとします。:
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を呼び出すことができます:
sqlps -NoExit -Command "&{C:\bin\register.ps1}"
より良い解決策は、register.ps1
にパラメータを追加することです。param($ServerInstance)
cd 'SQLSERVER:\sqlregistration\Database Engine Server Group\'
New-Item $(Encode-Sqlname $server) -itemtype registration -Value "server=$serverInstance;integrated security=true"
次に、SQLインスタンスのリストを含むファイルを作成します(例:server.txt:
)。server1
server2
回線ごとにregister.ps1を呼び出します:
get-content C:\bin\server.txt | foreach {C:\bin\register.ps1 $_ }