我正在寻找 vb / power shell 脚本。我需要检查给定的子网是否与 AD 子网重叠。例如,如果我输入 192.168.2.0/24 子网,则脚本需要检查此子网是否已映射到其他 AD 站点或与其他子网重叠。如果有人能帮忙的话。
问候,
卡西克五世
答案1
这很接近,因为它将采用 IP 地址,但不会采用子网。
nltest /DSADDRESSTOSITE: /ADDRESSES:192.168.1.64
如果给定的 IP 地址是 Active Directory 中定义的站点和子网对的一部分,则输出将类似于:
Get the site-subnet mapping from '\\DC01.contoso.com'.
192.168.1.64 Paris 192.168.1.0/24
如果 IP 地址不是 Active Directory 中站点子网映射的一部分,则输出将类似于:
Get the site-subnet mapping from '\\DC01.contoso.com'.
192.168.1.64 Default-First-Site-Name (null)
因此,在你的脚本中,你可能需要(null)
验证给定的 IP 地址是否不是AD 网站的一部分。
如果你想一次性检查一大堆 IP,
nltest /DSADDRESSTOSITE: /ADDRESSES:$( (Get-Content C:\Temp\IPs.txt ) -join ",")
您可以编写一个比这更时髦的脚本,但我现在懒得为您编写整个脚本。
顺便说一句,在 Active Directory 中定义重叠子网是可以的。域成员只需选择其所属的最小/最具体的子网即可。