set cn=CreateObject("ADODB.Connection") set cmd=CreateObject("ADODB.Command") cn.Provider="ADsDSOObject" cn.Open "Active Directory Provider" set cmd.ActiveConnection=cn  SQL    Active directory     "Computer" cmd.CommandText="SELECT * FROM 'LDAP://DC=***,DC=ru' WHERE objectClass='Computer'" set objRecordSet=cmd.Execute on error resume next do while Not objRecordSet.Eof set objComputer=GetObject(objRecordSet("adspath")) '    ,       '   ,    if(inSTR(1,objComputer.distinguishedName,"OU=Garbage",vbTextCompare) = 0)then wscript.echo objComputer.CN '        end if objRecordSet.MoveNext Loop   set oShell=Wscript.CreateObject("wscript.shell") set re=new regexp '   MAC  re.Pattern = "[0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2}" '    ComputerNetworkName       AD set oExec=oShell.Exec("nbtstat -a" & ComputerNetworkName) for each obj in re.execute(oExec.StdOut.ReadAll) GetData=obj.value next   set oShell=Wscript.CreateObject("wscript.shell") set re=new regexp '   SID    reg query re.Pattern = "S-\d+-\d+-\d+-\d+-\d+-\d+-\d+" '    ComputerNetworkName       AD set oExec=oShell.Exec("reg query \\" & iComputerNetworkName&"\HKEY_USERS") for each obj in re.execute(oExec.StdOut.ReadAll) GetData=obj.value next   dim cn,cmd,objRecordSet set cn=CreateOBject("ADODB.Connection") set cmd=CreateObject("ADODB.Command") cn.Provider="ADsDSOObject" cn.Open "Active Directory Provider" set cmd.ActiveConnection=cn ' objSid       . cmd.CommandText="SELECT * FROM 'LDAP://DC=***,DC=ru' where objectClass='User' and objectSid='"& objSid &"' " set objRecordSet=cmd.Execute '      if( not objRecordSet.Eof) then set objUser=GetObject(objRecordSet("adspath")) if(inSTR(1,objUser.distinguishedName,"OU=Garbage",vbTextCompare) = 0)then '    ,      ,   . Wscript.Echo objUser.FirstName &" "& objUser.LastName &" "& objUser.Patronim end if end if Source: https://habr.com/ru/post/147555/
All Articles