文件名:querycomputer.bat
功能:查找域內(nèi)未分組的計算機(jī),并顯示計算機(jī)名和加域的用戶
作用:可以實施監(jiān)視計算機(jī)列表,以提醒進(jìn)行計算機(jī)分組,也可審核計算機(jī)命名是否規(guī)范,確定責(zé)任人。
注意事項:批處理運(yùn)行前,最好先將現(xiàn)有的域內(nèi)computers容器內(nèi)的計算機(jī)全部按OU分組,腳本運(yùn)行后會羅列computers容器內(nèi)的新計算機(jī)。
復(fù)制代碼 代碼如下:
@echo off
echo 域內(nèi)未分組計算機(jī)監(jiān)視
echo 如果找到計算機(jī),將顯示找到的計算機(jī)列表,并通過PC喇叭提示。
echo.
cd /d %~dp0
rem 設(shè)置NETBIOS域名
set domain=DOMAINNAME
rem 設(shè)置域名
set DC=mydomain
set DC1=com
:loop
set found=0
rem 搜素comouters
for /f %%i in ('dsquery computer CN^=Computers^,DC^=%DC%^,DC^=%DC1%') do set found=1
rem 如果找到計算機(jī),調(diào)用顯示模塊
if %found%==1 call :display
ping -n 600 127.0.0.1 >NUL 2>1
goto loop
goto :eof
:display
echo %date% %time% found following computers:
rem 讀取計算機(jī)AD路徑,并調(diào)用顯示信息模塊
for /f %%i in ('dsquery computer CN^=computers^,dc^=%DC%^,dc^=%DC1%') do call :info %%i
goto :eof
:info
set dsname=%1
set dsname1=//%DC%.%DC1%/%dsname:"=%
rem 獲取計算機(jī)名
for /f "tokens=2,3* delims=,=" %%i in ('echo %dsname%') do set name=%%i
rem 顯示計算機(jī)權(quán)限,并顯示可以設(shè)置DNS信息的權(quán)限用戶(加域的人),dscals需要安裝Support Tools
dsacls %dsname1% |find "%domain%" |find "DNS" >name.txt 2>1
for /f "tokens=1,2,3*" %%i in (name.txt) do set user=%%j
echo %name%,%user%
rem 記錄信息
echo %name%,%user%>>"%date%.csv"
rem beep報警,beep自己寫或到網(wǎng)上找
echo.
Beep 1500 500
Beep 500 500
Beep 1500 500
Beep 500 500
Beep 1500 500
Beep 500 500
Beep 1500 500
Beep 500 500
goto :eof