|
|
|
|
||||||
![]() |
|
|
LinkBack | Outils de la discussion |
|
|
#1 |
|
Messages: n/a
Hébergeur: |
Gurus,
Is there a script which will report which OU a server resides in, given an Active Directory 2003 domain? -- Spin |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
Hi
Doing a simple find using ADUC will show you where the server is. -- I hope that the information above s you. Have a Nice day. Jorge Silva MCSE, MVP Directory Services Please no e-mails, any questions should be posted in the NewsGroup This posting is provided "AS IS" with no warranties, and confers no rights. "Spin" <Spin@invalid.com> wrote in message news:6l1rooFa4fsnU1@mid.individual.net... > Gurus, > > Is there a script which will report which OU a server resides in, given an > Active Directory 2003 domain? > > -- > Spin > |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
"Jorge Silva" <jorgesilva_pt@hotmail.com> wrote in message
news:0E2E0AEB-3A25-4CC2-877B-FE7BE4F7036C@microsoft.com... > Hi > Doing a simple find using ADUC will show you where the server is. > -- > I hope that the information above s you. > Have a Nice day. > > Jorge Silva > MCSE, MVP Directory Services I need a report dumping the OU membership of all servers, in a spreadsheet sorted by server name alphabetically. |
|
|
|
#4 |
|
Messages: n/a
Hébergeur: |
You can use [ DSQUERY Computer -limit 0 ] put that into excel and modify that
data to suit your needs. "Spin" wrote: > Gurus, > > Is there a script which will report which OU a server resides in, given an > Active Directory 2003 domain? > > -- > Spin > > > |
|
|
|
#5 |
|
Messages: n/a
Hébergeur: |
I find ADFind.exe to be more efficient and produce better output.
If you use the following, you will get a list of the DN of each computer object outputted to CSV format: adfind -b dc=domain,dc=com -f "objectcategory=computer" -dn -csv -nocsvheader >Results.txt If you are looking for computers in a specific OU, called Servers for example, then the following will work too: adfind -b dc=domain,dc=com -f "objectcategory=computer" -incldn Servers -dn >Results.txt -- John Policelli Blog: http://johnpolicelli.wordpress.com This posting is provided "AS IS" with no warranties and confers no rights! Always test before proceeding. "Adrian" wrote: > You can use [ DSQUERY Computer -limit 0 ] put that into excel and modify that > data to suit your needs. > > "Spin" wrote: > > > Gurus, > > > > Is there a script which will report which OU a server resides in, given an > > Active Directory 2003 domain? > > > > -- > > Spin > > > > > > |
|
|
|
#6 |
|
Messages: n/a
Hébergeur: |
"Spin" <Spin@invalid.com> wrote in message news:6l1rooFa4fsnU1@mid.individual.net... > Gurus, > > Is there a script which will report which OU a server resides in, given an > Active Directory 2003 domain? > type this command: dsquery user -samid username /Al |
|
|
|
#7 |
|
Messages: n/a
Hébergeur: |
"Spin" <Spin@invalid.com> wrote in message news:6l1u7fFa3r1tU1@mid.individual.net... > "Jorge Silva" <jorgesilva_pt@hotmail.com> wrote in message > news:0E2E0AEB-3A25-4CC2-877B-FE7BE4F7036C@microsoft.com... >> Hi >> Doing a simple find using ADUC will show you where the server is. >> -- >> I hope that the information above s you. >> Have a Nice day. >> >> Jorge Silva >> MCSE, MVP Directory Services > > I need a report dumping the OU membership of all servers, in a spreadsheet > sorted by server name alphabetically. > > I have an example VBScript program to document all servers in the domain linked here: http://www.rlmueller.net/Enumerate%20Servers.htm The program outputs the Distinguished Name of each machine, which indicates the OU/container the computer resides in. If you run the script at a command prompt with the cscript host, the output can be redirected to a text file. -- Richard Mueller MVP Directory Services Hilltop Lab - http://www.rlmueller.net -- |
|
|
|
#8 |
|
Messages: n/a
Hébergeur: |
"Richard Mueller [MVP]" <rlmueller-nospam@ameritech.nospam.net> wrote in message news:uvOkoFPKJHA.5336@TK2MSFTNGP05.phx.gbl... > > "Spin" <Spin@invalid.com> wrote in message > news:6l1u7fFa3r1tU1@mid.individual.net... >> "Jorge Silva" <jorgesilva_pt@hotmail.com> wrote in message >> news:0E2E0AEB-3A25-4CC2-877B-FE7BE4F7036C@microsoft.com... >>> Hi >>> Doing a simple find using ADUC will show you where the server is. >>> -- >>> I hope that the information above s you. >>> Have a Nice day. >>> >>> Jorge Silva >>> MCSE, MVP Directory Services >> >> I need a report dumping the OU membership of all servers, in a >> spreadsheet sorted by server name alphabetically. >> >> > > I have an example VBScript program to document all servers in the domain > linked here: > > http://www.rlmueller.net/Enumerate%20Servers.htm > > The program outputs the Distinguished Name of each machine, which > indicates the OU/container the computer resides in. If you run the script > at a command prompt with the cscript host, the output can be redirected to > a text file. > > -- > Richard Mueller > MVP Directory Services > Hilltop Lab - http://www.rlmueller.net > -- > More code is required to sort the server names and write the output to an Excel spreadsheet. You can use a disconnected recordset to sort the names. The following VBScript program worked in my domain (Excel must be installed on the client where this runs): ========== Option Explicit Dim objRootDSE, strDNSDomain, adoConnection, adoCommand, strQuery Dim adoRecordset, strComputerDN, strOS Dim adoResults, strOU, strName, intIndex Dim objExcel, objSheet, intRow, strExcelPath Const adVarChar = 200 Const MaxCharacters = 255 ' Specify spreadsheet. strExcelPath = "c:\Scripts\Servers.xls" ' Determine DNS domain name from RootDSE object. Set objRootDSE = GetObject("LDAP://RootDSE") strDNSDomain = objRootDSE.Get("defaultNamingContext") ' Use ADO to search Active Directory for all computers. Set adoCommand = CreateObject("ADODB.Command") Set adoConnection = CreateObject("ADODB.Connection") adoConnection.Provider = "ADsDSOObject" adoConnection.Open "Active Directory Provider" adoCommand.ActiveConnection = adoConnection strQuery = "<LDAP://" & strDNSDomain _ & ">;(objectCategory=computer);" _ & "sAMAccountName,distinguishedName,operatingSystem; subtree" adoCommand.CommandText = strQuery adoCommand.Properties("Page Size") = 100 adoCommand.Properties("Timeout") = 30 adoCommand.Properties("Cache Results") = False Set adoRecordset = adoCommand.Execute Set adoResults = CreateObject("ADODB.Recordset") adoResults.Fields.Append "Name", adVarChar, MaxCharacters adoResults.Fields.Append "OU", adVarChar, MaxCharacters adoResults.Open ' Enumerate computer objects with server operating systems. Do Until adoRecordset.EOF strOS = adoRecordset.Fields("operatingSystem").Value If (InStr(UCase(strOS), "SERVER") > 0) Then strComputerDN = adoRecordset.Fields("distinguishedName").Value strName = adoRecordset.Fields("sAMAccountName").Value ' Remove trailing "$". strName = Left(strName, Len(strName) - 1) intIndex = InStr(LCase(strComputerDN), ",ou=") If (intIndex = 0) Then intIndex = InStr(LCase(strComputerDN), ",cn=") End If If (intIndex = 0) Then intIndex = InStr(strComputerDN, ",") End If strOU = Mid(strComputerDN, intIndex + 1) strOU = Left(strOU, InStr(LCase(strOU), ",dc=") - 1) adoResults.AddNew adoResults.Fields("Name").Value = strName adoResults.Fields("OU").Value = strOU adoResults.Update End If adoRecordset.MoveNext Loop adoRecordset.Close adoResults.Sort = "Name" adoResults.MoveFirst Set objExcel = CreateObject("Excel.Application") objExcel.Workbooks.Add Set objSheet = objExcel.ActiveWorkbook.Worksheets(1) intRow = 2 objSheet.Cells(1, 1).Value = "Server Name" objSheet.Cells(1, 2).Value = "OU/Container" Do Until adoResults.EOF objSheet.Cells(intRow, 1).Value = adoResults.Fields("Name").Value objSheet.Cells(intRow, 2).Value = adoResults.Fields("OU").Value intRow = intRow + 1 adoResults.MoveNext Loop adoResults.Close objExcel.ActiveWorkbook.SaveAs strExcelPath objExcel.ActiveWorkbook.Close ' Clean up. objExcel.Application.Quit adoConnection.Close Wscript.Echo "Done" -- Richard Mueller MVP Directory Services Hilltop Lab - http://www.rlmueller.net -- |
|
|
|
#9 |
|
Messages: n/a
Hébergeur: |
"Al Dunbar" <AlanDrub@hotmail.com.nospaam> wrote in message news:O9kHRzOKJHA.6004@TK2MSFTNGP06.phx.gbl... > > "Spin" <Spin@invalid.com> wrote in message > news:6l1rooFa4fsnU1@mid.individual.net... >> Gurus, >> >> Is there a script which will report which OU a server resides in, given >> an Active Directory 2003 domain? >> > > type this command: > > dsquery user -samid username > > /Al aargh, my apologies - I responded before I noticed you were looking for computers... /Al |
|
|
|
#10 |
|
Messages: n/a
Hébergeur: |
On the dc from a command prompt:
dsquery computer -name "computername" Replace "Computername" as appropriate. This should give you the DN of the server. -- James Yeomans, BSc, MCSE "Spin" wrote: > Gurus, > > Is there a script which will report which OU a server resides in, given an > Active Directory 2003 domain? > > -- > Spin > > > |
|
![]() |
| Outils de la discussion | |
|
|