PowerShellからリモートで実行するには、PowerShellリモート処理を使用するか、WMIを使用する必要があります。
実際には、Invoke-WMIMethod PowerShellコマンドレットを使用すると非常に簡単ですが、-Authentication PacketPrivacy
... を指定する必要があります。異なる資格情報を指定する必要がある場合は、パラメーターを使用してこれを行うことができます-Credential (Get-Credential)
。以下に例を示します。
$pc = "serverName"
## List the app pools, note the __RELPATH of the one you want to kill:
Get-WMIObject IISApplicationPool
-Computer $pc
-Namespace root\MicrosoftIISv2
-Authentication PacketPrivacy
## Recycle a specific one:
$Name = "W3SVC/APPPOOLS/ASP.NET v4.0 Classic" ## This is the Name from above
$Path = "IISApplicationPool.Name='$Name'" ## This is the __RELPATH
Invoke-WMIMethod Recycle
-Path $Path
-Computer $pc
-Namespace root\MicrosoftIISv2
-Authentication PacketPrivacy
すべてをまとめた素敵な関数を作成しました:http : //poshcode.org/2466