このスニペットのベースとしてPowershell To Check Local Admin Credentialsを使用しましたが、問題が発生しています。(スレッドジャックしたくなかった)
Add-Type -AssemblyName System.DirectoryServices.AccountManagement
$pc = New-Object System.DirectoryServices.AccountManagement.PrincipalContext('machine',$entry)
if($pc.ValidateCredentials("secretadmin", "secretpassword")){Write-host "good"}else{write-host "bad"}
約 50% の確率で機能します。残りの時間、私はこれを得る
"2" 個の引数を指定して "ValidateCredentials" を呼び出しているときに例外が発生しました: "同じユーザーによる、複数のユーザー名を使用したサーバーまたは共有リソースへの複数の接続は許可されていません。サーバーまたは共有リソースへの以前の接続をすべて切断し、再試行。
ネット使用を使用して資格情報を検証するバッチ スクリプトを思い出します。問題を解決するには、マップされたドライブを削除する必要がありました。認識している保存済みオブジェクトがないため、このログオンをクリアする方法がわかりません。ログオンしているユーザーを確認しましたが、何も表示されませんでした
基本的に、私たちは病院用に何百ものサーバーを構築しており、ポリシーへの準拠を確保する必要があります。これらの資格情報の確認はその一部にすぎませんが、ここで問題が発生します。
どんな助けでも大歓迎です。これらの質問をする前に補足として。資格情報は正しく、スクリプトにハードコードされています。失敗を受け取り、エラーをスローするのと同じ資格情報を使用して RDP および psexec 経由ですぐにログオンできます。ファイアウォールは、ホストから宛先へのすべてを許可します。