Преобразовать NetworkCredentials в PSCredential?
Можно ли преобразовать NetworkCredentials (или вариант) в PSCredential?
Я хочу прозрачно использовать учетные данные текущего пользователя, но не хочу их запрашивать.
2 ответа
$cred = new-object PSCredential($nc.UserName, (ConvertTo-SecureString $nc.Password -AsPlainText -Force))
[System.Reflection.Assembly]::Load("System.Management.Automation")
$dc = [System.Net.CredentialCache]::DefaultCredentials
$psc = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $dc.UserName, $dc.SecurePassword
Это будет сделано, за исключением того, что учетные данные по умолчанию не установлены для текущего домена приложения, в котором работает PowerShell.
По крайней мере, это иллюстрирует, как вы можете создать PSCredential
от постоянного имени пользователя и пароля. SecureString
всегда облом, но я верю NetworkCredential
предлагает текстовый конструктор, который вы можете использовать, и SecureString
свойство для чтения.