Windows WebサーバーでIIS 6.0を実行しているリモートWebサーバー上のアプリケーションプールを再起動する.NET Webアプリケーションを作成しようとしています。アクセス権の問題。iisアプリケーションプールをリサイクルするネットワークサービスを許可する
string appPoolPath = ConfigurationSettings.AppSettings["ApplicationPool"];
string systemId = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
try
{
DirectoryEntry svc = new DirectoryEntry(appPoolPath);
svc.Invoke("Recycle");
LabelResult.Text = "Application Pool Recycled Succesfully!";
LabelResult.Visible = true;
}
catch(Exception exc)
{
LabelResult.Text = "Error (" + systemId + "): " + exc.Message + " : " + exc.InnerException;
LabelResult.Visible = true;
}
私は、コードを実行すると、私は次のエラーを取得する:
エラー(NT AUTHORITY \ NETWORK SERVICE):例外が呼び出しのターゲットによってスローされました。 :System.UnauthorizedAccessException:アクセスが拒否されました。 (HRESULTからの例外:0x80070005(E_ACCESSDENIED))
私の質問は、どのようにアカウントに完全な管理者権限を与えずにリサイクルを呼び出すためのNETWORK SERVICEアカウントの権限を与えることができますか?出来ますか?
これを解決するもう1つの方法は、サーバー上の既存の管理者の1人を偽装することですが、これを行うことはできません。マシン上でユーザーを作成できず、既存のユーザーアカウントのログイン資格情報を取得できません。