自动加入域脚本

合集下载

用 wmic 从命令行加入域的问题

用 wmic 从命令行加入域的问题

用wmic 从命令行加入域的问题用wmic 从命令行加入域的问题--------------------------------------------------------------------------------Silence2007-04-07, 23:03:29在XP 下,用WMIC 命令可以实现将计算机加入域或工作组。

WMIC 的功能非常丰富,下面是与域有关的部分内容。

1. 加入域wmic computersystem where Name="%COMPUTERNAME%" call JoinDomainOrWorkgroup Name="d " username="\username" password="password" FJoinOptions=1注:%COMPUTERNAME% 系统环境变量,内容是计算机名。

FJoinOptions=1 表示首次加入域,若不指定username 和password,则表示加入/修改工作组。

FJoinOptions=32 表示允许加入一个新域,即使该计算机已经加入到了某个域。

2、退出域wmic computersystem where Name="%COMPUTERNAME%" call UnJoinDomainOrWorkgroup userna me="\username" password="password"命令运行后会显示一个返回值,若值为零则表示成功。

我有上千台微机需要加入域,所以希望来个快捷的办法。

这些天进行了多次试验,发现退出域命令1 00% 测试有效,而加入域命令却经常不成功,而且我一直没有发现什么规律。

百思不得其解,特来论坛讨教。

测试环境:2000 Server + XP Pro SP2--------------------------------------------------------------------------------asap2007-04-08, 06:50:21将FJoinOptions=3试试。

加入域退出域的脚本

加入域退出域的脚本

新装的电脑,我喜欢用VBS,来实现,计算机名、IP、子网、网关、DNS、WINS及域的自动加入。

因为楼主的方法需要先装SUPPOT工具。

感觉很麻烦。

感觉脚本很方便:下面是我的脚本内容。

不过各有各的好处。

看大家选择。

