Компьютерный форум 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=240349)

BACbOK 10-08-2012 13:55 1968034

Проблема при создании юзера из командной строки
 
Народ, помогите, плз, советом. Ситуация такая:
На многих машинах (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 10-08-2012 16:22 1968134

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

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

Iska 10-08-2012 17:15 1968152

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 10-08-2012 23:07 1968324

Iska, "Administrators", это я так, для примера написал.
У меня есть несколько групп разделенных в правах как надо. :)
З.Ы. А за скрипт спасибо.


Время: 01:48.

Время: 01:48.
© OSzone.net 2001-