Любой язык - Проблема при создании юзера из командной строки

Ответить
Аватара пользователя
BACbOK

Любой язык - Проблема при создании юзера из командной строки

Сообщение BACbOK »

Народ, помогите, плз, советом. Ситуация такая:

На многих машинах (Windows 2000 SP4, WindowsXP SP2/3) надо создать, допустим, по 30 юзеров.

Решил написать для этого скрипт.

Содержание скрипта таково:



Код:

Код: Выделить всё

net user bacbok passwd /add /expires:never /passwordchg:no
net localgroup Administrators /add bacbok
net localgroup Users /delete bacbok

Но мне надо ещё в свойствах учётной записи юзера добавить home directory, а как это сделать?

Добавить Local path (/homedir:path) я могу, но это мне не надо,

мне надо добавить именно Connect, присвоить ему именно букву диска F: и прописать именно такой путь - \\server\bacbok







Ну и ещё /expires:never не работает, видел на просторах Интернета, что вместо этой команды люди используют



Код:

Код: Выделить всё

net accounts /maxpwage:unlimited

как по-вашему правильнее реализовать всё это?
Аватара пользователя
Petya V4sechkin

Re: Любой язык - Проблема при создании юзера из командной строки

Сообщение Petya V4sechkin »

BACbOK, есть консольная утилита
Cusrmgr.exe
и соответствующие опции -h и -H



Также можно сделать VBS-скриптом

WinNT Custom User Properties
Аватара пользователя
Iska

Re: Любой язык - Проблема при создании юзера из командной строки

Сообщение Iska »

BACbOK, попробуйте так:



Код:

Код: Выделить всё

Option Explicit
Const ADS_UF_PASSWD_CANT_CHANGE = &H00000040
Const ADS_UF_DONT_EXPIRE_PASSWD = &H00010000
Dim strComputer
Dim objIADsComputer
Dim strUser
For Each strComputer In Array("Machine01", "Machine02", "MachineN")
	Set objIADsComputer = GetObject("WinNT://" & strComputer & ",computer")
	For Each strUser In Array("User01", "User02", "UserN")
		With objIADsComputer.Create("user", strUser)
			.SetPassword "Some Password"
			.Put "userFlags",     CLng(ADS_UF_DONT_EXPIRE_PASSWD Or ADS_UF_PASSWD_CANT_CHANGE)
			.Put "HomeDirDrive",  "F:"
			.Put "HomeDirectory", "\\server\bacbok"
			.SetInfo
			objIADsComputer.GetObject("group","Administrators").Add(.ADsPath)
		End With
	Next
	Set objIADsComputer = Nothing
Next
WScript.Quit 0

Правда, зачем всех созданных пользователей в «Администраторы» добавлять — мне лично непонятно.
Аватара пользователя
BACbOK

Re: Любой язык - Проблема при создании юзера из командной строки

Сообщение BACbOK »

Iska, "Administrators", это я так, для примера написал.

У меня есть несколько групп разделенных в правах как надо. Изображение

З.Ы. А за скрипт спасибо.
Ответить

Вернуться в «Скриптовые языки администрирования Windows»