|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка Windows 2000/XP/2003 » [решено] Переименование существующего пользователя из командной строки |
|
[решено] Переименование существующего пользователя из командной строки
|
Новый участник Сообщения: 20 |
Профиль | Отправить PM | Цитировать Ну, собственно как?
Задача такая. Есть образ, он раскатывается с сервака Acronis SD на несколько компов. Там(в имидже) уже существет пользователь "User" с паролем "123", оставлен был потому, что к нему привязано несколько специфичных кривых софтинок и возиться с тем что, куда и сколько они пишут и почему только под юзера никто не хотел. SID при первой загрузке меняется. Дальше стоит задача "батником" переименовать этого юзера в заданное имя и сменить пароль на новый. Порылся тщательно, простите, если пропустил и не увидел, но нашел инфу по созданию юзеров из командной строки, а по переименованию существующих и замене им пароля не нашел. Подскажите решение или ткните носом в ссылку, если пропустил. Заранее всем спасибо. |
|
Отправлено: 01:58, 04-12-2006 |
(*.*) Сообщения: 36544
|
Профиль | Сайт | Отправить PM | Цитировать Aushkin
Цитата:
Цитата:
|
||
------- Отправлено: 03:49, 04-12-2006 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 20
|
Профиль | Отправить PM | Цитировать Большое спасибо!
|
Отправлено: 18:58, 04-12-2006 | #3 |
Новый участник Сообщения: 20
|
Профиль | Отправить PM | Цитировать Создал в Acronis SnapDeploy темплейт, после раскатки образа на целевую машину на неё в %WINDIR% копируются нужные файлы и запускается батник.
Утилитка отрабатывает но не дает акронису перезагрузить машину после смены SID, кроме того, после ребута в документс энд сетингс обнаруживается дополнительная юзерская директория NewUser, а в панеле управления в управлении юзерами имя пользователя вообще остаётся прежним, хотя вход в систему осуществляется уже с новым логином и паролем. при этом и отдельного юзера NewUser тоже не создано. Вот такая вот странная работа. Со второй утилиткой она тоже отрабатывает и тоже не даёт акронису после смены SID ребутнуться автоматом. После принудительного ребута дополнительной юзерской директории в документс энд сетингс нет, вход в систему так же с новым именем и паролем, но опять таки в панели управления в управлении юзерами имя пользователя так и остаётся User. Либо я что-то делаю не так, либо утилитки не полностью работоспособны под XP SP2 и первая делает не всё и не так, вторая ближе к теме, но тоже явно не всё и не везде, где нужно. |
Отправлено: 01:08, 05-12-2006 | #4 |
(*.*) Сообщения: 36544
|
Профиль | Сайт | Отправить PM | Цитировать Aushkin
Тогда не проще ли скопировать профиль NewUser в Default User, NewUser сразу удалить? |
|
Отправлено: 11:46, 05-12-2006 | #5 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Aushkin...
испытай тогда еще вариант средствами AutoIT-скрипта, вроде работает (не забудь скомпилировать в EXE): ; Переименование и смена пароля локального пользователя. ; Использование: ; AutoIT3.Exe LUserRen.Au3 OldUser NewUser [Password] ; LUserRen.Exe OldUser NewUser [Password] Select Case $CmdLine[0] = 2 If _NetUserRename ($CmdLine[1], $CmdLine[2]) Then Exit (@error) Case $CmdLine[0] = 3 If _NetUserSetPassword ($CmdLine[1], $CmdLine[3]) Then Exit (@error) If _NetUserRename ($CmdLine[1], $CmdLine[2]) Then Exit (@error) Case Else MsgBox (16, 'Ошибка', "Недопустимое количество параметров") EndSelect ; API-реализация функции переименования локального пользователя Func _NetUserRename ($sOldUser, $sNewUser, $sServer = "") Local $ret, $uBUF = DllStructCreate ("ptr") Local $iCParLen = StringLen ($sNewUser)+1, $iWParLen = BitShift ($iCParLen, -1) Local $uWPar = DllStructCreate ("byte[" & $iWParLen & "]") $ret = DllCall ("kernel32.dll", "int", "MultiByteToWideChar", _ "int", 0, _ "int", 0, _ "str", $sNewUser, _ "int", $iCParLen, _ "ptr", DllStructGetPtr ($uWPar, 1), _ "int", $iWParLen) DllStructSetData ($uBUF, 1, DllStructGetPtr ($uWPar, 1)) $ret = DllCall ("netapi32.dll", "int", "NetUserSetInfo", _ "wstr", $sServer, _ "wstr", $sOldUser, _ "int", 0, _ "ptr", DllStructGetPtr ($uBUF), _ "ptr", 0 ) If $ret[0] Then SetError ($ret [0]) Return -1 Else Return 0 EndIf EndFunc ; API-реализация функции смены пароля локального пользователя Func _NetUserSetPassword ($sUser, $sPassword, $sServer = "") Local $ret, $uBUF = DllStructCreate ("ptr") Local $iCParLen = StringLen ($sPassword)+1, $iWParLen = BitShift ($iCParLen, -1) Local $uWPar = DllStructCreate ("byte[" & $iWParLen & "]") $ret = DllCall ("kernel32.dll", "int", "MultiByteToWideChar", _ "int", 0, _ "int", 0, _ "str", $sPassword, _ "int", $iCParLen, _ "ptr", DllStructGetPtr ($uWPar, 1), _ "int", $iWParLen) DllStructSetData ($uBUF, 1, DllStructGetPtr ($uWPar, 1)) $ret = DllCall ("netapi32.dll", "int", "NetUserSetInfo", _ "wstr", $sServer, _ "wstr", $sUser, _ "int", 1003, _ "ptr", DllStructGetPtr ($uBUF), _ "ptr", 0 ) If $ret[0] Then SetError ($ret [0]) Return -1 Else Return 0 EndIf EndFunc |
Отправлено: 11:53, 05-12-2006 | #6 |
Новый участник Сообщения: 20
|
Профиль | Отправить PM | Цитировать Цитата:
|
|
Отправлено: 17:25, 05-12-2006 | #7 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Любой язык - [решено] Завершение программы из командной строки | Severny | Скриптовые языки администрирования Windows | 13 | 21-04-2013 20:50 | |
CMD/BAT - [решено] архиватор 7z и командной строки | Daemon.XP | Скриптовые языки администрирования Windows | 4 | 15-07-2009 11:40 | |
Службы - [решено] network down из командной строки | Daemon.XP | Microsoft Windows 2000/XP | 3 | 02-03-2009 21:59 | |
[решено] Создание e-mail для существующего пользователя | Delirium | Microsoft Exchange Server | 2 | 06-06-2008 03:45 | |
[решено] Утилиты командной строки | kapitanvagin | Программное обеспечение Windows | 1 | 28-03-2008 22:56 |
|