powershell - 在 Powershell 中从字符串中剥离数据
问题描述
我正在从 AD 域中的所有计算机中提取主机名,并且当前命令将其格式化为 url 格式,并以主机名结尾。我只需要主机名,所以我想去掉最后一个正斜杠左边的所有内容。
(([adsi]"WinNT://$((Get-WMIObject Win32_ComputerSystem).Domain)").Children).Where({$_.schemaclassname -eq 'computer'}) | %{ $_.Path }
它按原样输出,我只是碰巧只需要主机名,所以WinNT://subdomain.somedomain.local/hostname
我不是刚得到hostname
它,而是会重定向到输出文件。
解决方案
您可以使用-Split
运算符来帮助检索数据:
"WinNT://subdomain.somedomain.local/hostname" -Split "/" | Select-Object -Last 1
-Split "/"
使用分隔符将值分隔为子字符串数组/
。您可以使用数组索引或Select-Object
. 由于您想要最后一个值,因此您也可以访问[-1]
结果数组 ( ("WinNT://subdomain.somedomain.local/hostname" -Split "/")[-1]
) 的索引。
有关更多信息和示例,请参阅关于拆分。
推荐阅读
- java - Spring Data JPA - 方法名称 - @ManyToOne
- python-3.x - Vq 不工作,它在另一个具有相同想法的文件中工作
- azure - 对 Azure Windows Server 2019 虚拟机的 AAD 身份验证
- amazon-web-services - 自定义电子邮件验证页面 AWS Cognito
- bash - bash变量赋值和命令替换中的双引号
- python-3.x - 如何使用变量来确定要使用列表中的哪个索引
- c++ - 如何在到达时将其插入到已满的动态数组中?
- class - 为什么 Dart 中允许使用 new Directory()?
- javascript - 如何在 p5.js 中通过噪声扭曲图像
- javascript - 使用 nodejs 通过 UDP 连接到设备