私たちのビジネスで使用されているソフトウェアの一部は、実行するために管理者権限を必要とします。ただし、スタッフは管理者権限を持つアカウントへのアクセスを許可されていません。これは、Windows7環境内にあります。
GPOを介して、必要なコンピューターにローカル管理者アカウントを設定しました。このローカル管理者アカウントとして管理者権限を必要とするソフトウェアを起動するために作成しているソフトウェアの目的。
これまでのところ、ソフトウェアはアカウントとしてソフトウェアを起動しているという点で正しく機能していますが、管理者権限がない場合に発生するエラーが発生しています。ソフトウェアを右クリックしてルーン文字を入力し、アカウントの詳細を手動で入力すると、正常に機能します。
SecureString pwd = new SecureString();
foreach (char c in "somepassword") { pwd.AppendChar(c); }
var psi = new ProcessStartInfo
{
FileName = location,
UserName = "localadminaccountname",
Domain = Environment.MachineName,
Password = pwd,
UseShellExecute = false,
Verb = "runas"
};
try
{
Process.Start(psi);
}
コードにエラーレポートが含まれている例外catchステートメントがあります。Process.Start(psi)が呼び出されたときにスローされる例外はありません。(更新しました)
ありがとう。
編集Windows7 の会社ビルドでは、ユーザーアクセス制御が「通知しない」に設定されているため、Process.Start(psi)が呼び出されたときにUACポップアップは表示されません。