#powershell
Вопрос:
У меня есть сценарий powershell, который запускается от имени администратора, проблема в том, что часть сценария должна запускаться от имени другого стандартного пользователя. Моя идея заключалась в следующем: создать второй скрипт, который будет запускаться внутри первого, с параметрами, позволяющими запускать его от имени другого пользователя
Вот что я попробовал:
$username = 'domainusername'
$password = 'password'
$securePassword = ConvertTo-SecureString $password -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential $username, $securePassword
Start-Process powershell 'C:Softwarescript_executed_as_user.ps1' -Credential $credential
но он выполняется неправильно (без сообщения об ошибке)
у кого-нибудь есть ключ к разгадке ?
Ответ №1:
Путем рефакторинга вашей Start-Process
строки мы можем увидеть сообщение об ошибке:
Start-Process powershell -ArgumentList "-noexit", "-command amp;{C:Softwarescript_executed_as_user.ps1}" -Credential $credential
это открывает новое окно и заставляет его оставаться открытым.
Я получаю окно с сообщением
C:Softwarescript_executed_as_user.ps1 : Термин ‘C:Softwarescript_executed_as_user.ps1″ не распознается как имя командлета, функции, файла сценария или действующей программы. Проверьте правильность написания имени или, если был указан путь, убедитесь, что он правильный, и повторите попытку.
Проблема в том, что вам не хватает на вашем пути:
C:Softwarescript_executed_as_user.ps1
должно быть
C:Softwarescript_executed_as_user.ps1