如何使用ADSI和WSH脚本查找域中FSMO角色持有者
2008-03-11 14:31
537 查看
要使用此脚本文件,将下列代码存为Find_FSMO.vbs文件下列代码使用vbs脚本:
[code]Option ExplicitDim WSHNetwork, objArgs, ADOconnObj, bstrADOQueryString, RootDom, RSObjDim FSMOobj,CompNTDS, Computer, Path, HelpTextSet 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.QuitEnd SelectSet ADOconnObj = CreateObject("ADODB.Connection")ADOconnObj.Provider = "ADSDSOObject"ADOconnObj.Open "ADs Provider"'PDC FSMObstrADOQueryString = ";(&(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 FSMObstrADOQueryString = ";(&(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 FSMObstrADOQueryString = ";(&(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 FSMObstrADOQueryString = ";(&(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 FSMObstrADOQueryString = ";(&(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
相关文章推荐
- 如何使用ADSI和WSH脚本查找域中FSMO角色持有者
- 如何查找FSMO角色担任者(服务器)
- 如何查找硬解析问题,找到未使用绑定变量的SQL---脚本
- 如何查找FSMO角色担任者(服务器)
- 如何使用dw的查找功能,删除所有的链接即标签?
- 绝对酷,如何解决asp.net中javascript脚本的问题(使用服务器控件执行客户端脚本)
- 如何将c语言的变量传递给shell脚本使用
- 使用T-SQL脚本在SQL Server创建角色,并给角色赋予相应权限
- 【脚本】如何在linux shell下面查找 abc开头或xy结尾的文件,只用一个命令
- 查找资料, 学习如何使用命令安装gcc/g++, gdb, vim
- 【程序语言】C/C++中如何使用Lua脚本
- 转帖:InstallShield---如何使用脚本生成GUID
- Linux下如何使用grep命令查找带有tab(退格)的字符
- Python中可选的环境变量设置,Python中如何使用pdb调试脚本
- SMS脚本节选六:如何使用站点控制文件
- 如何将PHP作为Shell脚本语言使用
- DEDE模板中如何运行php脚本和php变量的使用
- 使用PD(PowerDesigner)图如何快速生成创建数据库表的SQL脚本
- 如何使用函数公式来查找图片
- 如何使用Linux的Crontab执行PHP脚本