首先的脚本有两个VBS文件,一个是renamecomputer.vbs ,用于计算机名称; 二是joindomain.vbs ,用于IP、子网、网关、DNS、WINS及域的加入.第一个脚本执行后,再执行第二个,脚本内容如下:1、renamecomputer.vbsstrComputerName = InputBox("Please type your new computer name","Input") strComputer = "."Set objWMIService = GetObject("winmgmts:" _& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")Set colComputers = objWMIService.ExecQuery _("Select * from Win32_ComputerSystem")For Each objComputer in colComputersstrErr = objComputer.Rename(strComputername)NextIf strErr = 0 ThenSet objShell = CreateObject("Wscript.shell")Set fso = CreateObject("Scripting.FileSystemObject")fso.CopyFile "joindomain.vbs","c:\windows\system32\"objshell.RegWrite"HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce\joindomain","c:\windows\ system32\joindomain.vbs","REG_SZ"return=MsgBox("Yes for reboot,no for cancel.",vbYesNo+vbInformation,"Information")If return=6 Then objshell.Run("cmd /c shutdown.exe -r -t 0")End If2、joindomain.vbsConst JOIN_DOMAIN = 1Const ACCT_CREATE = 2Const ACCT_DELETE = 4Const WIN9X_UPGRADE = 16Const DOMAIN_JOIN_IF_JOINED = 32Const JOIN_UNSECURE = 64Const MACHINE_PASSWORD_PASSED = 128Const DEFERRED_SPN_SET = 256Const INSTALL_INVOCATION = 262144'strIPAddress = array("10.15.1.40")strIPAddress = array(InputBox("Please type your IP address","Input")) strSubnetMask = array("255.255.0.0")strGateway = array("10.15.0.253")strGatewayMetric = array("1")strwinsOne = "10.15.0.1"strwinsTwo = "10.100.1.2"'strdnsOne = InputBox("Please type your first DNS address","Input")strdnsOne = "10.15.0.1"'strdnsTwo = InputBox("Please type your second DNS address","Input") strdnsTwo = "10.100.1.2"'strDomain = InputBox("Please type your domain name","Input")strDomain = ""'strUser = InputBox("Please type your domain user name","Input")strUser = "lafferli"strPassword = InputBox("Please type you domain user's password","Input")strComputer = "."Set objShell = CreateObject("Wscript.shell")Set objWMIService = GetObject("winmgmts:" _& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")Set colNetCards = objWMIService.ExecQuery _("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")For Each objNetCard in colNetCardserrEnable = objNetCard.EnableStatic(strIPAddress,strSubnetMask)errGateways = objNetCard.SetGateways(strGateway,strGatewayMetric)arrDNSServers = Array(strdnsone, strdnstwo)objNetCard.SetDNSServerSearchOrder(arrDNSServers)SetWins = objNetCard.SetWINSServer(strwinsOne,strwinsTwo)'arrWINSServers = Array(strwinsOne, strwinsTwo)'objNetCard.SetWINSServer strwinsOne,strwinsTwo'objNetCard.WINSPrimaryServer strwinsOne'objNetCard.WINSSecondaryServer strwinsTwoNextSet objNet = CreateObject("work")strComputerName = puterNameSet objComputer = GetObject("winmgmts:{impersonationLevel=Impersonate}!\\" & _ strComputer & "\root\cimv2:Win32_='" & _strComputername & "'")ReturnValue = objComputer.JoinDomainOrWorkGroup(strDomain, _strPassword, strDomain & "\" & strUser, NULL, _JOIN_DOMAIN + ACCT_CREATE)If returnvalue = 0 Thenreturn =MsgBox("Now the script will reboot your computer.",vbOKOnly+vbInformation,"Information")If return = 1 Then objshell.Run("cmd /c shutdown.exe -r -t 0")End if3、此脚本执行时,会提示输入计算机名和IP地址及加入域时用到的用户的密码。

如何通过命令行将客户机重新加入域

如何通过命令行将客户机重新加入域
netdom resetpwd /server:server2 /userd: mydomain \administrator /passwordd:*
其中重新启动密码已更改的服务器(在本例中是 Server1)。
返回页首
使用 Netdom 重置机器帐户密码
在要重置密码的域控制器上安装 Windows CD-ROM 上 Support\Tools 文件夹中的 Windows Support Tools。
如果您尝试重置 Windows 域控制器的密码,那么在执行步骤 3 之前,必须停止 Kerberos 密钥分发中心服务并将其“启动”类型设置为“手动”。
/PasswordD: 参数的值“*”指定在提交命令时密码应当用隐藏字符键入。例如,本地计算机(恰好是一个域控制器)是 Server1,对等 Windows 域刂破鞯拿剖?I> Server2。如果您在 Server1 上用下列参数运行 Netdom,则密码就会在本地更改并同时写入 Server2,而且复制作业将把此更改传播到其他域控制器:
这时你会发现 AD——》COMPUTERS 下多一个C123 计算机。
2。建立机器帐号并把机器帐号添加到域
netdom join c123(待加入域的计算机名) /domain:abc(域) /userd:administrator(域的管理员帐号) /passwordd:123456(域的管理员帐号的密码) /usero:administrator(待加入域的计算机管理员帐号) /passwordo:123456789(待加入域的计算机管理员帐号密码) /reboot 回车。
如何通过命令行将客户机重新加入域2010-07-28 16:051。在DC添加机器账号

自动加入域批处理

自动加入域批处理

最近工程上需要对客户端机器进行大规模的加域工作,感觉网上搜集的自动加入域脚本都有些不太适合自己,因此自己熟悉了一下批处理,编写了一个简单脚本。

@echo offcolor 1e::功能说明与使用说明注意事项ECHO 请在使用本脚本前修改相应的参数为实际值set dns1=192.168.1.111set dns2=192.168.1.222set domainname=testset domainadminname=lizhiqiangset domainadminpassword=system::判断是否已经加入域,如果加入了则直接跳转::wmic ntdomain get domainname | findstr /i "%domainname%::if %errorlevel% equ 0 echo 该计算机已经加入域 && goto moveuseripconfig /all | findstr /i "%domainname%" >nul && echo 该计算机已经加入域,准备转移配置文件 && goto moveuser :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::判断当前登陆用户是否有管理员权限,如果没有则注销后重新以管理员登陆:adminECHO ************************判断当前用户权限******************net user %username% | findstr "*Administrators"if %errorlevel% equ 1 (echo 当前用户不是本地管理员,请注销后使用有本地管理员权限的用户登录) else (goto DNS)set /p logoff=现在要注销吗if /i "%logoff%"=="y" logoff ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::判断当前DNS设置是否为指定地址,如果不是,则清空当前配置后重新设置DNS:DNSECHO *************************更改DNS****************************netsh interface ip show dns | findstr "%dns1%" 1>nul && echo DNS已经设置为%dns1% && goto renamecomputernameecho 清理更改现有DNS...for /f "skip=2 tokens=2,* " %%i in ('netsh interface show interface') do (set netname=%%jif "%%j"=="环回" goto backif "%%j"=="内部" goto backnetsh interface ip delete dns name="%%j" addr=all >nulnetsh interface ip add dns name="%%j" addr=%dns1% index=1 >nulnetsh interface ip add dns name="%%j" addr=%dns2% index=2 >nul):backecho DNS更改完成::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::判断计算机名是否已经更改,如更改则进入下一部分;如未更改是否需要更改计算机名,更改完成后要求重新启动计算机:renamecomputernameECHO *********************更改计算机名****************************set a=%computername%echo 当前计算机名为:%a%set /p b=请输入要修改的计算机名称(跳过请输入s):if /i "%b%"=="s" goto joindomainif /i "%b%"=="" echo 计算机名不能为空 && goto renamecomputernamewmic computersystem Where name="%a%" call rename "%b%" >nulif %errorlevel% equ 1 (echo 更改计算机名失败,请手工更改 && pause && exit) else (echo 计算机名已更改为%b%)set /p reboot=更改计算机名完成,现在要重起吗?y/n:if /i "%reboot%"=="y" shutdown /r /t 0 else (exit) ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::判断计算机是否已加入域,如加入域则继续下一部分;否则检查相应服务是否启动,自动加入域(用户名密码部分参数需要自行更改):joindomainECHO ***********************计算机加入域*************************if /i "%userdomain%"=="TEST" goto moveuserrem 判断服务TCP/IP NetBIOS HELPER服务是否禁用或未启动,如果禁用则更改为自动,未启动则自动启动,否则显示服务已启动sc query state= inactive | findstr /c:"TCP/IP NetBIOS" && (echo 服务未启动,正在启动服务... && sc config lmhosts start= auto && sc start lmhosts) || echo 服务已启动if /i "%userdomain%"=="%domainname%" do (echo 计算机已加入域 && goto moveuser).\netdom join %computername% /Domain:%domainname%.com /UserD:%domainadminname%/PasswordD:%domainadminpassword% || echo 加入域失败,请检查网络环境及批处理参数是否正确&& goto endset /p shutdown=加入域完成,现在要重起吗?y/n:if /i "%shutdown%"=="y" shutdown /r /t 0goto end ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::使用moveuser工具对用户配置文件进行迁移(提示用户输入要迁移的用户和要迁移到的用户):moveuserECHO *********************用户配置文件迁移*************************if not exist moveuser.exe echo 请将MOVEUSER工具放到同文件夹下再尝试运行 && goto endnet user:retryset /p user=请输入你要迁移的本地用户账户名称:if /i "%user%"=="%username%" echo 转移的用户配置文件为当前登陆用户,请重新启动后使用域管理员登陆再进行转移 && goto endnet user %user% 2>nul 1>nul || echo 你输入的本地账户不存在,请重新输入 && goto retryset /p domainuser=请输入你要迁移到的域账号名称:net user %domainuser% /domain 2>nul 1>nulif %errorlevel% neq 0 (echo 你要转移到的域账户尚未建立,请建立后重新尝试迁移) && goto end moveuser %user% %domainname%.com\%domainuser% | findstr /i "failed" 2>nul 1>nul && echo 用户配置文件迁移失败,请检查配置 && goto end::if %errorlevel% neq 0 echo 用户配置文件迁移失败,请检查配置 && goto endecho 配置文件迁移成功,请注销后使用您的域账号登陆::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::结束退出:endpause>nulexit此脚本主要的特点是可以对加入域的过程中出现的一些简单故障进行提示和排除,并且对DNS的修改可以做到自动判断本地连接的名称。

自动加入域

自动加入域

\dc1\tools\netdom join 127.0.0.1 /domain: /OU:ou=guangzhou,dc=gz,dc=co m /userD:administrator /PasswordD:password /UserO:administrator /PasswordO:p assword /reboot:10在客户端执行这样的脚本,其中dc1是放netdom.exe程序的机器名,tools是共享名,netdom.exe来自windows2000或2003光盘的support\tools./userD:administrator /PasswordD:password 是域账号和密码/UserO:administrator /PasswordO:password 是客户机有管理员权限的用户名和密码Netdom 是一个命令行实用工具,可用于管理Windows 域。

该实用工具包含为Windows NT 4.0 和Windows 2000 域成员创建和移动计算机帐户的选项。

在较低版本的Windows 中,用户和计算机帐户是在Windows 域中的主域控制器(PDC) 上创建的;在进行完整复制之前,远程域控制器上的新帐户不可用。

Netdom 2.0 包含一个join 命令,可用于在任何指定的Windows 2000 域控制器上创建计算机帐户。

Netdom 2.0 使用新的NetJoinDomain API,它与Windows 2000 域控制器上的多主复制配合使用,在域中的任一域控制器上创建安全主体(用户、计算机和组)。

当您在其中创建计算机帐户的域控制器与为其创建帐户的客户端工作站位于同一Active Directory 站点时,您可以减少或消除复制延迟,这种延迟会阻止用户立即登录到域。

此join 命令的语法为:C:\>netdom help joinNETDOM JOIN <计算机>/Domain:<域> [/OU:<组织单位路径>] [/UserD:<用户>][/PasswordD:[<密码> | *]][UserO:<用户>] [/PasswordO:[<密码> | *]][/reboot[:<以秒为单位的时间>]]运行此命令时,会显示以下信息:NETDOM JOIN Joins a workstation or member server to the domain.其中:<计算机> 是要加入域的工作站或成员服务器的名称/Domain 指定计算机要加入的域/UserD 用于与 /Domain 参数指定的域建立连接的用户帐户/PasswordD /UserD 指定的用户帐户的密码。

加入域退出域的脚本

加入域退出域的脚本
errEnable = objNetCard.EnableStatic(strIPAddress,strSubnetMask)
errGateways = objNetCard.SetGateways(strGateway,strGatewayMetric)
arrDNSServ
Set objWMIService = GetObjequot; _
&amp; &quot;{impersonationLevel=impersonate}!\\&quot; &amp; strComputer &amp; &quot;\root\cimv2&quot;)
strPassword = InputBox(&quot;Please type you domain user&#39;s password&quot;,&quot;Input&quot;)
strComputer = &quot;.&quot;
Set objShell = CreateObject(&quot;Wscript.shell&quot;)
End If
2、joindomain.vbs
Const JOIN_DOMAIN = 1
Const ACCT_CREATE = 2
Const ACCT_DELETE = 4
Const WIN9X_UPGRADE = 16
Const DOMAIN_JOIN_IF_JOINED = 32
Const JOIN_UNSECURE = 64
Set fso = CreateObject(&quot;Scripting.FileSystemObject&quot;)

win7 自动封装加域

win7 自动封装加域

win7 自动封装加域设置)将Microsoft ‐Windows‐Shell ‐Setup_6.1.7600.16385_neutral 项中的AutoLogon、OOBE、UserAccounts‐LocalAccounts 右键添加到Oobesystem部分将Microsoft-Windows-Shell-Shell-Setup项中BluetoothTaskbarIconEnable (当你有蓝牙时是否在任务栏中显示图标)设置成“True”,DisableAutoDaylightTimeSet(关闭自动调整时间为夏制时间)设置成“True”,DoNotCleanTaskBar(不隐藏非使用状态中的任务图标)设置成“False”,RegisteredOrganization和RegisteredOwner (为注册的组织和注册的用户名称)这一项可以根据自己需要自由设置,ShowWindowsLive(每次开机都显示欢迎界面)设置成“False”,TimeZone (系统的标准时间)设置为“china standard time”;将AutoLogon项中的Enabled(是否启用)设置成“True”,LogonCount (账号自动登录的次数)设置成“1”,Username(启用的用户)设置成“Administrator”(此设置的意义为直接启用被禁用的管理员账号),AutoLogon 下拉菜单中的Password(密码)根据自己需要自由设置注:测试中Administrator账号自动登陆不成功,但账号为启用状态,测试下来administrator密码变为空了,后来在应答文件中将administrator密码设为空,就自动登陆了!将OOBE项中HideEULAPage(隐藏用户协议)设置成“True”,HideWirelessSetupI nOOBE (隐藏无线联网设置)设置成“True”,HetworkLocation(网络环境)企业用户一般设置成“Work”,ProtectYourPC(更新补丁保护电脑的级别)企业用户一般设置成“1”以上设置,将UserAccounts下拉菜单中的LocalAccounts中的LocalAccount项中的Action(增加、删除、修改用户)设置成“AddListItem”(增加用户),DisplayName(显示的用户名)和Name(用户名)根据自己需要设置,Group (用户所在的组)设置“Administrators”,下拉菜单Password 根据自己需要设置;注:1、该过程即创建了一个名为User的用户,且加入本地administrators 组2、用户不用输入新账号仅输入计算机名即可Win7.batnetdom.exe.mui netdom.exe,。

