在域环境下,电脑在加域后,默认所有电脑都会放在computers下面。在单域多站点的域架构中,都会针对各站点配置不同的组策略进行系统更新、软件分发等策略,这样就需要将电脑分别移动到不同站点所对应的OU下。
创新互联建站是一家朝气蓬勃的网站建设公司。公司专注于为企业提供信息化建设解决方案。从事网站开发,网站制作,网站设计,网站模板,微信公众号开发,软件开发,小程序设计,十余年建站对混凝土搅拌罐车等多个方面,拥有丰富的网站维护经验。
如果有统一的电脑命令规则,则可以按电脑名来区分并移动电脑(如果需要,可以将附件的PS中的IP方式改为电脑名的方式),但是如果电脑名没有规则、按电脑的IP子网来移动,那就要每台电脑去查询IP并移动,这将是一个非常耗时的过程!如果管理员没及时去操作,会因组策略套用不成功,导致软件分发、系统更新等无法应用,而达不到统一管理的要求。而在大型的单域多架构环境中,各站点又是不同的管理员,时间长了,就会有越来越多电脑依然存在于Computers没有移动而导致各种问题。
最近在TechNet上,看到一个在2008R2AD上利用IP地址对Win7电脑重组OU的PowerShell:
PowerShell - Organize Windows 7 computers into OUs by IP - 2008R2 only,发现的方法和我的要求很接近,所以拿来进行了一点小加工,达到以下要求:
1、 将60天以上未使用的电脑,移动到指定的OU(Disabled OU,如果没有,请提前创建)
2、 将90天以上未使用的电脑从域中删除(如果不想删除,请注释掉,78-81行)
3、 因为默认手动加域电脑都会放在computers下面,所以只对Computers的电脑进行移动
4、 修改条件:
针对XP/Vista/Win7/Win8/Win10等Windows 客户端电脑(47-53行)
{(OperatingSystem -like "Windows XP*") -or
(OperatingSystem -like "Windows Vista*") -or
(OperatingSystem -like "Windows 7*") -or
(OperatingSystem -like "Windows 8*") -or
(OperatingSystem -like "Windows 10*")},
或是所有非Windows Server的电脑移动到指定的OU,(文件第56-58行注释掉的部分)如果要用下面的条件,请注意将上面的第47-53行注释掉!
(OperatingSystem -notlike "Windows Server*"),
使用方法:
下载附件PS脚本文件,依需求修改以下定制
1、 增加或修改里面的IP范围,改为你域环境中各站点所对应的子网(第25-27行)
2、 将站点修改为你域中的实际站点名(37-39行)
$Site1DN = "OU=Site1,DC=yourdomain,DC=com"
$Site2DN = "OU=Site2,DC=yourdomain,DC=com"
$Site3DN = "OU=Site3,DC=yourdomain,DC=com"
3、 将域名修改为你的域名(第46行)
'CN=Computers,DC=yourdomain,DC=com'
4、 修改PowerShell执行策略,用Get-ExecutionPolicy查询系统默认执行策略,如果为Restricted,
请修改为RemoteSigned:Set-ExecutionPolicy RemoteSigned,
或是Unrestricted :Set-ExecutionPolicy Unrestricted
如果需要,可以将PowerShell加到计划任务(Powershell –file”D:\Script\PowerShell-MoveActiveDirectoryComputerByIPSubnet-AD2008R2”),定时自动执行,这样可以达到自动将电脑移动到指定OU的目的了,具体方法可参考文章:http://hubuxcg.blog.51cto.com/2559426/1309431#590523中第四步!