2017-01-11 3 views
0

Ich versuche, einen Einliner zu schreiben, der es mir ermöglicht, einen Hostnamen anzugeben und dann über eine Liste von ScopeIDs für diese DHCP-Lease zu suchen. Powershell-Version:Wie abzufragen Windows DHCP-Server über mehrere Bereiche für einen Hostnamen in Powershell

Major Minor Build Revision 
----- ----- ----- -------- 
5  1  14393 576 

Bisher bin ich mit dieser:

Get-DhcpServerv4Lease -ComputerName Server -ScopeId 172.17.16.0 | Where-Object HostName -match Hostname | FT ipaddress,hostname,clientid,addressstate 
Get-DhcpServerv4Lease -ComputerName Server -ScopeId 172.17.17.0 | Where-Object HostName -match Hostname | FT ipaddress,hostname,clientid,addressstate 
Get-DhcpServerv4Lease -ComputerName Server -ScopeId 172.17.18.0 | Where-Object HostName -match Hostname | FT ipaddress,hostname,clientid,addressstate 
Get-DhcpServerv4Lease -ComputerName Server -ScopeId 172.17.19.0 | Where-Object HostName -match Hostname | FT ipaddress,hostname,clientid,addressstate 
Get-DhcpServerv4Lease -ComputerName Server -ScopeId 172.17.76.0 | Where-Object HostName -match Hostname | FT ipaddress,hostname,clientid,addressstate 

Dies funktioniert, aber ich muss den Hostnamen finden Verwendung in jeder Zeile ändern/ersetzen.

Ich war wie, an etwas gedacht

Get-DhcpServerv4Lease -ComputerName Server -ScopeId 172.17.16.0,172.17.17.0,172.17.18.0,172.17.19.0,172.17.76.0 | Where-Object HostName -match Hostname | FT ipaddress,hostname,clientid,addressstate 

aber das Array funktioniert nicht unter dem ScopeId. Jede Hilfe wäre willkommen.

Antwort

0

Sie könnten Rohr in den IP-Adressen mit einem foreach oder dem Alias ​​%:

"172.17.16.0","172.17.17.0","172.17.18.0","172.17.19.0","172.17.76.0" | % { 
    Get-DhcpServerv4Lease -ComputerName Server -ScopeId $_ | 
    Where-Object HostName -match Hostname | 
    FT ipaddress,hostname,clientid,addressstate 
} 
+0

Das funktionierte perfekt. Genial! Vielen Dank. Wäre es möglich, –

+0

auszuführen Würde es eine Möglichkeit geben, Get-DhcpServerv4Scope auszuführen und die Liste der Bereichsausgaben als eine Variable zu puffern, um dieses Array zu ersetzen? –

+0

'(Get-DhcpServerv4Scope -ComputerName Server) .ScopeID | % {... ' – BenH

Verwandte Themen