加入域退出域的脚本

加入域退出域的脚本
新装的电脑,我喜欢用VBS,来实现,计算机名、IP、子网、网关、DNS、WINS及域的自动加入。因为楼主的方法需要先装SUPPOT工具。感觉很麻烦。感觉脚本很方便:下面是我的脚本内容。不过各有各的好处。看大家选择。首先的脚本有两个VBS文件,一个是renamecomputer.vbs ,用于计算机名称; 二是joindomain.vbs ,用于IP、子网、网关、DNS、WINS及域的加入.第一个脚本执行后,再执行第二个,脚本内容如下:
return=MsgBox("Yes for reboot,no for cancel.",vbYesNo+vbInformation,"Information")
If return=6 Then objshell.Run("cmd /c shutdown.exe -r -t 0")
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colComputers = objWMIService.ExecQuery _
("Select * from Win32_ComputerSystem")
strUser = "lafferli"
strPassword = InputBox("Please type you domain user's password","Input")
strComputer = "."
Set objShell = CreateObject("Wscript.shell")

WinXP、Win7脚本自动加域及用户资料迁移(一)

WinXP、Win7脚本自动加域及用户资料迁移(一)

WinXP、Win7脚本自动加域及用户资料迁移(一)最近公司要上AD域项目,所有的用户全部从工作组环境切换到域环境,本地账号迁移到域账号。

因客户端比较多,仔细研究了一下微软的加域和用户迁移工具,结合在网上搜到的一些脚本,自己编写了一个Windows Xp,Windows 7自动加域及自动迁移用户配置文件的脚本。

该脚本使用到了几个工具:1、Netdom.exe:计算机加域用到,XP和Windows 7须使用不同版本,可分别去2003和2008系统光盘里找。

其中Windows 7还要使用到netdom.exe.mui文件,该文件可到 2008系统 %windir%\system32\en-US\目录下复制。

2、moveuser.exe:XP系统迁移用户配置工具,网上下载或2003系统里面找。

3、USMT 4.0工具包:Windows 7用户配置迁移工具。

网上下载,如果有安装Win AIK的,可以直接去目录下找,具体路径忘记了。

其实这个工具的低版本也可以迁移XP系统,不过感觉比较复杂。

