これが私のシナリオです:
PsExecを使用して、ローカルマシンからサーバー上のIIS 7.0サイトをリモートで起動および停止しようとしています。
いくつかの重要なポイント:
私は次のコマンドを使用しています:
"C:\Program Files\PSTools\psexec.exe" \\(server-alias) -u (server-domain)\(domain-admin) -p (password) C:\Windows\System32\inetsrv\appcmd.exe stop site "Default Web Site"
これはエラーを返します:
PsExec v1.94 - Execute processes remotely
Copyright (C) 2001-2008 Mark Russinovich
Sysinternals - www.sysinternals.com
Could not start PsExec service on (server-alias):
Access is denied.
そして、いくつかの重要なトラブルシューティングのメモ:
これはWindows 2008 R2に固有の問題であり、おそらくドメインまたは管理者のアクセス許可に沿ったセキュリティ設定に関連していることを示しているようです。しかし、私にはアイデアがありません。あなたが持っているかもしれないどんな提案も大いに感謝されるでしょう!
管理者以外のユーザーがPsExecを起動している2台のWindows 7コンピューター間でPsExecへの有効な方法を見つけるのに数時間かかりました... UACの無効化(EnableLUA = 0、ConsentPromptBehaviorAdmin = 0、LocalAccountTokenFilterPolicy = 1)が機能せず、ファイアウォールをオフにしましたうまくいかない...
ここで私はうまくいく方法を見つけました-ありがとうJelmerS :(からの情報 PSexecは提供されたユーザー名とパスワードを使用してマシンに接続していません )
これは、psexecが、別のユーザーとしてコマンドを実行する前に、ローカル資格情報を使用してADMIN $共有にアクセスしようとするためです。このスレッドによると、psexecを実行する前に資格情報をキャッシュできます:cmdkey.exe/add:MACHINE_NAME_HERE/user:MACHINE_NAME_HERE\Administrator/pass:PASSWORD_HERE psexec.exe\MACHINE_NAME_HERE -i notepad cmdkey.exe/delete:MACHINE_NAME_HERE
よろしく、ピーター
Vistaワークステーションで管理者特権のコマンドプロンプトからPSEXECを実行していますか? LocalAccountTokenFilterPolicy = 1を設定しましたか? FAQ:一般的なPSToolsの問題 を参照してください
テストに使用する同様の環境はありませんが、推奨できるのはこれです。クライアントドメインで、再起動する各Webサイトに1つずつ、バッチスクリプト(.bat)を設定します。 (私はそれらを「restart_site-sitename.bat
"。)ドメインごとに1つ作成し、PSExecを含め、そのドメイン内の管理サーバー(ラップトップに何かが起こった場合にすべてを管理できるsysadツールを配置する場所)のディレクトリにすべて保存します。ディレクトリ。
psexec.exe \\(server-alias) C:\Windows\System32\inetsrv\appcmd.exe stop site "WebsiteName"
次に、その管理サーバーに対してpsexecを実行し、代わりにそれらのバッチファイルの1つを呼び出してみます。
"C:\Program Files\PSTools\psexec.exe" \\(server-alias) -u (server-domain)\(domain-admin) -p (password) C:path\to\psexec_and_scripts\restart_site-sitename.bat"