2

アプリケーションを Windows Server 2008 マシンに自動展開するのに役立つアプリケーションを作成しています。このプロセスの一環として、テスト マシンから 2008 サーバーの IIS Web サイトをリモートで開始および停止する必要があります。

私の2008年のマシンの範囲から、私は使用しています:

C:\Windows\System32\inetsrv\appcmd.exe stop site "MyWebsite"

このコマンドは、コマンド プロンプトから実行しただけでは機能しません。返されるエラーは次のとおりです。

エラー (メッセージ: W3SVC サービスが利用できません - 最初にサービスを開始してください。)

ただし、「管理者として実行」でコマンドプロンプトを使用すると、これは機能します。それは素晴らしいことですが、別のマシンからこれを実行できるようにする必要があります。ドメイン アカウント (管理者と見なされる) を使用すると、テスト (非 2008) マシンの観点から、コマンドを実行した PsExec は次のようになります。

"C:\Program Files\PSTools\psexec.exe" \\my2008machine -u domainuser -p password C:\Windows\System32\inetsrv\appcmd.exe stop site "MyWebsite"

PsExec が起動、実行、および終了すると、上記と同じエラーが表示されます。2008 マシンで「管理者として実行」せずにコマンド プロンプトからこのコマンドを実行した場合と同じです。

Windows ファイアウォールがオフになっています。他の場所で提案されているように「LocalAccountTokenFilterPolicy」を設定しましたが、アイデアがありません。これを修正する方法または回避する方法はありますか?

4

2 に答える 2

1

この問題は、ドメイン管理者アカウントを使用して同じドメイン内のマシン間で発生する問題が解決されました(2003 R2-> 2008 R2から)。これは、[ローカルセキュリティポリシー]->[ローカルポリシー]->[セキュリティオプション]でUAC設定を変更することで実現されました。「すべての管理者を管理者承認モードで実行する」設定であり、再起動が必要だったと思います。

ただし、ドメインの境界を越える場合は、まだ未解決の問題があります。同じドメイン管理ユーザーを使用し、2008 R2サーバーをターゲットにすると、PsExecは「アクセス拒否」エラーを返します。

于 2010-08-12T19:07:29.890 に答える
1

ローカル インストール パッケージをサイレント モードで msiexec しようとして同様の問題が発生し (エラー コード 1603 が返されました)、- hフラグを使用して回避できました。ヘルプから:

ターゲット システムが Vista 以降の場合、アカウントの昇格されたトークンを使用してプロセスを実行します (利用可能な場合)。

PsExec v1.98 を使用。ターゲット サーバーは、UAC が有効でファイアウォールが無効になっている Server 2008 R2 のクリーン インストールです。

于 2011-02-03T23:28:28.553 に答える