贾兰格林的原型是谁:How to Find the FSMO Role Owners Using ADSI and WSH
来源:百度文库 编辑:九乡新闻网 时间:2024/03/28 20:25:32
Option Explicit
Dim WSHNetwork, objArgs, ADOconnObj, bstrADOQueryString, RootDom, RSObj
Dim FSMOobj,CompNTDS, Computer, Path, HelpText
Set WSHNetwork = CreateObject("WScript.Network")
Set objArgs = WScript.ArgumentsHelpText = "This script will find the FSMO role owners for your domain." & Chr(13) &_
Chr(10) & "The syntax is as follows:" & Chr(13) & Chr(10) &_
"find_fsmo DC=MYDOM,DC=COM" & Chr(13) & Chr(10) &_
"""Where MYDOM.COM is your domain name.""" & Chr(13) & Chr(10) & "OR:" &_
Chr(13) & Chr(10) & "find_fsmo MYDCNAME " & Chr(13) & Chr(10) &_
"""Where MYDCNAME is the name of a Windows 2000 Domain Controller"""
Select Case objArgs.Count
Case 0
Path = InputBox("Enter your DC name or the DN for your domain"&_
" 'DC=MYDOM,DC=COM':","Enter path",WSHNetwork.ComputerName)
Case 1
Select Case UCase(objArgs(0))
Case "?"
WScript.Echo HelpText
WScript.Quit
Case "/?"
WScript.Echo HelpText
WScript.Quit
Case "HELP"
WScript.Echo HelpText
WScript.Quit
Case Else
Path = objArgs(0)
End Select
Case Else
WScript.Echo HelpText
WScript.Quit
End Select
Set ADOconnObj = CreateObject("ADODB.Connection")ADOconnObj.Provider = "ADSDSOObject"
ADOconnObj.Open "ADs Provider"
'PDC FSMO
bstrADOQueryString = "<;(&(objectClass=domainDNS)(fSMORoleOwner=*));adspath;subtree'>LDAP://"&Path&">;(&(objectClass=domainDNS)(fSMORoleOwner=*));adspath;subtree"
Set RootDom = GetObject("LDAP://RootDSE")
Set RSObj = ADOconnObj.Execute(bstrADOQueryString)
Set FSMOobj = GetObject(RSObj.Fields(0).Value)
Set CompNTDS = GetObject("LDAP://" & FSMOobj.fSMORoleOwner)
Set Computer = GetObject(CompNTDS.Parent)
WScript.Echo "The PDC FSMO is: " & Computer.dnsHostName
'Rid FSMO
bstrADOQueryString = "<;(&(objectClass=rIDManager)(fSMORoleOwner=*));adspath;subtree'>LDAP://"&Path&">;(&(objectClass=rIDManager)(fSMORoleOwner=*));adspath;subtree"Set RSObj = ADOconnObj.Execute(bstrADOQueryString)
Set FSMOobj = GetObject(RSObj.Fields(0).Value)
Set CompNTDS = GetObject("LDAP://" & FSMOobj.fSMORoleOwner)
Set Computer = GetObject(CompNTDS.Parent)
WScript.Echo "The RID FSMO is: " & Computer.dnsHostName
'Infrastructure FSMO
bstrADOQueryString = "<;(&(objectClass=infrastructureUpdate)(fSMORoleOwner=*));adspath;subtree'>LDAP://"&Path&">;(&(objectClass=infrastructureUpdate)(fSMORoleOwner=*));adspath;subtree"Set RSObj = ADOconnObj.Execute(bstrADOQueryString)
Set FSMOobj = GetObject(RSObj.Fields(0).Value)
Set CompNTDS = GetObject("LDAP://" & FSMOobj.fSMORoleOwner)
Set Computer = GetObject(CompNTDS.Parent)
WScript.Echo "The Infrastructure FSMO is: " & Computer.dnsHostName
'Schema FSMO
bstrADOQueryString = " ">;(&(objectClass=dMD)(fSMORoleOwner=*));adspath;subtree"Set RSObj = ADOconnObj.Execute(bstrADOQueryString)
Set FSMOobj = GetObject(RSObj.Fields(0).Value)
Set CompNTDS = GetObject("LDAP://" & FSMOobj.fSMORoleOwner)
Set Computer = GetObject(CompNTDS.Parent)
WScript.Echo "The Schema FSMO is: " & Computer.dnsHostName
'Domain Naming FSMO
bstrADOQueryString = " ">;(&(objectClass=crossRefContainer)(fSMORoleOwner=*));adspath;subtree"Set RSObj = ADOconnObj.Execute(bstrADOQueryString)
Set FSMOobj = GetObject(RSObj.Fields(0).Value)
Set CompNTDS = GetObject("LDAP://" & FSMOobj.fSMORoleOwner)
Set Computer = GetObject(CompNTDS.Parent)
WScript.Echo "The Domain Naming FSMO is: " & Computer.dnsHostName
Dim WSHNetwork, objArgs, ADOconnObj, bstrADOQueryString, RootDom, RSObj
Dim FSMOobj,CompNTDS, Computer, Path, HelpText
Set WSHNetwork = CreateObject("WScript.Network")
Set objArgs = WScript.ArgumentsHelpText = "This script will find the FSMO role owners for your domain." & Chr(13) &_
Chr(10) & "The syntax is as follows:" & Chr(13) & Chr(10) &_
"find_fsmo DC=MYDOM,DC=COM" & Chr(13) & Chr(10) &_
"""Where MYDOM.COM is your domain name.""" & Chr(13) & Chr(10) & "OR:" &_
Chr(13) & Chr(10) & "find_fsmo MYDCNAME " & Chr(13) & Chr(10) &_
"""Where MYDCNAME is the name of a Windows 2000 Domain Controller"""
Select Case objArgs.Count
Case 0
Path = InputBox("Enter your DC name or the DN for your domain"&_
" 'DC=MYDOM,DC=COM':","Enter path",WSHNetwork.ComputerName)
Case 1
Select Case UCase(objArgs(0))
Case "?"
WScript.Echo HelpText
WScript.Quit
Case "/?"
WScript.Echo HelpText
WScript.Quit
Case "HELP"
WScript.Echo HelpText
WScript.Quit
Case Else
Path = objArgs(0)
End Select
Case Else
WScript.Echo HelpText
WScript.Quit
End Select
Set ADOconnObj = CreateObject("ADODB.Connection")ADOconnObj.Provider = "ADSDSOObject"
ADOconnObj.Open "ADs Provider"
'PDC FSMO
bstrADOQueryString = "<;(&(objectClass=domainDNS)(fSMORoleOwner=*));adspath;subtree'>LDAP://"&Path&">;(&(objectClass=domainDNS)(fSMORoleOwner=*));adspath;subtree"
Set RootDom = GetObject("LDAP://RootDSE")
Set RSObj = ADOconnObj.Execute(bstrADOQueryString)
Set FSMOobj = GetObject(RSObj.Fields(0).Value)
Set CompNTDS = GetObject("LDAP://" & FSMOobj.fSMORoleOwner)
Set Computer = GetObject(CompNTDS.Parent)
WScript.Echo "The PDC FSMO is: " & Computer.dnsHostName
'Rid FSMO
bstrADOQueryString = "<;(&(objectClass=rIDManager)(fSMORoleOwner=*));adspath;subtree'>LDAP://"&Path&">;(&(objectClass=rIDManager)(fSMORoleOwner=*));adspath;subtree"Set RSObj = ADOconnObj.Execute(bstrADOQueryString)
Set FSMOobj = GetObject(RSObj.Fields(0).Value)
Set CompNTDS = GetObject("LDAP://" & FSMOobj.fSMORoleOwner)
Set Computer = GetObject(CompNTDS.Parent)
WScript.Echo "The RID FSMO is: " & Computer.dnsHostName
'Infrastructure FSMO
bstrADOQueryString = "<;(&(objectClass=infrastructureUpdate)(fSMORoleOwner=*));adspath;subtree'>LDAP://"&Path&">;(&(objectClass=infrastructureUpdate)(fSMORoleOwner=*));adspath;subtree"Set RSObj = ADOconnObj.Execute(bstrADOQueryString)
Set FSMOobj = GetObject(RSObj.Fields(0).Value)
Set CompNTDS = GetObject("LDAP://" & FSMOobj.fSMORoleOwner)
Set Computer = GetObject(CompNTDS.Parent)
WScript.Echo "The Infrastructure FSMO is: " & Computer.dnsHostName
'Schema FSMO
bstrADOQueryString = "
Set FSMOobj = GetObject(RSObj.Fields(0).Value)
Set CompNTDS = GetObject("LDAP://" & FSMOobj.fSMORoleOwner)
Set Computer = GetObject(CompNTDS.Parent)
WScript.Echo "The Schema FSMO is: " & Computer.dnsHostName
'Domain Naming FSMO
bstrADOQueryString = "
Set FSMOobj = GetObject(RSObj.Fields(0).Value)
Set CompNTDS = GetObject("LDAP://" & FSMOobj.fSMORoleOwner)
Set Computer = GetObject(CompNTDS.Parent)
WScript.Echo "The Domain Naming FSMO is: " & Computer.dnsHostName
How to Find the FSMO Role Owners Using ADSI and WSH
How To Build an Add-in (XLL) for Excel Using ...
German Sinologist: To find a clue to the CPC ...
How to keep working and efficient managers
how to meet and connect with women
Using SNMP to Find a Port Number from a MAC Addres
Trying to register the VirtualBox kernel modules using DKMS[失败]
How to deploy FEP2010 client via OSD and test Deployment
Can you speak English and Write@HOW TO DO
File Attributes: what are they and how to use them.
How to develop and maintain a positive attitu...[]
How to improve your wireless network and boos...
How to setup OpenNI and Kinect in Windows XP?
韩国禅在东亚佛教研究里的角色与地位 The Role and Si...
提问的智慧 How To Ask Questions The Smart Way
Navis.gr - How to apply the Compass Error
How to sort American interests in the South C...
Response in the marketing process to your customers how
回答的智慧 How to Answer Questions the Smart Way
别做以下傻事 Owners and managers
To find a girlfriend
I FIND THE WAY
Using the SDK Headers
FSMO