Это не слишком сложно. Прежде всего, вы подключаетесь к машине с установленными RSAT Tools, например, к серверу администратора, кроссу или контроллеру домена, и получаете список всех DHCP-серверов.
$DHCPServers = Get-DhcpServerInDC
Затем мы используем встроенный PowerShell. looping logi c, чтобы пройти через каждый сервер и проверить информацию об ОС, которая вам нужна.
ForEach ($DHCPServer in $DHCPServers){
$OSInfo = Get-CIMInstance -ComputerName $DHCPServer.DnsName -ClassName Win32_OperatingSystem
}
Наконец, мы изменим это выше, чтобы вернуть информацию, которую вы ищете, а именно IP-адрес, имя и версию ОС
ForEach ($DHCPServer in $DHCPServers){
$OSInfo = Get-CIMInstance -ComputerName $DHCPServer.DnsName -ClassName Win32_OperatingSystem
[pscustomobject]@{
ServerName = $DHCPServer.DnsName;
IPAddress=$DHCPServer.IpAddress;
OS=$OSInfo.Caption
}
}
ServerName IPAddress OS
---------- --------- --
dc2016 192.168.10.1 Microsoft Windows Server 2016 Standard
Оттуда вы можете сохранить его в переменной, сделать его электронной таблицей, делать все, что вам нужно.
Надеюсь, это поможет.
Если это не работает, убедитесь, что вы сначала включили PowerShell Remoting.