Войти

Показать полную графическую версию : [решено] Как проверить что локальная учетка существует?


FRZ
15-11-2011, 11:40
Сделал скрипт, который создает локальную учетку админа
Set objNetwork = CreateObject("WScript.Network")
strComputer = objNetwork.ComputerName

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

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

Const ADS_UF_DONT_EXPIRE_PASSWD = &h10000
UserFlags = objUser.Get("UserFlags")
objPasswordExpirationFlag = UserFlags OR ADS_UF_DONT_EXPIRE_PASSWD
objUser.Put "userFlags", objPasswordExpirationFlag
objUser.SetInfo
И теперь у меня каждый раз при запуске выдается окно что учетка уже существует. Вопрос: как вставить проверку что учетка существует и не пытаться создавать заново?

DmitriiV
15-11-2011, 12:00
Пример самого простого способа:

On Error Resume Next
Set objUser = GetObject("WinNT://" & strComputer & "/username,user")
If Err.Number <> 0 Then
Err.Clear
'WScript.Echo "Учётка не существует. Надо создавать."
'дальнейший код
End If
On Error GoTo 0

FRZ
15-11-2011, 15:46
DmitriiV, Спасибо, все работает!




© OSzone.net 2001-2012