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

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Автоматическая установка Windows 2000/XP/2003 (http://forum.oszone.net/forumdisplay.php?f=32)
-   -   [решено] CMD: net user /add (http://forum.oszone.net/showthread.php?t=94968)

voler 28-11-2007 08:30 686434

CMD: net user /add
 
Сталкнулся с проблемой.

есть команда net user vasya 123456 /add /y
и net group администраторы vasya /add
добавляет пользователя vasya с паролем 123456 /y - это отвечаем, да полезно когда пароль длинее 10 знаков.

Проьблема возникает при добавлении пользователя(ей) в группу администраторы, код ошибки такая группа не существует.
Но это группа, есть пишу все в кодировке ANSII.

Есть вариант добавить пользователей, и срузу добавить их в группу на vbs?
sad

d petr 28-11-2007 10:14 686483

voler, надо писать net localgroup администраторы vasya /add. Почему тема в автоматической установке???

voler 28-11-2007 10:49 686510

Пордон не верно указал net localgroup так и делал!

dimich22 28-11-2007 12:06 686571

На vbs можно, например, так:
Код:

strComputer = "compname"
Set colAccounts = GetObject("WinNT://" & strComputer & "")
Set objUser = colAccounts.Create("user", "Admin")
objUser.SetPassword "password"
objUser.SetInfo

Set objGroup = GetObject("WinNT://" & strComputer & "/Администраторы,group")

Set objUser = GetObject("WinNT://" & strComputer & "/Admin,user")
objGroup.Add(objUser.ADsPath)


voler 28-11-2007 12:37 686591

strComputer = "compname" - это имя компьютера ".", т.е. текущий комп.
Set colAccounts = GetObject("WinNT://" & strComputer & "")
Set objUser = colAccounts.Create("user", "Admin") - создадим пользователя Admin
objUser.SetPassword "password" - пароль.
objUser.SetInfo

Set objGroup = GetObject("WinNT://" & strComputer & "/Администраторы,group") - полчуеам группу администраторы.

Set objUser = GetObject("WinNT://" & strComputer & "/Admin,user")
Цитата:

objGroup.Add(objUser.ADsPath) - Это для домена?

samsobi 28-11-2007 12:41 686594

Цитата:

Цитата voler
пишу все в кодировке ANSII. »

А ведь вроде как нужно в DOS866 кодировке. 8-))) Попробуй...

dimich22 28-11-2007 12:44 686597

Нет. Скрипт для создания локального пользователя и помещения его в локальную группу.

voler 28-11-2007 13:26 686630

Ошибка.
Цитата:

Cцeнapий: J:\scripts\vbs\Paбoчиe cкpипты\user add.vbs
Cтpoкa: 10
Cимвoл: 1
Oшибкa: He yдaлocь дoбaвить или yдaлить члeнa лoкaльнoй гpyппы, тaк кaк oн нe cyщecтвyeт.
Кoд: 8007056B
Иcтoчник: (null)
Сам скрипт.
Цитата:

strComputer = "."
Set colAccounts = GetObject("WinNT://" & strComputer & "")
Set objUser = colAccounts.Create("user", "Admin")
objUser.SetPassword "123456789"
objUser.SetInfo

Set objGroup = GetObject("WinNT://" & strComputer & "/Администраторы,group")

Set objUser = GetObject("WinNT://" & strComputer & "/Admin,user")
objGroup.Add(objUser.ADsPath)
Пользователь создается.

dimich22 28-11-2007 14:26 686671

voler, если вместо "." использовать имя компьютера напрямую, то все работает.

Попробуй тогда вместо первой строки
Код:

Set objNetwork = CreateObject("WScript.Network")
strComputer = objNetwork.ComputerName

Set objComputer = GetObject("winmgmts:{impersonationLevel=Impersonate}!\\" & _
strComputer & "\root\cimv2:Win32_ComputerSystem.Name='" & _
strComputer & "'")


voler 28-11-2007 16:12 686729

А как можно сразу, запретить смену пароля для пользователя и срок действия не ограниченно?
/expires:never
/passwordchg:no

dimich22 28-11-2007 17:05 686752

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

Const ADS_UF_DONT_EXPIRE_PASSWD = &h10000
 
