使用VBS脚本显示域中所有用户信息

使用VBS脚本显示域中所有用户信息

  • 背景
  • 制作VBS脚本
    • 保存下面的VBS程序代码到Txt文件中
    • 修改下列代码中的域名为您自己的域名。
    • 修改txt文件后缀为vbs
    • 在域中的任何一台计算机的CMD窗口中运行此脚本
    • 如果要输出到文本文件请运行下降代码。

使用VBS脚本显示域中所有用户ID、用户名、状态、创建时间、过期时间、描述

背景

假设我有一个Windows域,名为mydomain.com。现在到导出这个域中的所有计算机名和计算机账号创建时间。

制作VBS脚本

保存下面的VBS程序代码到Txt文件中

On Error Resume Next

Const ADS_SCOPE_SUBTREE = 2

Set objConnection = CreateObject("ADODB.Connection")
Set objCommand =   CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection

objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE 

objCommand.CommandText = _
    "SELECT sAMAccountName,userAccountControl,distinguishedName FROM 'LDAP://dc=mydomain,dc=com' WHERE objectCategory='user'"
Set objRecordSet = objCommand.Execute

objRecordSet.MoveFirst
Do Until objRecordSet.EOF
    Set objUser = GetObject("LDAP://" & objRecordSet.Fields("distinguishedName").Value)
    'Wscript.Echo objRecordSet.Fields("sAMAccountName").Value & "," & objRecordSet.Fields("distinguishedName").Value  'objUser.WhenChanged 

    dtmAccountExpiration = objUser.AccountExpirationDate
    If dtmAccountExpiration = "1601-1-1 8:00:00" Then
       dtmAccountExpiration = "1970-1-1"
    End If

    If objUser.AccountDisabled = FALSE Then
         WScript.Echo objUser.sAMAccountName & "," & objUser.displayName &  ",enabled," & objUser.WhenCreated & "," & dtmAccountExpiration & "," & objUser.description  'WhenChanged
    else
         WScript.Echo objUser.sAMAccountName & "," & objUser.displayName & ",disabled," & objUser.WhenCreated & "," & dtmAccountExpiration & "," & objUser.description 'WhenCreated
    End If
    objRecordSet.MoveNext
Loop

假设保存的txt文件名为displayUser.txt

修改下列代码中的域名为您自己的域名。

objCommand.CommandText = "Select Name, Location from 'LDAP://DC=mydomain,DC=com' Where objectClass='computer'"

修改txt文件后缀为vbs

即将displayUser.txt改为displayUser.vbs。如果不显示后最请修改资源管理器设置,让其显示已知文件扩展名。

在域中的任何一台计算机的CMD窗口中运行此脚本

cscript c:\displayUser.vbs

注意不要直接双击此vbs文件,否则会一直弹提示窗,直到所有计算机都显示一遍。或只能通过结束任务的方式结束。

如果要输出到文本文件请运行下面的代码。

cscript c:\displayUser.vbs >c:\myDomainUsers.txt

(0)

相关推荐