I have scripted DomainRole.bat to determine which of the following roles describes the current computer:
Standalone Workstation Member Workstation Standalone Server Member Server Backup Domain Controller Primary Domain ControllerThe syntax for using DomainRole.bat is:
call DomainRole string
Where string is a call directed environment variable that will contain one of the following number-text strings:
0-Standalone Workstation 1-Member Workstation 2-Standalone Server 3-Member Server 4-Backup Domain Controller 5-Primary Domain ControllerDomainRole.bat contains:
@echo off if \{%1\}==\{\} @echo Syntax: DomainRole Role&goto :EOF setlocal if exist "%TEMP%\DoomainRole.vbs" goto doit @echo On Error Resume Next>"%TEMP%\DoomainRole.vbs" @echo strComputer = ".">>"%TEMP%\DoomainRole.vbs" @echo Set objWMIService = GetObject("winmgmts:\\" ^& strComputer ^& "\root\cimv2")>>"%TEMP%\DoomainRole.vbs" @echo Set colItems = objWMIService.ExecQuery("Select DomainRole from Win32_ComputerSystem",,48)>>"%TEMP%\DoomainRole.vbs" @echo For Each objItem in colItems>>"%TEMP%\DoomainRole.vbs" @echo. Wscript.Echo objItem.DomainRole>>"%TEMP%\DoomainRole.vbs" @echo Next>>"%TEMP%\DoomainRole.vbs" :doit for /f "Tokens=*" %%r in ('cscript //nologo "%TEMP%\DoomainRole.vbs"') do ( set /a role=1%%r -10 ) set /a role=%role% * 28 set table=0-Standalone Workstation 1-Member Workstation 2-Standalone Server 3-Member Server 4-Backup Domain Controller 5-Primary Domain Controller # call set work=%%table:~%role%^,28%%# set work=%work: =% set work=%work: #=% set work=%work:#=% endlocal&set %1=%work%
0 comments
Hide comments