objUserFlags = objUser.Get("UserFlags")
objPasswordExpirationFlag = objUserFlags OR ADS_UF_DONT_EXPIRE_PASSWD
objUser.Put "userFlags", objPasswordExpirationFlag
objUser.SetInfo

А если пользователи в группе администраторов, то смысла в галке "Запретить пользователю менять пароль" нет.

voler 29-11-2007 07:50 687005

Спасибо. Учту.

s127d 30-11-2007 07:49 687605

У меня при установке Win2k отрабатывает такой файлик user.cmd

Цитата:

net user Malchik 123456 /add
net localgroup Администраторы Malchik /add
cusrmgr.exe -u Malchik +s PasswordNeverExpires
Кодировка, естес-но DOS

Проблем не наблюдается
:)

Freezet 09-12-2007 14:29 693782

а как сделать чтоб созданый пользователь не отображался в Учетные записи пользователей ? возможно ли это?

Использую способ
Код:

Set objNetwork = CreateObject("WScript.Network")
strComputer = objNetwork.ComputerName

Set objComputer = GetObject("winmgmts:{impersonationLevel=Impersonate}!\\" & _
strComputer & "\root\cimv2:Win32_ComputerSystem.Name='" & _
strComputer & "'")
Set colAccounts = GetObject("WinNT://" & strComputer & "")
Set objUser = colAccounts.Create("user", "test")
objUser.SetPassword "password"
objUser.SetInfo

Set objGroup = GetObject("WinNT://" & strComputer & "/Администраторы,group")

Set objUser = GetObject("WinNT://" & strComputer & "/test,user")
objGroup.Add(objUser.ADsPath)


s127d 09-12-2007 18:01 693847

Как-то сложно это на VB...
Не проще ли такой файлик в XP импортировать:
Код:

REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList]
"Malchik"=dword:00000000

Правда, в таком случае пользователь не будет отображаться на "Экране приветствия" и в "Панель управления" - "Учетные записи пользователей", зато его можно найти через "Управление"- "Локальные пользователи и группы" - "Пользователи" (Но кто туда из простых смертных заглядывает ;) ).

Freezet 09-12-2007 19:11 693890

в таком случаи на комп нельзя попасть через telnet

s127d 10-12-2007 17:09 694488

Цитата:

Цитата Freezet
в таком случаи на комп нельзя попасть через telnet »

Здесь - пасс...
Ибо возможность коннектиться через telnet сразу отключаю.

Smeloch 24-05-2010 11:48 1419825

Спасибо за скрипт

Цитата:

Цитата voler
strComputer = "."
Set colAccounts = GetObject("WinNT://" & strComputer & "")
Set objUser = colAccounts.Create("user", "Admin")
objUser.SetPassword "123456789"
objUser.SetInfo
Set objGroup = GetObject("WinNT://" & strComputer & "/Администраторы,group")
Set objUser = GetObject("WinNT://" & strComputer & "/Admin,user")
objGroup.Add(objUser.ADsPath) »

все работает, подскажите пожалуйста как его интегрировать в MDT 2008???

kiborg85 01-10-2013 18:42 2226913

Цитата:

Цитата Smeloch
strComputer = "."
Set colAccounts = GetObject("WinNT://" & strComputer & "")
Set objUser = colAccounts.Create("user", "Admin")
objUser.SetPassword "123456789"
objUser.SetInfo
Set objGroup = GetObject("WinNT://" & strComputer & "/Администраторы,group")
Set objUser = GetObject("WinNT://" & strComputer & "/Admin,user")
objGroup.Add(objUser.ADsPath) » »

А зачем пользоваться скриптом для создания одного пользователя?
Помоему логичто было бы пользоваться подобным скриптом, для автоматического создания, к примеру, терминальных пользователей... Они, естественно, не должны быть админами... А иногда должны быть в двух или более групах.. (я не понял как этим скриптом добавить этого нового пользователя в две группы).
И что самое интересное, хотелось бы ещё этому новому пользователю выставить параметр "При входе в систему запускать следующую программу", вида "c:\паппк\Программа параметр1 /параметр2 /параметр3"


Время: 12:04.

Время: 12:04.
© OSzone.net 2001-