好吧,不确定这是否完全有可能。
情况:全新的计算机不在域中,只是一个本地工作组。想要更改该计算机的名称、加入域并将计算机名称放入该域的特定工作组中。这一切都可以通过 GUI 一次性完成,因此理论上应该可以通过命令行完成,对吗?
我可以使用此方法重命名本地计算机:CMD >WMIC COMPUTERSYSTEM where "Name='%computername%'" CALL Rename NEWNAME, Password, User
这是可行的,但是需要重新启动才能使更改生效。
接下来,我制作了一个批处理文件,它可以很好地使用 NETDOM 完成我想要的操作,但是由于名称更改,直到重新启动计算机后才能使用它......
SET /P compname=[promptString]
SET /P org=[promptString]
NETDOM JOIN %compname% /Domain:DOMAIN.NET /OU:%org%,DC=DOMAIN,DC=net /UserD:DOMAIN\user /PasswordD:password /Reboot:15 /verbose
PAUSE
所以我想我的问题是... 有没有办法以一种方式做到这一点而不必重新启动? 如果绝对需要重新启动,那么会浪费太多时间; 我想使用 Windows GUI 执行此操作的唯一原因是立即将其放入我想要的 OU 中,而无需预先准备或进入 AD 并移动计算机。
答案1
也许可以将操作拆分成两个脚本。使用以下命令在重启后自动运行第二个脚本:运行一次键。第一个脚本可以自动设置第二个脚本。
答案2
如果您为 NETDOM 命令设置了超时,那么是否可以设置一个足够长的超时,以便脚本在重新启动之前重命名计算机?换句话说,不是在PAUSE
后面输入命令NETDOM JOIN
,而是在后面输入WMIC
命令。(或者这听起来太像竞争条件了?)