Я пытаюсь создать скрипт powershell, который запускает процесс с учетной записью системного пользователя.И я хочу использовать зарегистрированное приложение в AAD в качестве этой системной учетной записи пользователя.
Вот код, который я создаю.
$ApplicationId = "My ApplicationID"
$ServicePrincipalSecret = "My Application's secret Key"
$SecurePassword = ConvertTo-SecureString –String $ServicePrincipalSecret –AsPlainText -Force
$Credential = New-Object System.Management.Automation.PsCredential ($ApplicationId, $SecurePassword)
Start-Process -FilePath notepad -Credential $Credential
эта кодовая доза не работает.и вернуть следующее сообщение об ошибке.
Start-Process: эта команда не может быть выполнена из-за ошибки: неверное имя пользователя или пароль.В строке: 1 символ: 1 + Start-Process -FilePath notepad -Credential $ Credential + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: InvalidOperation: (:) [Start-Process], InvalidOperationException + FullyQualifiedErrorId: InvalidOperationException, Microsoft.PowerShell.Commands.StartProcessCommand
Я попробовал следующую команду, чтобы проверить правильность моего $ Credential и успешно подключил Azure.Таким образом, мой объект Credential создан правильно.
Connect-AzureRmAccount -Credential $ Credential -Tenant "Мой идентификатор клиента Azure" -ServicePrincipal
Я также попробовал следующий код.
$psinfo = New-Object System.Diagnostics.ProcessStartInfo
$psinfo.FileName = "notepad"
$psinfo.UserName = $ApplicationId
$psinfo.Password = $SecurePassword
$psinfo.Verb = "runasuser"
$psinfo.UseShellExecute = 0
$psinfo.LoadUserProfile = 0
$ps = New-Object System.Diagnostics.Process
$ps.StartInfo = $psinfo
$ps.Start()
эта кодовая доза тоже не работает.и вернуть следующее сообщение об ошибке.
Исключение, вызывающее «Start» с аргументом (ами) «0»: «Заглушка получила неверные данные» В строке: 1 char: 1 + $ ps.Start ()+ ~~~~~~~~~~~ + CategoryInfo: NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId: Win32Exception
Есть ли хороший способ запустить процесс с учетной записью пользователя, котораяимеет право управлять Azure Active Directory, отличным от пользователя, который фактически запускает сценарий?если кто-нибудь даст мне какой-либо совет будет оценен.
спасибо.