Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Создание и настройка пользователя из консоли (http://forum.oszone.net/showthread.php?t=321973)

vcrank 23-12-2016 09:11 2697836

Создание и настройка пользователя из консоли
 
В организации имеется Windows Server 2012R2
Не в домене
Иногда надо заводить и настраивать новых пользователей, а именно:
1. Создать пользователя
2. Перенести его в группу Пользователи удаленного рабочего стола
3. Запретить смени и установить неограниченный срок действия пароля
4. На вкладке "Среда" прописать запускаемую программу и её рабочий каталог

Хочется это дело автоматизировать, но пока смог разобраться только с парой пунктов:
1. net user "пользователь" "пароль" /add
2. net localgroup "Пользователи удаленного рабочего стола" "пользователь" /add
2.1. net localgroup "Пользователи" "пользователь" /delete

С 3 пунктом может быть смогу доразбираться, а вот по п.4 информации не нашёл

Iska 23-12-2016 09:15 2697840

PowerShell.

vcrank 23-12-2016 09:23 2697842

Цитата:

Цитата Iska
PowerShell »

Изначально я пробовал нагуглить именно по PS, но везде даются команды для домена

Iska 23-12-2016 10:27 2697856

Код:

$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. Так что — а вдруг?!

Казбек 23-12-2016 11:02 2697866

vcrank,

PowerShell script to create local user accounts or local groups

vcrank 23-12-2016 11:48 2697877

Вложений: 1
  • 123.jpg (96.40 KB, скачиваний: 19)
Цитата:

Цитата Iska
Как найдёте эту вкладку — отпишитесь »


Iska 23-12-2016 14:33 2697916

Что ж, попробуйте:
Код:

$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.

Время: 22:33.
© OSzone.net 2001-