0

プラットフォームの詳細: IIS7、PHP5、Windows Server 2008 サーバー名: server1

php の exec() 関数を使用して、次のコマンドを含む .bat ファイルを実行しようとしています。

winrs -r:server2 "C:\custom_functions.bat"

ただし、そのコマンドを実行すると機能しません。custom_functions.bat ファイルを server2 で直接実行すると、正常に動作するため、問題は私のコードではない可能性があります。パーミッションエラーだと思います。

exec("whoami") を実行すると、ユーザーとして "nt authority\network service" が返されます。

exec("ipconfig") や exec("dir c:\") などの php exec() 関数を使用して基本的な Windows コマンドを実行すると、正常に動作します。問題は、WINRM を使用してリモート サーバーでコマンドを実行しようとしたときに発生します。php の system() 関数も使用しましたが、結果は同じでした。

助けてください!?

4

1 に答える 1

0

サーバーでコマンドを実行するには、そのサーバーでの承認が必要です。コマンドをプロンプトから手動で実行すると、ユーザー アカウントを介してアクセスできます。

IIS がコマンドを実行すると、server2 へのアクセス権を持たない組み込みユーザーとして実行されます。

Web サーバー プロセスに server2 へのアクセスを許可することはお勧めしません。

于 2012-09-18T18:25:31.080 に答える