この投稿は役に立ちましたが、ローカル管理者アカウントでログオンしてスクリプトから実行しようとしていたため、問題は解決しませんでした。ローカル管理者として機能しないようです(ドメインユーザーとしてログオンした場合のみ)。
しかし、私はついに実用的なソリューションを手に入れることができました。それは非常に面倒だったので、ここでそれを共有すると思ったので、この問題を抱える誰もがここで答えを持っています。ニーズに応じて、1つのページで両方の回答が得られます。
sciptの上位(これはget-credentialsセクションであるため、ここには含まれません)powerguiがインストールされ、以下のこのコードの要件であることに注意してください(「Add-PSSnapin Quest.ActiveRoles.ADManagement」行も同様)。powerguiが何をするのかはわかりませんが、他の誰も私に伝えることができず、動作します。
「domain_name」セクションで独自のドメイン名を置き換えます。
#Get credentials
$credential_ok = 0
while ($credential_ok -ne 1)
{
$credential = get-credential
$result = connect-qadservice -service *domain_name* -credential $credential
[string]$result_string = $result.domain
if ($result_string -eq "*domain_name*")
{
$credential_ok = 1
#authenticated
}
else
{
#failed
}
}
$username = $credential.username
$password = $credential.GetNetworkCredential().password
$date = get-date
Add-Content "c:\lbin\Install_log.txt" "Successfully authenticated XP script as $username $date"
AccountManagement.PrincipalContext.ValidateCredentials()
はないと仮定するのは正しいでしょうか(パスワードにセキュアストリングを提供する場合)?