Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


kvitalik, пробуйте (на WSH):
Скрытый текст
Код: Выделить весь код
Option Explicit

Const ADS_UF_DONT_EXPIRE_PASSWD = &H10000
Const HKEY_LOCAL_MACHINE        = &H80000002


Dim strUserName
Dim strComputer

Dim objIADsComputer
Dim objIADsUser

Dim boolUserAlreadyExists


strUserName = "Вася_Пупкин"
strComputer = WScript.CreateObject("WScript.Network").ComputerName


Set objIADsComputer = GetObject("WinNT://" & strComputer & ",computer")
objIADsComputer.Filter = Array("user")

boolUserAlreadyExists = False

For Each objIADsUser In objIADsComputer
	If StrComp(objIADsUser.Name, strUserName, vbTextCompare) = 0 Then
		boolUserAlreadyExists = True
		
		Exit For
	End If
Next

If Not boolUserAlreadyExists Then
	With objIADsComputer.Create("user", strUserName)
		.SetPassword "123456789"
		.SetInfo
		
		GetObject("WinNT://" & strComputer & "/Администраторы,group").Add .ADsPath
		
		.Put "userFlags", .Get("UserFlags") OR ADS_UF_DONT_EXPIRE_PASSWD
		.SetInfo
	End With
Else
	WScript.Echo "User account [" & strUserName & "] already exists."
	WScript.Quit 1
End If

Set objIADsComputer = Nothing

With WScript.CreateObject("WbemScripting.SWbemLocator").ConnectServer(strComputer, "root\default").Get("StdRegProv")
	.CreateKey HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList"
	.SetDWORDValue HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList", strUserName, 0
End With

WScript.Quit 0

и:
Скрытый текст
Код: Выделить весь код
Option Explicit

Const HKEY_LOCAL_MACHINE        = &H80000002


Dim strUserName
Dim strComputer

Dim objIADsComputer
Dim objIADsUser


strUserName = "Вася_Пупкин"
strComputer = WScript.CreateObject("WScript.Network").ComputerName


Set objIADsComputer = GetObject("WinNT://" & strComputer & ",computer")
objIADsComputer.Filter = Array("user")

For Each objIADsUser In objIADsComputer
	If StrComp(objIADsUser.Name, strUserName, vbTextCompare) = 0 Then
		objIADsComputer.Delete "user", strUserName
		
		Exit For
	End If
Next

Set objIADsComputer = Nothing

WScript.CreateObject("WbemScripting.SWbemLocator").ConnectServer(strComputer, "root\default").Get("StdRegProv").DeleteValue _
	HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList", strUserName

WScript.Quit 0

Отправлено: 15:23, 15-03-2020 | #6