Создание и настройка пользователя из консоли
В организации имеется Windows Server 2012R2
Не в домене
Иногда надо заводить и настраивать новых пользователей, а именно:
1. Создать пользователя
2. Перенести его в группу Пользователи удаленного рабочего стола
3. Запретить смени и установить неограниченный срок действия пароля
4. На вкладке "Среда" прописать запускаемую программу и её рабочий каталог
Хочется это дело автоматизировать, но пока смог разобраться только с парой пунктов:
1. net user "пользователь" "пароль" /add
2. net localgroup "Пользователи удаленного рабочего стола" "пользователь" /add
2.1. net localgroup "Пользователи" "пользователь" /delete
С 3 пунктом может быть смогу доразбираться, а вот по п.4 информации не нашёл
|
Изначально я пробовал нагуглить именно по PS, но везде даются команды для домена
|
Код:
$oIADsComputer = [System.DirectoryServices.DirectoryEntry]"WinNT://ComputerName,computer"
$oIADsUser = $oIADsComputer.Create('user', 'Иванов')
$oIADsUser.SetPassword("111")
$oIADsUser.SetInfo()
$oIADsUser.FullName = 'Иванов Иван Иванович'
#$oIADsUser.Profile = 'C:\Test' # Так, это Вам не нужно…
$oIADsUser.Put("UserFlags", $oIADsUser.Get("UserFlags") -bor 0x10040)
$oIADsUser.SetInfo()
$oIADsGroup = [System.DirectoryServices.DirectoryEntry]"WinNT://ComputerName/Пользователи удаленного рабочего стола,group"
$oIADsGroup.Add($oIADsUser.Path)
По поводу же:
Цитата:
Цитата vcrank
4. На вкладке "Среда" прописать запускаемую программу и её рабочий каталог »
|
Как найдёте эту вкладку — отпишитесь, добавим заполнение свойств TerminalServicesInitialProgram и TerminalServicesWorkDirectory. Я лично не видел таких свойств у локальных пользователей. С другой стороны — я не видел и Windows Server 2012R2. Как и Windows Server 2012. Так что — а вдруг?!
|
Вложений: 1
Цитата:
Цитата Iska
Как найдёте эту вкладку — отпишитесь »
|
|
Что ж, попробуйте:
Код:
$oIADsComputer = [System.DirectoryServices.DirectoryEntry]'WinNT://ComputerName,computer'
$oIADsUser = $oIADsComputer.Create('user', 'Иванов')
$oIADsUser.SetPassword('111')
$oIADsUser.SetInfo()
$oIADsUser.FullName = 'Иванов Иван Иванович'
$oIADsUser.Put('UserFlags', $oIADsUser.Get('UserFlags') -bor 0x10040)
$oIADsUser.PSBase.InvokeSet('TerminalServicesInitialProgram', 'c:\Windows\System32\notepad.exe')
$oIADsUser.PSBase.InvokeSet('TerminalServicesWorkDirectory', 'c:\Windows\System32')
$oIADsUser.SetInfo()
$oIADsGroup = [System.DirectoryServices.DirectoryEntry]'WinNT://ComputerName/Пользователи удаленного рабочего стола,group'
$oIADsGroup.Add($oIADsUser.Path)
|
Время: 22:33.
© OSzone.net 2001-