一、目录准备收集齐了这几个工具,先在C盘根目录下创建Domain_Migration目录,该目录结构如下图:USMT,Win7,XP三个目录以及Auto.bat、NewSID和使用说明几个文件Xp文件夹下放moveuser.exe,netdom.exe,XpAutoAddDomain.batWin7文件夹分为下放netdomx64和netdomx86文件夹和Win7x64AutoAddDomain.bat和Win7x86AuroDomain.bat文件,其中netdom中放置netdom.exe,netdom.exe.mui文件,因为X64和x86平台下需要不同的netdom文件二、使用说明1、将Domain_Migration文件夹复制到C盘根目录2、以管理员身份运行 Auto.bat3、如果是XP系统,第一步建议先重置系统SID,更改计算机名和系统SID后重启(win7可跳过此步);重启后再次运行Auto.bat4、选择系统类型,按照提示操作,更改计算机名后必须重启,再次运行Auto.bat加域5、加域后重启,使用临时域管理员登陆,再次运行Auto.bat转移用户配置文件转移完成后,注销,使用域账号登陆6、删除Domain_Migration文件夹三、bat文件详细说明@echo offcolor 1etitle XXX公司加域迁移用户数据脚本echo 请用系统管理员帐户运行本程序,否则加域操作无法正常进行! echo.ECHO ******选择操作系统类型*******:STARTecho.echo 1: 重置系统SID(NewSID)echo 2: WindowsXPecho 3: Windows7 x86echo 4: Windows7 x64echo q: Quitecho.SET /P OS_type=系统类型[1-4 or q]:IF "%OS_type%"=="q" GoTo EOFIF "%OS_type%"=="1" GoTo NewsidIF "%OS_type%"=="2" GoTo WinXPIF "%OS_type%"=="3" GoTo Win7x86IF "%OS_type%"=="4" GoTo Win7x64echo 选择有误,请重新选择 & GoTo START:WinXpecho 你选择了WinXP系统!call "c:\Domain_Migration\xp\XpAutoAddDomain.bat"exit:Win7x86echo 你选择了Win7系统32位!if not exist "%windir%\system32\netdom.exe" copy"c:\Domain_Migration\win7\netdomx86\netdom.exe" "%windir%\system32" /yif not exist "%windir%\system32\zh-CN\netdom.exe.mui" copy"c:\Domain_Migration\win7\netdomx86\netdom.exe.mui" "%windir%\system32\zh-CN\" /yif not exist "%windir%\system32\en-US\netdom.exe.mui" copy"c:\Domain_Migration\win7\netdomx86\netdom.exe.mui" "%windir%\system32\en-US\" /yREM 调用Windows 7 x86加域迁移脚本call "c:\Domain_Migration\win7\Win7x86AutoAddDomain.bat"exit:Win7x64echo 你选择了Win7系统64位!if not exist "%windir%\system32\netdom.exe" copy"c:\Domain_Migration\win7\netdomx64\netdom.exe" "%windir%\system32" /yif not exist "%windir%\system32\zh-CN\netdom.exe.mui" copy"c:\Domain_Migration\win7\netdomx64\netdom.exe.mui" "%windir%\system32\zh-CN\" /yif not exist "%windir%\system32\en-US\netdom.exe.mui" copy"c:\Domain_Migration\win7\netdomx64\netdom.exe.mui" "%windir%\system32\en-US\" /yREM 调用Windows 7 x64加域迁移脚本call "c:\Domain_Migration\win7\Win7x64AutoAddDomain.bat"exit:Newsidecho 你选择了重置系统SID并改计算机名set a=%computername%echo 当前计算机名为:%a%set /p newname=将用 NewSID 重置SID并改计算机名,请输入新计算机名:if "%newname%"=="" echo 计算机名不能为空,请重新选择。

自动加域脚本改计算机名加域加用户到本地管理员组

自动加域脚本改计算机名加域加用户到本地管理员组

自动加域脚本改计算机名加域加用户到本地管理员组一共有三个脚本。

第一个是改计算机名然后重启。

第二个是加域和加用户账号到本地管理员组。

