Как переключить текущего пользователя с помощью powershell?

Моя задача - создать нового локального пользователя Windows, войти в систему, используя его, а затем выполнить некоторые действия. Создание нового пользователя не было проблемой, но я не знаю, как переключить текущего пользователя на нового.

То, что я сделал, это кусок скрипта, который запускает новое окно powershell, используя нового пользователя:

$secpasswd = ConvertTo-SecureString $password -AsPlainText -Force
$mycreds = New-Object System.Management.Automation.PSCredential ($config_name, $secpasswd)
Start-Process powershell.exe -Credential $mycreds -NoNewWindow

Можно ли начать делать остальную часть сценария в этом новом окне?

1 ответ

Простой способ заключается в следующем:

  1. Создать скрипт (назовем его init.ps1)
  2. Добавьте в него все действия, которые вы хотите вызвать для пользователя.
  3. Добавить право на выполнение этого сценария в $ config_name
  4. Измените последнюю строку на (-noexit только для отладки, без нее powershell закроет окно после завершения выполнения):

    Запуск-процесс powershell.exe -Credential $mycreds -NoNewWindow -ArgumentList "-noexit -command FULL_PATH_TO_SCRIPT\init.ps1"

Более сложный способ - установить WinRM и использовать команды с Enter-PSSession (примеры приведены в конце этой ссылки: http://technet.microsoft.com/en-us/library/hh849707.aspx).

Другие вопросы по тегам