質問: Microsoft.PowerShell ユーザー データ: -------------------------------------------- ``` ### 該当のソースコード ``` Get- WebConfiguration /system.webServer/security/ipSecurity/* -location ”IIS:¥Sites” | Out-String -Stream この部分のコマンドでJP1経由だとエラーが発生します。 ``` ### 試したこと ``` ・コマンドのパス比較 Get-WebConfigurationコマンドまでのパスの見え方が違うのかと思って、gcmコマンドにてコマンドパスを確認しましたが、直接実行とJP1実行でパスの見え方は変わりませんでした。 --------------------------------------------- Name : Get-WebConfiguration CommandType : Cmdlet Definition : Get-WebConfiguration [-Filter] [[-PSPath] ] [-Recurse] [-Metadata] [-Clr ] [-Location ] [] Path : AssemblyInfo : DLL : C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.IIS.PowerShell.Provider\v4.0_8.5.0.0__31bf3856a d364e35\Microsoft.IIS.PowerShell.Provider.dll HelpFile : Microsoft.IIS.PowerShell.Provider.dll-Help.xml ParameterSets : {[-Filter] [[-PSPath] ] [-Recurse] [-Metadata] [-Clr ] [-Location ] []} ImplementingType : Microsoft.IIs.PowerShell.Provider.GetConfigurationCommand Verb : Get Noun : WebConfiguration --------------------------------------------- ``` ``` ・環境変数を設定してみました 実行時の環境変数が異なっていましたので、手動実行時に設定される環境変数を JP1から実行した際の環境変数にすべて設定をしてみましたが、結果は変わらずでした。 ※環境変数の設定はスクリプト内にべた書きで定義して確認 ``` ``` ・Get-WebConfigurationをインポートする処理をスクリプトに入れてみました 単純に「Get-WebConfiguration」というコマンドの解釈が出来ない気がしたので以下のインポート文をスクリプトにいれてみましたがダメでした。 ipmo WebAdministration ``` ``` 手動実行の場合、「cd iis:\」ができるがJP1経由の場合、対象のディスクが無い旨のエラーメッセージが出力 IIS関連の情報が見えていないと思われます。 ``` ### 補足情報(言語/FW/ツール等のバージョンなど) JP1/Base ( 11-00-01 ) Windows Server 2012 PowerShell V4.0
回答: 外していたらすいません。 Windows Server 2012 とのことで64bit環境かと思いますが、対象のDLLが隠しフォルダ「SysWOW64」に格納されているのであれば、JP1からは参照できないかも知れません。 バッチの場合は、フルパスでsysWow64以下のバイナリを指定してあげることで解決できた記憶があります。