Я пишу скрипт для запуска MSTSC из сетки кнопок. Эти кнопки будут открывать другое соединение с сервером. У меня есть отдельная кнопка, которая получает и хранит админы администратора, которые я заимствовал из другого скрипта. При нажатии на кнопку вызывает getAdmin
функцию:Проблема с удаленным RDP-скриптом для работы
function getAdmin {
$returnObject = $null; $credValid = $null;
$cred = Get-Credential #Read credentials
$username = $cred.username
$password = $cred.GetNetworkCredential().password
$CurrentDomain = "LDAP://" + ([ADSI]"").distinguishedName
$domain = New-Object System.DirectoryServices.DirectoryEntry($CurrentDomain,$UserName,$Password)
if ($domain.name -eq $null)
{
$credValid = $false
$cred = $null
} else {
$credValid = $true
}
$returnobject = new-object psobject -property @{ Valid = $credValid; Credentials = $cred }
return $returnObject }
Тогда у меня есть мои «кнопки сервера:»
$btnServ = new-object system.windows.forms.button
$btnServ.location = new-object system.drawing.point (10,200)
$btnServ.text = "Server Name (SERVER)"
$btnServ.width=250
$btnServ.height = 30
$btnServ.add_click({ Start-Process mstsc -ArgumentList "/v:SERVER" -Credential $cred })
Теперь, когда я храню кредитки, используя свою первую кнопку, а затем я нажимаю кнопку btnServ
, он по-прежнему запрашивает меня для «запроса учетных данных Windows PowerShell» вместо того, чтобы захватить сохраненные кредиты из предыдущего действия. Если я удалю -Credential $cred
из звонка, нажимаю ли я на первую кнопку getAdmin
или нет, он просто говорит, что моя попытка входа в систему завершилась неудачно и я предоставил неверную информацию.
В идеале, я хочу сохранить свои кредитные карточки, то независимо от того, какая кнопка сервера я нажимаю, он будет вводить меня в систему вместо того, чтобы делать мой тип в моих кредитах дважды.
Где вы звоните 'getAdmin'? У вас есть строка где-то, которая заполняет '$ cred'? Функция возвращает объект с свойством Credentials. Я бы ожидал чего-то подобного в вашем коде. '$ cred = (getAdmin) .Credentials' внутри if, если бы он проверял, были ли они' .Valid' или нет. – Matt