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

FRZ 15-11-2011 11:40 1795467

Как проверить что локальная учетка существует?
 
Сделал скрипт, который создает локальную учетку админа
Код:

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 1795480

Пример самого простого способа:
Код:

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 1795639

DmitriiV, Спасибо, все работает!


Время: 18:21.

Время: 18:21.
© OSzone.net 2001-