2013-04-09 3 views
4

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

Что я сделал это часть сценария, который начать новое окно Powershell с помощью нового пользователя:

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

ли можно начать делать остальную часть скрипта в новом окне ??

+0

$ config_name на самом деле является именем пользователя –

ответ

3

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

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

    Start-Process 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)

+0

«3. Добавить execute прямо к этому скрипту в $ config_name "::: где это сделано? Я не вижу $ config_name, упоминаемое где угодно. – JustJohn