:: 修改当前计算机的工作组名
:: 作者:Climbing(
xclimbing@msn.com)
:: 创建日期:2006.10.26
:: 注:本批处理要求必须以系统管理员身份运行,给wmic增加适当的命令行参数,可以实现修改网络上的其它机器的工作组名。
@echo off

:: 检测命令行参数1
if not %1#==# set JoinWorkgroup=%1
if not %Joinworkgroup%#==# goto _doit

:: 从当前目录下的sysprep.inf中获得
if not exist sysprep.inf goto _noGrpName
for /f "usebackq tokens=*" %%i in (type sysprep.inf ^| find /i "JoinWorkgroup") do @set %%i

:: 如果以上都没有,默认设置为BDGROUP
:_noGrpName
if %JoinWorkgroup%#==# set JoinWorkgroup=
小泥吧网络

:_doit
:: 先检查当前工作组设置,如果相同,则不修改
wmic computersystem get domain | findstr /r /i "^%JoinWorkGroup%$" > nul
if %errorlevel%==0 goto _quit
:: 检查环境变量COMPUTERNAME是否为空,如果为空,则从WMI数据库中提取
if not %COMPUTERNAME%#==# goto _change
for /f "usebackq skip=1 tokens=*" %%i in (wmic computersystem get name) do set CNAME=%%i
if %CNAME%#==# goto _quit
set COMPUTERNAME=%CNAME%

:_change
echo Changing Workgroup to "%JoinWorkgroup%" …
echo.
wmic computersystem where Name="%COMPUTERNAME%" call JoinDomainOrWorkgroup Name="%JoinWorkgroup%"
if %errorlevel%==0 goto _success
goto _quit

:_success
echo Successfully Changed Workgroup to "%JoinWorkgroup%".
echo.

:_quit
for %%i in (Joinworkgroup cname) do set %%i=

2 对 “通过命令行修改计算机工作组的批处理”的想法;

  1. 有空的话去学学http://www.microsoft.com/technet/prodtechnol/windowsserver2003/zh-chs/library/ServerHelp/749a0c3c-0198-441e-a53f-ad88dbc1f6cb.mspx?mfr=true

  2. oooO………….(….)… Oooo……(…..(…..)….._)….. )../………….. (_/…..路过,来踩踩欢迎来我家作客

发表评论

电子邮件地址不会被公开。 必填项已用*标注