1

IIS7 CLI ユーティリティ appcmd が、invoke-command を使用して呼び出されたときに、この奇妙な動作を確認しました。

これは、実行しようとしている小さなコマンドです。

PS C:\>appcmd list config /section:applicationPools | Select-String -SimpleMatch "SomeAppPool" -context 0,4 | Out-String -Stream | Select-String " pingingEnabled=""true"""

コマンドは完全に正常に実行されます [すべての %PATH% 変数が設定されている IIS7 マシンで実行されます]。次のような出力が得られます

<processModel pingingEnabled="true" />

リモート マシンから invoke-command を介して同じことを行います。

リモートバージョン-I

PS C:\>invoke-command -computername iismachine -credential $creds -scriptblock {
    appcmd list config /section:applicationPools | Select-String -SimpleMatch "SomeAppPool" -context 0,4 | Out-String -Stream | Select-String " pingingEnabled=""true"""
}

出力はありませんが、空行は 3 行だけです!!!

リモートpowershellセッションを作成してやると、うまくいきます..

リモート版Ⅱ

PS C:\>enter-pssession -computername iismachine -credential $creds;
[iismachine]: PS C:\Users\onewildgamer\Documents>invoke-command -scriptblock {
    appcmd list config /section:applicationPools | Select-String -SimpleMatch "SomeAppPool" -context 0,4 | Out-String -Stream | Select-String " pingingEnabled=""true""" 
}

動作に違いがあるため、ユーザー権限の問題は疑わしくありません。

何か間違ったことをしている場合はお知らせください。なぜこれが機能しないのか、私の人生では理解できません。

4

1 に答える 1