最好的方法来检查一台机器是否在企业networking上

我正在编写一个Powershell脚本来确定一台机器是否在公司networking上。 该机器可能或不可能在域上,所以我想检查在“IP”级别。

已经写了一些东西来检查几个不同的子网上的几台服务器(以避免有人在同一个IP上的主机在另一个(外部)子网上的风险。)

工作,但它有点慢,而不是特别“面向未来” – 例如在2年的时间里,当我分解服务器将打破。

有没有办法可以使用由本地dhcp服务器给出的dns后缀?

只要指出我需要检查的东西 – 我可以找出脚本。

钽,

看看WMI。 Win32_NetworkAdapterConfiguration类将告诉你关于主机的信息,比如它有什么dns后缀,以及从哪个DHCP服务器租用一个ip地址。

嗯,有趣的问题…

我的$ 3.50:在你的DNS里面用1秒钟的TTL创build一个DNS条目(像hey.look.im.on.the.internal.network.mycompany.com. IN A 127.0.0.1 )并且试着解决它。

如果它存在(&匹配IP应该是),那么你在内部networking上。 如果不是,你在别的地方。 (请注意,这也有一些问题,但似乎比ping-around-the-network方法好一点)。

也许最简单的方法是寻找局域网上应该始终可用的某些东西。 例如网关机器和DNS查询,只有本地DNS服务器应该能够回答。

也许不完全是你想要的,但它可能会让你在那里。

脚本