特定のものを処理するために管理者入力が必要なスクリプトを実行しようとしています。スクリプトをうまく実行させるのではなく、エラーをトラップしてクレデンシャルに戻そうとしていますが、ローカル管理者のクレデンシャルをトラップに渡すことはできません。誰も働くかもしれない何かを持っていますか?Powershellローカル管理者の資格情報を確認する
ドメイン資格情報を確認するMANYが見つかりましたが、これはローカル管理者アカウントです。明確にするために
、私が使用しています:
$Cred = Get-Credential
を私はそれからの出力を確認する必要が正しく、スクリプト内でさらに下のものを実行するための管理者アクセス権を持っています。
作業溶液(User978511のおかげで)
$Cred = Get-Credential
$Computer = (gwmi Win32_ComputerSystem).Name
$User = $Cred.Username
$Pass = $Cred.GetNetworkCredential().Password
$Users = ("$Computer"+"$User")
Add-Type -assemblyname System.DirectoryServices.AccountManagement
$DS = New-Object System.DirectoryServices.AccountManagement.PrincipalContext([System.DirectoryServices.AccountManagement.ContextType]::Machine)
$DS.ValidateCredentials($Users, $pass)
if ($Result -ne "True")
{
<Perform Tasks Here>
}
ありがとう、それは非常に便利ですが、私はアカウントを確認する必要があります。私をreexplainてみましょう: 私は次のように使用しています: '$クレド=は、Get-Credential' 私が何を入力することは有効であり、タスクの残りの部分を実行するための管理者権限を持っているだろうことを確認します。 – Steve
@Steve私のアップデートを参照 –
ユーザー名とパスワードを入力していただきありがとうございます。 $ Credからこれらのフィールドに情報を引き出すことができるようになりました。 – Steve