昇格された資格情報を使用するには、バイナリコマンドレットを作成しており、PSCredential
パラメータを受け入れたいと考えています。C#コードでPSCredentialsを使用する
[Parameter]
public PSCredential Credential { get; set; }
このためドキュメントの明確な不足があるようです - 私は見つけることができるすべては、私がやりたいものではありませんC#からPowerShellコマンドレットを実行する方法です。
Windowsの偽装を自分で実行しないように、SimpleImpersonation
ナゲットパッケージをダウンロードしました。
using (Impersonation.LogonUser("GLOBAL", "last.first", "mypassword", LogonType.Interactive))
{
foreach (ServerInfo server in Targets)
ProcessRecord();
}
私はSystem.Security.Principal.WindowsIdentity.GetCurrent().Name
をチェックすると、ユーザは正しいですが、私は、コマンドを実行したときに(例えばServerManager.OpenRemote(computerName)
は)私がUnauthorizedAccessException
を受けます。目的のユーザーとして実行されているPowerShellインスタンスからこのコードを実行すると、コマンドレットは完璧に実行されます。
とにかくC#バイナリコマンドレットでPSCredential
を利用する方法の手がかりはありますか?