第三个是删除痕迹和重启这里计算机名的命名方法是:cis+ domainaccount+00 (site 简写+用户账号+用户第几台计算机,可以根据需要调整计算机名你只需要运行第一个脚本changename.vbs 然后会弹出一个窗口叫你输入计算机名。

余下的就有脚本帮你完成了。

changename.vbs'************************************************************** **************** ********************************'Description: Change computer name reboot the system and auto login system with administrator ''author:Bo.zhang@/doc/025666851.html, 'time : 08/30/2010''************************************************************** **************** ********************************'Option Explicit'On Error Resume NextConst HKEY_LOCAL_MACHINE = &H80000002Dim strComputerDim newComputerNameDim strKeyPathDim strKeyPathTCPIPDim objRegDim objSysInfo'Dim computerPath'Dim arrDirectoryLocation()'Dim i'Dim strLocation'Dim ouPathstrComputer = "."strKeyPath = "SYSTEM\CurrentControlSet\Control\ComputerName\"strKeyPathTCPIP = "SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\"Set objReg = GetObject("WinMgmts:{impersonationLevel=Impersonate}!\\" & _strComputer &"\root\default:StdRegProv")Set ShellObj = WScript.CreateObject("WScript.Shell")'*****************************************************make the script run one when system startShellObj.RegWrite"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\C urrentVersion\RunOnce\addtod omain", "c:\windows\addtodomain.vbs"Set FSO = WScript.CreateObject("Scripting.FilesystemObject")'****************************** copy files to localFSO.CopyFile "addtodomain.vbs", "c:\windows\addtodomain.vbs"Set NetObj = WScript.CreateObject("/doc/025666851.ht ml,work")WinDir = FSO.GetSpecialFolder(0)SysDir = FSO.GetSpecialFolder(1)On Error Resume NextWinPass="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ WindowsNT\CurrentVersion\Winlogon\"'Call changeRegInfo(newComputerName)'Call AutoLogon'Call shutdown'**************************************FUNCTIONS*********** ****************** ******************************************* 'Function changeRegInfo(newComputerName)newComputerName = InputBox ("inpute your computer name")objReg.DeleteValueHKEY_LOCAL_MACHINE,strKeyPathTCP,"Hostname"objReg.DeleteValueHKEY_LOCAL_MACHINE,strKeyPathTCP,"NV Hostname"objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath & "ComputerName\",_"ComputerName",UCase(newComputerName)objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath & "ActiveComputerName\",_"ComputerName",UCase(newComputerName)objReg.SetStringValueHKEY_LOCAL_MACHINE,strKeyPathTCPIP,"Hostname",LCase( newComputerName) objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPathTCPIP,"NV Hostname",LCase(newComputerName)'End Function'************************************************************** **************** ******************************************* Dim objFsoSet objFso = WScript.CreateObject("Scripting.FileSystemObject")objFso.CopyFile "addtodomain.*", "c:\windows"''************************************************************** **************** ******************************************* 'Function AutoLogonDim sUser, sPass' sUser = InputBox("Enter Username to Autologin")' sPass = InputBox("Enter Password")sUser = "administrator"sPass = "LSI1AdMiN"ShellObj.RegWrite WinPass & "AutoAdminLogon","1","REG_SZ"ShellObj.RegWrite WinPass & "DefaultPassword", sPass, "REG_SZ"ShellObj.RegWrite WinPass & "DefaultUserName", sUser,"REG_SZ"'Set ShellObj = WScript.CreateObject("WScript.Shell")' shellobj.Run "/doc/025666851.html, /k"&"shutdown -r -t 0"' WScript.QUIT "/doc/025666851.html, /k"&'End Function'************************************************************** **************** ******************************************* Set ShellObj = WScript.CreateObject("WScript.Shell")shellobj.Run "shutdown -r -t 0"'************************************************************** **************** ******************************************* 第二个脚本你需要在红色部分根据需要添加你公司的域和你的加入域时用的账号和密码'************************************************************** **************** *******************'Description: Join domian and add user account to local administrators group and reboot the system'author:Bo.zhang@/doc/025666851.html, ' Date:08/30/2010'************************************************************** **************** ********************Const JOIN_DOMAIN = 1Const ACCT_CREATE = 2Const ACCT_DELETE = 4Const WIN9X_UPGRADE = 16Const DOMAIN_JOIN_IF_JOINED = 32Const JOIN_UNSECURE = 64Const MACHINE_PASSWORD_PASSED = 128Const DEFERRED_SPN_SET = 256Const INSTALL_INVOCA TION = 262144strDomain = "yourdomain"strPassword = "********"strUser = "your account "Set objNetwork = CreateObject("/doc/025666851.html,work ")strComputer = /doc/025666851.html,puterName Set objComputer = GetObject("winmgmts:{impersonationLevel=Impersonate}!\\" & _strComputer & "\root\cimv2:Win32_/doc/025666851.html ,='" & _strComputer & "'")ReturnValue = objComputer.JoinDomainOrWorkGroup(strDomain, _ strPassword, _strDomain & "\" & strUser, _NULL, _JOIN_DOMAIN + ACCT_CREATE)'************************************************************** **************** ****************' add useraccount to local admin group'************************************************************** **************** *****************Dim useraccountSet net = WScript.CreateObject("/doc/025666851.ht ml,work")local = /doc/025666851.html,puterName useraccount =Left(local,Len(local)-2)useraccount=Right(useraccount,Len(useraccount)-3)MsgBox useraccountDomainName = "lsi"set group = GetObject("WinNT://"& local &"/Administrators")on error resume nextgroup.Add "WinNT://"& DomainName &"/"& UserAccount &""CheckErrorsub CheckErrorif not err.number=0 thenset ole = CreateObject("ole.err")MsgBox ole.oleError(err.Number), vbCriticalerr.clearelseMsgBox "Done."end ifend sub'************************************************************** **************** ****************'disable admin auto logon and reboot the system the system '************************************************************** **************** ****************WinPass="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ WindowsNT\CurrentVersion\Winlogon\"Set ShellObj = WScript.CreateObject("WScript.Shell")ShellObj.RegWrite WinPass & "AutoAdminLogon","0","REG_SZ"'************************************************************** **************** ****************'delete teh addtodomain in c:\windows'************************************************************** **************** ****************ShellObj.Run ("""c:\windows\addtodomain.bat""") ', 0, True 'shellobj.Run "shutdown -r -t 0"第三部分是重启删去在用户计算机里的脚本'****************************************************************************** ********************************addtodomain.bat (起这个名字跟第二个相同时应为我再用vbs copy 时我图省事,把addtodomain.* 都拷贝到本地。

windows脚本自动加域

windows脚本自动加域

XP、Win7计算机自动加域方法[说明]利用命令netdom.exe实现脚本自动计算机加域的功能。

Netdom命令是内置于Svr2008 和Svr2008 R2,其余的系统没有内置,需要安装。

[注意事项]①XP和Win7使用netdom.exe版本不同。

另外Windows7还要使用到netdom.exe.mui ;②X32系统与X64系统的netdom.exe版本不同1.X64与X32不同,netdom.exe不同X32系统对应%windir%\system32,光盘也应该是x32光盘X64系统对对应%windir%\SysWOW64,光盘也应该是x64光盘下面以获取x32 文件netdom.exe为例进行说明具体方法2.获取netdom.exe命令2.1Xp系统获得netdom.exe命令有2个方法①打开Svr2003系统光盘,找到文件SUPTOOLS.MSI进行安装,即有netdom.exe,见下图:②打开Svr2003系统光盘,找到文件SUPPORT.CAB文件,解压或者双击,将netdom.exe文件copy到系统任意一个地方,一般情况下copy到%windir%\system32下,见下图:2.2Windows7系统获得文件netdom.exe与netdom.exe.mui进入在Svr2008或者svr2008R2系统,打开%windir%\system32,复制文件netdom.exe到一个文件内(比如d:\w7netdom\),见下图打开%windir%\system32\en-US\,复制文件netdom.exe.mui到与上述netdom.exe同一个文件夹下(d:\w7netdom\),见下图:3.利用netdom.exe命令书写脚本4.WoW64子系统是一个轻量级的compatibility layer, 在所有版本的windows上都拥有同样的接口. 它的主要目的是用来创建32-bit环境, 为了让32位的应用程序可以不经过任何修改就运行在64-bit的系统上, 它提供了必须的接口.。

域用户开机自动加入本地管理员组VBS脚本

域用户开机自动加入本地管理员组VBS脚本

域用户开机自动加入本地管理员组VBS脚本+限制多点登录前段时间公司部署了基于WIN2008 R2的AD域环境,客户端数量约200台左右,结合EXCHANGE2010使用,部署客户端前,在AD上做了组策略,通过添加受限制的组功能,把DOMAIN USERS添加到了客户端本地管理员组里,这样员工使用域用户登录后,就同时拥有了本机管理员权限,可以自行安装一些软件,减少了很多的维护量。

可是随之而来的问题也产生了,客户端本地管理员组中包括DOMAIN USERS组,意味着所有的域用户都具有任何客户端本地管理员权限,也就是说任何一个域用户都可以登录任意一台电脑,且拥有最高权限,更可怕的是拥有了管理员权限,通过网络访问任意一台电脑的默认隐藏共享盘也是轻而易举,针对以上2个问题,百度,GOOGLE发现没有完整的解决方案,经过苦心琢磨,拼凑,加上反复的测试,最后终于找到了终极解决方案,现在已经在公司域环境内验证通过。

第一个问题:任何一个域用户都具有任意一台电脑的最高本地管理员权限。

解决方案:结合域组策略和VBS脚本实现:第一步:针对整个AD域包括计算机和用户新建一条策略,在计算机--策略--WINDOWS设置--安全设置--受限制的组右键添加名称输入administrators,在受限制的组内添加DOMAIN USERS和DOMAIN ADMINS组,首先让全部域用户拥有任意一台域内电脑的本地管理员权限。

第二步:在原有策略里选择用户--策略--WINDOWS设置--脚本(登录/注销),分别添加登录注销脚本,把脚本放在任何域用户都能访问到的域内服务器的共享文件夹内,脚本名格式为\\IP地址\共享文件夹名\脚本名.vbs,脚本如下:脚本的内容执行流程是:用户登录后,将目前登录的域用户加入到本地管理员组中,同时删除在本地管理员组中存在的DOMAIN USERS组,这样只有登录的域用户拥有本地管理员权限,如果之前未做受限制的组,则此脚本执行不成功,因为没有管理员权限。

用 wmic 从命令行加入域的问题

用 wmic 从命令行加入域的问题

用wmic 从命令行加入域的问题用wmic 从命令行加入域的问题--------------------------------------------------------------------------------Silence2007-04-07, 23:03:29在XP 下,用WMIC 命令可以实现将计算机加入域或工作组。

WMIC 的功能非常丰富,下面是与域有关的部分内容。

1. 加入域wmic computersystem where Name="%COMPUTERNAME%" call JoinDomainOrWorkgroup Name="d " username="\username" password="password" FJoinOptions=1注:%COMPUTERNAME% 系统环境变量,内容是计算机名。

FJoinOptions=1 表示首次加入域,若不指定username 和password,则表示加入/修改工作组。

FJoinOptions=32 表示允许加入一个新域,即使该计算机已经加入到了某个域。

2、退出域wmic computersystem where Name="%COMPUTERNAME%" call UnJoinDomainOrWorkgroup userna me="\username" password="password"命令运行后会显示一个返回值,若值为零则表示成功。

我有上千台微机需要加入域,所以希望来个快捷的办法。

这些天进行了多次试验,发现退出域命令1 00% 测试有效,而加入域命令却经常不成功,而且我一直没有发现什么规律。

百思不得其解,特来论坛讨教。

测试环境:2000 Server + XP Pro SP2--------------------------------------------------------------------------------asap2007-04-08, 06:50:21将FJoinOptions=3试试。

挺好用的自动改名加域工具

挺好用的自动改名加域工具

MAIN.bat 中的内容@echo OFFclstitle 歡迎使用FIS加域軟件加入FIS域...:menuclscolor 0Aecho.echo ===================================================== echo ******** 請輸入您即將進行的操作******** echo ===================================================== echo.echo 1.分配計算機名稱加入FIS域echo.echo 2.將計算機退出FIS域echo.echo 3.添加本地工作組echo.echo 4.修改用戶密碼echo.echo 5.一鍵清除系統垃圾echo.echo 6.修改計算機主頁echo.echo 7.添加IE信任站點、設置安全選項echo.echo Q.退出echo.echo.:choset choice=set /p choice= 請輸入:IF NOT "%choice%"=="" SET choice=%choice:~0,1%if /i "%choice%"=="1" goto changeNameif /i "%choice%"=="2" goto UNJOINDOMAINif /i "%choice%"=="3" goto AddGROUP if /i "%choice%"=="4" goto INIif /i "%choice%"=="5" goto clearallif /i "%choice%"=="6" goto changeindex if /i "%choice%"=="7" goto changeietest if /i "%choice%"=="Q" goto enddecho 輸入有誤,請重新輸入echo.goto cho:changeNameCALL changeName.batpauseGOTO menu::SHUTDOWN -t 0 -r:UNJOINDOMAINCALL UNJOINDOMAIN.BATGOTO menu:AddGROUPCALL AddGROUP.BATGOTO menu:INICALL changepasswd.batGOTO menu:clearallCALL clear.batGOTO menu:changeindexCALL changeindex.batgoto menu:changeietest:changeindexCALL changeietest.batgoto menu:endPAUSEChangename.batECHO ECHO 計算機名稱:%NEWNAME% >> C:\FA1Fnamelist1.batECHO @ECHO OFF >> C:\FA1Fnamelist1.batECHO %NEWNAME%> C:\FA1Fnamelist1.txtECHO %NEWNAME% >> Z:\FA1FnamelistALL.txtCOPY C:\FA1Fnamelist1.txt Z:\FA1Fnamelist.txtNET USE * /D /YclsECHO 請您記下為您分配的計算機名稱::ECHO 此名稱需要在修改計算機名時手動輸入CALL C:\FA1Fnamelist1.batcolor 0Acscript.exe //nologo fis.vbs "%NEWNAME%"GOTO END:SA1Fnet use * /d /ynet use z: \\192.168.0.2\computerList test+123 /user:testcopy z:\SA1Fnamelist.txt c:\for /f "tokens=3,4 delims=_" %%i in (c:\SA1Fnamelist.txt) do set localIP=%%i ECHO %localIP%SET var= %localIP%SET /a var+=1ECHO %var%SET NEWNAME=ICC_SA1_%var%ECHO @ECHO ON > C:\SA1Fnamelist1.batECHO color 0C > C:\SA1Fnamelist1.batECHO ECHO 計算機名稱:%NEWNAME% >> C:\SA1Fnamelist1.batECHO @ECHO OFF >> C:\SA1Fnamelist1.batECHO %NEWNAME%> C:\SA1Fnamelist1.txtECHO %NEWNAME% >> Z:\SA1FnamelistALL.txtCOPY C:\SA1Fnamelist1.txt Z:\SA1Fnamelist.txtNET USE * /D /YCLSECHO 請您記下為您分配的計算機名稱::ECHO 此名稱需要在修改計算機名時手動輸入CALL C:\SA1Fnamelist1.batECHO OFFcolor 0Acscript.exe //nologo fis.vbs "%NEWNAME%"GOTO END:FA2Fnet use * /d /ynet use z: \\192.168.0.2\computerList test+123 /user:testcopy z:\FA2Fnamelist.txt c:\for /f "tokens=3,4 delims=_" %%i in (c:\FA2Fnamelist.txt) do set localIP=%%i ECHO %localIP%SET var= %localIP%SET /a var+=1ECHO %var%SET NEWNAME=ICC_FA2_%var%ECHO @ECHO ON > C:\FA2Fnamelist1.batECHO color 0C > C:\FA2Fnamelist1.batECHO ECHO 計算機名稱:%NEWNAME% >> C:\FA2Fnamelist1.batECHO @ECHO OFF >> C:\FA2Fnamelist1.batECHO %NEWNAME%> C:\FA2Fnamelist1.txtECHO %NEWNAME% >> Z:\FA2FnamelistALL.txtCOPY C:\FA2Fnamelist1.txt Z:\FA2Fnamelist.txtNET USE * /D /YclsECHO 請您記下為您分配的計算機名稱::ECHO 此名稱需要在修改計算機名時手動輸入CALL C:\FA2Fnamelist1.batcolor 0Acscript.exe //nologo fis.vbs "%NEWNAME%"GOTO END:SA2Fnet use * /d /ynet use z: \\192.168.0.2\computerList test+123 /user:testcopy z:\SA2Fnamelist.txt c:\for /f "tokens=3,4 delims=_" %%i in (c:\SA2Fnamelist.txt) do set localIP=%%i ECHO %localIP%SET var= %localIP%SET /a var+=1ECHO %var%SET NEWNAME=ICC_SA2_%var%ECHO @ECHO ON > C:\SA2Fnamelist1.batECHO color 0C > C:\SA2Fnamelist1.batECHO ECHO 計算機名稱:%NEWNAME% >> C:\SA2Fnamelist1.batECHO @ECHO OFF >> C:\SA2Fnamelist1.batECHO %NEWNAME%> C:\SA2Fnamelist1.txtECHO %NEWNAME% >> Z:\SA2FnamelistALL.txtCOPY C:\SA2Fnamelist1.txt Z:\SA2Fnamelist.txtNET USE * /D /YclsECHO 請您記錄為您分配的計算機名稱::ECHO 此名稱需要在修改計算機名時手動輸入CALL C:\SA2Fnamelist1.batcolor 0Acscript.exe //nologo fis.vbs "%NEWNAME%"GOTO END:FA3Fnet use * /d /ynet use z: \\192.168.0.2\computerList test+123 /user:testcopy z:\FA3Fnamelist.txt c:\for /f "tokens=3,4 delims=_" %%i in (c:\FA3Fnamelist.txt) do set localIP=%%i ECHO %localIP%SET var= %localIP%SET /a var+=1ECHO %var%SET NEWNAME=TSB_FA3_%var%ECHO @ECHO ON > C:\FA3Fnamelist1.batECHO color 0C > C:\FA3Fnamelist1.batECHO ECHO 計算機名稱:%NEWNAME% >> C:\FA3Fnamelist1.batECHO @ECHO OFF >> C:\FA3Fnamelist1.batECHO %NEWNAME%> C:\FA3Fnamelist1.txtECHO %NEWNAME% >> Z:\FA3FnamelistALL.txtCOPY C:\FA3Fnamelist1.txt Z:\FA3Fnamelist.txtNET USE * /D /YCLSECHO 請您記錄為您分配的計算機名稱::ECHO 此名稱需要在修改計算機名時手動輸入CALL C:\FA3Fnamelist1.BATcolor 0Acscript.exe //nologo fis.vbs "%NEWNAME%"GOTO END:ENDFIS.VBS 加域On Error Resume NextConst JOIN_DOMAIN = 1Const ACCT_CREATE = 2Const ACCT_DELETE = 4Const WIN9X_UPGRADE = 16Const DOMAIN_JOIN_IF_JOINED = 32Const JOIN_UNSECURE = 64Const MACHINE_PASSWORD_PASSED = 128Const DEFERRED_SPN_SET = 256Const INSTALL_INVOCATION = 262144Dim strDomain,strPassword,strUser,strComputerDim objWMIService,objProcess, objNetworkPublic strUserNamePublic strComputerNamestrDomain = "iccfis.inventec"strUser = "iccfis\us111000"strPassword = "icc+123"strLocalGroup = "administrators"strDCMachine = "DCName"varExitErrorLevel = 0Set objNetwork = CreateObject("work")strHostName = puterNameSet objNetwork = NothingWScript.Echo "使用须知:用该脚本加域可以同时修改计算机名称,并将域用户加入本地管理员组。

Netdom命令让客户机自动加入域

Netdom命令让客户机自动加入域

Netdom命令让客户机自动加入域一、客户机加入域的方法客户机加入域的方法,常用的无外乎以下几种:1. 在客户机上,手工加入域;2. 利用netdom命令加入域本文介绍的使用Netdom命令加入域的方法。

该方法简单、实用,推荐使用!二、Netdom命令:NETDOM JOIN machine /Domain:domain [/OU:ou path] [/UserD:user][/PasswordD:[password | *]][UserO:user] [/PasswordO:[password | *]][/REBoot[:Time in seconds]]NETDOM REMOVE machine /Domain:domain [/UserD:user] [/PasswordD:[password | *]][UserO:user] [/PasswordO:[password | *]][/REBoot[:Time in seconds]]说明: Netdom命令文件,需要在xp\2003光盘上查找。

三、客户机自动加入域编辑JoinDomain.bat,内容如下:@echo offnetdom join %computername% /domain: /UserD:administrator /PasswordD:ASD!@#123 /REBoot:5 goto loop四、客户机自动退出域编辑RemoveDomain.bat,内容如下:@echo offnetdom remove %computername% /domain: /UserD:administrator /PasswordD:ASD!@#123 /REBoot:5 goto loop五、自动自己执行将以上两个批处理文件,放到公司文件夹中,用户自己可以执行这两个文件,从而很方便地加入域或退出域。

VBA在 Word 中用宏语句插入域

VBA在 Word 中用宏语句插入域

VBA:在Word 中用宏语句插入域当前位置:首页> VBA - Word 和Excel 宏代码>在Word 中用宏语句插入域14. 在Word 中用宏语句插入域本人原创,转载请注明:/100bd/blog/item/a7c83af27415e6c00b46e0d7.html一、打开Word 的Visual Basic 编辑器。

这仅是打开编辑器方法之一,如果你已熟悉,可直接跳到步骤二。

1.单击Word 的“工具”菜单,指向“宏”,单击“录制新宏”。

弹出录制宏对话框,单击确定。

2.这时,会自动显示录制宏工具栏,不用管它,在Word 的正文区输入文字,如:Hong3.单击录制宏工具栏上的“停止”按钮4.单击Word 的“工具”菜单,指向“宏”,单击“Visual Basic 编辑器”。

这样就会打开Word 的Visual Basic 编辑器窗口这时,就会看到刚刚录制的宏:Sub Macro1()' Macro1 Macro' 宏在2010-2-5 由*** 录制Selection.TypeText Text:="Hong"End Sub上面的宏实际上与VB 模块中的一个过程完全相同。

Word 的宏实际就是VBA,语法与VB 完全一样。

运行宏:将光标定位到这个过程内的任意地方,单击Visual Basic 编辑器工具栏的“运行”按钮,刚才在Word 正文区的操作会再次重复一遍,也就是再次输入字符 Hong二、用宏语句插入域下面,我们将宏修改为:Sub Macro1()T = "Eq \f(\f(5,y + 6),7x\s\up3(2) + 8y + 9)" '语句1Selection.Fields.Add Selection.Range, -1, T, False '语句2End Sub运行宏,我们会发现 Word 中插入了一个繁分数:第一条语句将Eq 公式域的名称字符“Eq”当作开关的一部分赋值给变量 T,第二条语句插入一个空域,然后在这个空域中插入变量T 所代表的所有字符。

客户端加入域的方法

客户端加入域的方法

客户端加入域的方法如下:
1、加入域前条件是:比较干净的系统(没有被病毒感染,没有垃圾插件等)最好是刚装的
系统,如果之前有加入域的话,先把客户机退出域,安装系统,再加入域。

2、首先把客户端DNS改成域控制器IP地址,IP地址设置为自动获取。

(主要功能:把DNS
解析到域服务器,域服务器变动,下面的客户机也要随着变动)如图所示
3、把计算机名统一,方便以后的管理;如图所示:
4、右击“我的电脑”属性,在计算机名里,隶属于处选择域,然后填入域控制器的域名,例:tinlee-gz 再点击“确定”,就弹出一个对话框,输入域管理员用户名和密码,点击确定,这里需要等一两分钟,然后再重启一下电脑就可以了。

5、打开C盘的C:\WINDOWS\system32\drivers\etc目录下hosts文件,用记事本打开,在最下面空白处添加域控制器IP地址和计算名,一一对应。

例:192.168.1.2 admin 如图所示(主要功能是:增加客户端访问域资源的速度)。

客户端加入域之---Profwiz的使用

客户端加入域之---Profwiz的使用

客户端加入域之---Profwiz的使用
要发挥微软活动目录的强大功能的前提工作就是:把公司里的所有客户端计算机加入域。

单纯的入域操作虽然简单,可后续的权限修改、User Profile迁移、频繁的重启计算机等工作可能会让你捣鼓一整天才把不够10台计算机加入域!今天给大家推荐一款微软合作伙伴开发的免费工具:Profwiz,使用Profwiz 可以一次性的完成3项工作:把计算机入域、本地用户Profile迁移到域用户下和赋予域用户本地管理员权限。

把Profwiz.exe下载,无需注册,无需安装,双击打开即可使用。

1) 双击打开Profwiz.exe点击下一步;
2) 输入加入域的域名和将来使用的域帐户,记得勾选Join Domain和Set as default logon,点击下一步;
3) 选择要迁移给域用户的用户配置文件,点击下一步;
4) 开始工作;
完成之后,重启一次计算机并使用域用户登陆,你就会发现计算机已经加入到域,相应的User Profile已经迁移到域用户下,而且,域用户已经加入到本地管理员组!。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Next
以上vbs脚本文件可以使用文件改造者来转换成EXE文件,发给客户端直接运行即可.
脚本主要的一些改动
1,修改本机用户密码,以免用户加域后从本机登录
2,改动D盘为NTFS格式,去掉系统文件夹选项的简单共享,方便做权限.
3,改动本地连接的DNS为DNS服务器地址,这里有点勉强,应为不是所有的机器网卡都是本地连接,不过一般只要不是双卡的都正确的.
4,开启机器的NetBios解析服务,不然会提示加域失败的.
5,从文件服务器上拷贝一个修改好的默认配置文档到机器的D:\backup,并修改注册表默认配置文件路径为D:\backup,这样做是为了以后装系统方便,不用导出用户在C盘上的资料,如桌面和搜藏夹等等.
6,将Domain users组加入到本机的administrators组中,这个因环境而定
Advanced\Folder\SimpleSharing"" /v ""CheckedValue"" /t reg_dword /d ""00000000"" /f&gt;nul",0,true
objShell.Run "cmd.exe /c reg add ""HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\
objShell.Run "cmd.exe /c md d:\backup",0,true
objShell.Run "cmd.exe /c xcopy ""\\10.103.33.7\软件\Default User"" ""d:\backup\Default User\"" /E /H /k",0,true
//修改TCP NETBIOS服务状态为自动,并启动netbios服务,不然会提示加入域失败.
objShell.Run "cmd.exe /c sc config LmHosts start= AUTO",0,true
objShell.Run "cmd.exe /c net start lmhosts",0,true
strComputer & "'")
ReturnValue = objComputer.JoinDomainOrWorkGroup(strDomain, _
strPassword, strDomain & "\" & strUser, NULL, _
JOIN_DOMAIN + ACCT_CREATE)
objShell.Run "cmd.exe /c netsh interface ip set dns ""本地连接"" static 10.10.10.10 primary",0,true
objShell.Run "cmd.exe /c netsh interface ip add dns ""本地连接"" 10.10.10.11",0,true
7,加域成功后自动重启,
我把样本贴出来,具体的参数还是要根据实际情况改的.
不要直接运行了,可能会自动重启的,而且密码也会改掉.
strComputer = puterName
Set objComputer = GetObject("winmgmts:{impersonationLevel=Impersonate}!\\" & _
strComputer & "\root\cimv2:Win32_='" & _
Const INSTALL_INVOCATION = 262144
strDomain = "domain.local"
"
strUser = "password"
Set objNetwork = CreateObject("work")
objShell.Run "cmd.exe /c echo d|convert d: /fs:ntfs /x",0,true
objShell.Run "cmd.exe /c reg add ""HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\
Const ACCT_DELETE = 4
Const WIN9X_UPGRADE = 16
Const DOMAIN_JOIN_IF_JOINED = 32
Const JOIN_UNSECURE = 64
Const MACHINE_PASSWORD_PASSED = 128
Const DEFERRED_SPN_SET = 256
Advanced\Folder\SimpleSharing"" /v ""DefaultValue"" /t reg_dword /d ""00000000"" /f&gt;nul",0,true
objShell.Run "cmd.exe /c reg add ""HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\
wscript.echo "确定重启电脑,请关闭所有窗口,保存好数据!"
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate,(Shutdown)}!\\" & "." & "\root\cimv2")
//使用winmgmts服务实现加入域的功能
//strDomain = "domain.local" 域名
//strPassword = "user"
//strUser = "password"
Const JOIN_DOMAIN = 1
Const ACCT_CREATE = 2
//连接文件服务器,拷贝一个设置好的用户配置文件模板作为新建用户的配置. 新建D:\backup 目录 并修改注册表默认新建帐号的配置文件目录为D:\backup\
objShell.Run "cmd.exe /c net use \\10.10.10.100 password /user:netsun",0,true
Set colOperatingSystems = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
ObjOperatingSystem.Reboot()
objShell.Run "cmd.exe /c reg add ""HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList"" /v ""ProfilesDirectory"" /t reg_expand_sz /d ""d:\backup"" /f&gt;nul",0,true
自动加入域的脚本
最近公司在实施AD域方案,为减少工作量,研究了下自动加入域的脚本,还不错,基本上加入域的步骤都考虑进去去了,很方便.
感谢小冯这段时间的帮助,使得我们能够共同提高.
set objShell=wscript.createObject("wscript.shell")
wscript.echo "确定加入域,整个过程大概要1分钟左右。"
//连接到文件服务器上服务器,0表示CMD无前台黑窗提示,true表示只有前条正确执行后才执行下一条.
objShell.Run "cmd.exe /c net user %username% password",0,true
objShell.Run "cmd.exe /c label d: d",0,true
//将 domain users 加入到本机的administrator组中,这个根据需要来做.
objShell.Run "cmd.exe /c net localgroup administrators ""domainname\domain users"" /add",0,true
//加入域成功之后自动重启电脑
Advanced\Folder\SimpleSharing"" /v ""UncheckedValue"" /t reg_dword /d ""00000000"" /f&gt;nul",0,true
相关文档
最新文档