欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

新入域的计算机枚举,显示加域人员的批处理

程序员文章站 2022-03-07 21:07:25
文件名:querycomputer.bat 功能:查找域内未分组的计算机,并显示计算机名和加域的用户 作用:可以实施监视计算机列表,以提醒进行计算机分组,也可审核计算机命名...
文件名:querycomputer.bat

功能:查找域内未分组的计算机,并显示计算机名和加域的用户

作用:可以实施监视计算机列表,以提醒进行计算机分组,也可审核计算机命名是否规范,确定责任人。

注意事项:批处理运行前,最好先将现有的域内computers容器内的计算机全部按ou分组,脚本运行后会罗列computers容器内的新计算机。

复制代码 代码如下:

@echo off
echo 域内未分组计算机监视
echo 如果找到计算机,将显示找到的计算机列表,并通过pc喇叭提示。
echo.
cd /d %~dp0
rem 设置netbios域名
set domain=domainname
rem 设置域名
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 如果找到计算机,调用显示模块
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 读取计算机ad路径,并调用显示信息模块
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 获取计算机名
for /f "tokens=2,3* delims=,=" %%i in ('echo %dsname%') do set name=%%i
rem 显示计算机权限,并显示可以设置dns信息的权限用户(加域的人),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自己写或到网上找
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