首页 > 解决方案 > 在 Powershell 中从字符串中剥离数据

问题描述

我正在从 AD 域中的所有计算机中提取主机名,并且当前命令将其格式化为 url 格式,并以主机名结尾。我只需要主机名,所以我想去掉最后一个正斜杠左边的所有内容。

(([adsi]"WinNT://$((Get-WMIObject Win32_ComputerSystem).Domain)").Children).Where({$_.schemaclassname -eq 'computer'}) | %{ $_.Path }

它按原样输出,我只是碰巧只需要主机名,所以WinNT://subdomain.somedomain.local/hostname我不是刚得到hostname它,而是会重定向到输出文件。

标签: powershell

解决方案


您可以使用-Split运算符来帮助检索数据:

"WinNT://subdomain.somedomain.local/hostname" -Split "/" | Select-Object -Last 1

-Split "/"使用分隔符将值分隔为子字符串数组/。您可以使用数组索引或Select-Object. 由于您想要最后一个值,因此您也可以访问[-1]结果数组 ( ("WinNT://subdomain.somedomain.local/hostname" -Split "/")[-1]) 的索引。

有关更多信息和示例,请参阅关于拆分


推荐阅读