DHCP Powershell排序

时间:2015-09-17 20:57:14

标签: powershell windows-server dhcp

好的,所以这更像是一个基本的Powershell问题,我很确定,但这就是我要做的事情:

我正在编写一个快速脚本,它读取给定范围内的所有DHCP租约,查找客户端名称的任何匹配项(在本例中为名称中的“iphone”),然后从DHCP中删除这些租约。这是我到目前为止所做的:

$leases = Get-DhcpServerv4Lease -ScopeId 192.168.1.0 | select hostname, clientid
#Find all hostnames w/ 'android' or 'iphone' in name, delete lease
$trouble = $leases | select-string -Pattern "android","iphone","ipad"
Remove-DhcpServerv4Lease -ScopeId 192.168.1.0 -ClientId $trouble

问题是$ trouble的输出现在看起来像这样:

@{hostname=Someones-iPhone.domain.com; clientid=00-00-00-00-c7-cc}

由于我无法根据主机名删除租约(因为这不是全局唯一的,我假设),我需要传递MAC,即客户端ID。

如果没有所有其他数据,我怎样才能让输出减少到只有clientid?我用Google搜索了我的心脏,但它没有帮助。提前谢谢!

1 个答案:

答案 0 :(得分:0)

您不需要使用$("#btnClickMe").removeAttr("disabled"); 来过滤属性名称 - 使用Select-String

Where-Object

如果您只想要$Troubles = Get-DhcpServerv4Lease -ScopeId 192.168.1.0 | Where-Object { $_.Hostname -match "android" -or $_.Hostname -match "iphone" -or $_.Hostname -match "ipad" } | Select-Object ClientId 的值,请使用ClientId