在域环境下,电脑在加域后,默认所有电脑都会放在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*"),

基于IP子网将加域的电脑移动到不同的OU_ActiveDirectory


使用方法:

        下载附件PS脚本文件,依需求修改以下定制

            1、 增加或修改里面的IP范围,改为你域环境中各站点所对应的子网(第25-27行)

基于IP子网将加域的电脑移动到不同的OU_AD_02

            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

基于IP子网将加域的电脑移动到不同的OU_电脑OU_03

        如果需要,可以将PowerShell加到计划任务(Powershell –file”D:\Script\PowerShell-MoveActiveDirectoryComputerByIPSubnet-AD2008R2”),定时自动执行,这样可以达到自动将电脑移动到指定OU的目的了,具体方法可参考文章:http://hubuxcg.blog.51cto.com/2559426/1309431#590523中第四步!