You are here:
ActiveXperts.com > ActiveXperts Network Monitor > WindowsManagement > Scripts > Other Directory Services > Local Computer and NT4 Accounts > User Accounts
Quicklinks
You can use any of the VBScript programs below in ActiveXperts Network Monitor. Click here for an explanation about how to include scripts in ActiveXperts Network Monitor.
strComputer = "atl-ws-01"
Set objGroup = GetObject("WinNT://" & strComputer & "/Administrators,group")
Set objUser = GetObject("WinNT://" & strComputer & "/kenmyer,user")
objGroup.Add(objUser.ADsPath)
strComputer = "atl-ws-01"
Set objUser = GetObject("WinNT://" & strComputer & "/Administrator, user")
objUser.SetPassword "09iuy%4e"
objUser.SetInfo
strComputer = "atl-ws-01"
Set colAccounts = GetObject("WinNT://" & strComputer & "")
Set objUser = colAccounts.Create("user", "Admin2")
objUser.SetPassword "09iu%4et"
objUser.SetInfo
Set objComputer = CreateObject("Shell.LocalMachine")
objComputer.DisableGuest(0)
strComputer = "atl-ws-01"
Set objUser = GetObject("WinNT://" & strComputer & "/Guest")
objUser.AccountDisabled = True
objUser.SetInfo
strComputer = "atl-ws-01"
strUser = "Admin2"
Set objComputer = GetObject("WinNT://" & strComputer & "")
objComputer.Delete "user", strUser
Set objComputer = CreateObject("Shell.LocalMachine")
objComputer.EnableGuest(1)
On Error Resume Next
Set objDomain = GetObject("WinNT://fabrikam,domain")
objDomain.Filter = Array("User")
For Each objUser In objDomain
If IsNull(objUser.AccountExpirationDate) Then
Wscript.Echo objUser.Name, "Account has no expiration date."
Else
Wscript.Echo objUser.Name, objUser.AccountExpirationDate
End If
Next
Set objDomain = GetObject("WinNT://fabrikam,domain")
objDomain.Filter = Array("User")
For Each objUser In objDomain
Wscript.Echo objUser.Name
Next
On Error Resume Next
strComputer = "atl-win2k-01"
Set objUser = GetObject("WinNT://" & strComputer & "/kenmyer ")
Set objClass = GetObject(objUser.Schema)
WScript.Echo "Mandatory properties for " & objUser.Name & ":"
For Each property in objClass.MandatoryProperties
WScript.Echo property, objUser.Get(property)
Next
WScript.Echo "Optional properties for " & objUser.Name & ":"
For Each property in objClass.OptionalProperties
WScript.Echo property, objUser.Get(property)
Next
Const ADS_UF_SCRIPT = &H0001
Const ADS_UF_ACCOUNTDISABLE = &H0002
Const ADS_UF_HOMEDIR_REQUIRED = &H0008
Const ADS_UF_LOCKOUT = &H0010
Const ADS_UF_PASSWD_NOTREQD = &H0020
Const ADS_UF_PASSWD_CANT_CHANGE = &H0040
Const ADS_UF_ENCRYPTED_TEXT_PASSWORD_ALLOWED = &H0080
Const ADS_UF_DONT_EXPIRE_PASSWD = &H10000
Const ADS_UF_SMARTCARD_REQUIRED = &H40000
Const ADS_UF_PASSWORD_EXPIRED = &H800000
Set usr = GetObject("WinNT://atl-win2k-01/kenmyer")
flag = usr.Get("UserFlags")
If flag AND ADS_UF_SCRIPT Then
Wscript.Echo "Logon script will be executed."
Else
Wscript.Echo "Logon script will not be executed."
End If
If flag AND ADS_UF_ACCOUNTDISABLE Then
Wscript.Echo "Account is disabled."
Else
Wscript.Echo "Account is not disabled."
End If
If flag AND ADS_UF_HOMEDIR_REQUIRED Then
Wscript.Echo "Home directory required."
Else
Wscript.Echo "Home directory not required."
End If
If flag AND ADS_UF_PASSWD_NOTREQD Then
Wscript.Echo "Password not required."
Else
Wscript.Echo "Password required."
End If
If flag AND ADS_PASSWORD_CANT_CHANGE Then
Wscript.Echo "User cannot change password."
Else
Wscript.Echo "User can change password."
End If
If flag AND ADS_UF_ENCRYPTED_TEXT_PASSWORD_ALLOWED Then
Wscript.Echo "Encrypted password allowed."
Else
Wscript.Echo "Encrypted password not allowed."
End If
If flag AND ADS_UF_DONT_EXPIRE_PASSWD Then
Wscript.Echo "Password does not expire."
Else
Wscript.Echo "Password expires."
End If
If flag AND ADS_UF_SMARTCARD_REQUIRED Then
Wscript.Echo "Smartcard required for logon."
Else
Wscript.Echo "Smart card not required for logon."
End If
If flag AND ADS_UF_PASSWORD_EXPIRED Then
Wscript.Echo "Password has expired."
Else
Wscript.Echo "Password has not expired."
End If
On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery _
("Select * from Win32_Group Where LocalAccount = True")
For Each objItem in colItems
Wscript.Echo "Caption: " & objItem.Caption
Wscript.Echo "Description: " & objItem.Description
Wscript.Echo "Domain: " & objItem.Domain
Wscript.Echo "Local Account: " & objItem.LocalAccount
Wscript.Echo "Name: " & objItem.Name
Wscript.Echo "SID: " & objItem.SID
Wscript.Echo "SID Type: " & objItem.SIDType
Wscript.Echo "Status: " & objItem.Status
Wscript.Echo
Next
On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery _
("Select * from Win32_UserAccount Where LocalAccount = True")
For Each objItem in colItems
Wscript.Echo "Account Type: " & objItem.AccountType
Wscript.Echo "Caption: " & objItem.Caption
Wscript.Echo "Description: " & objItem.Description
Wscript.Echo "Disabled: " & objItem.Disabled
Wscript.Echo "Domain: " & objItem.Domain
Wscript.Echo "Full Name: " & objItem.FullName
Wscript.Echo "Local Account: " & objItem.LocalAccount
Wscript.Echo "Lockout: " & objItem.Lockout
Wscript.Echo "Name: " & objItem.Name
Wscript.Echo "Password Changeable: " & objItem.PasswordChangeable
Wscript.Echo "Password Expires: " & objItem.PasswordExpires
Wscript.Echo "Password Required: " & objItem.PasswordRequired
Wscript.Echo "SID: " & objItem.SID
Wscript.Echo "SID Type: " & objItem.SIDType
Wscript.Echo "Status: " & objItem.Status
Wscript.Echo
Next
Set objNetwork = CreateObject("Wscript.Network")
strComputer = objNetwork.ComputerName
Set colAccounts = GetObject("WinNT://" & strComputer & "")
colAccounts.Filter = Array("user")
For Each objUser In colAccounts
Wscript.Echo objUser.Name
Next
strComputer = "atl-win2k-01"
Set objUser = GetObject("WinNT://" & strComputer & "/kenmyer")
objUser.AccountExpirationDate = #03/01/2005#
objUser.SetInfo
Const ADS_UF_DONT_EXPIRE_PASSWD = &h10000
strDomainOrWorkgroup = "Fabrikam"
strComputer = "atl-win2k-01"
strUser = "KenMeyer"
Set objUser = GetObject("WinNT://" & strDomainOrWorkgroup & "/" & _
strComputer & "/" & strUser & ",User")
objUserFlags = objUser.Get("UserFlags")
objPasswordExpirationFlag = objUserFlags OR ADS_UF_DONT_EXPIRE_PASSWD
objUser.Put "userFlags", objPasswordExpirationFlag
objUser.SetInfo
Const ADS_UF_DONT_EXPIRE_PASSWD = &h10000
strComputer = "atl-win2k-01"
Set objUser = GetObject("WinNT://" & strComputer & "/kenmyer")
objUserFlags = objUser.Get("UserFlags")
objPasswordExpirationFlag = objUserFlags OR ADS_UF_DONT_EXPIRE_PASSWD
objUser.Put "userFlags", objPasswordExpirationFlag
objUser.SetInfo
strComputer = "atl-win2k-01"
Set objUser = GetObject("WinNT://" & strComputer & "/kenmyer")
objUser.Put "PasswordExpired", 1
objUser.SetInfo
strUserName = "kenmyer"
Set objDomain = GetObject("WinNT://fabrikam")
objDomain.Filter = Array("user")
intFound = 0
For Each User In objDomain
If lcase(User.Name) = lcase(strUserName) Then
intFound = 1
End If
Next
If intFound = 1 Then
WScript.Echo "The " & strUserName & " account already exists."
Else
WScript.Echo "The " & strUserName & " account does not exist in the domain."
End If