如何使用PowerShell从数组中的项目中删除字符

时间:2018-08-16 15:42:15

标签: powershell

我有一个FQDN格式的计算机名称数组$ computers。我想在第一个句点的右边(包括句点)修剪所有字符。

例如:server-01.mydomain.int = server-01

这是我尝试过的,但出错了。

guava

2 个答案:

答案 0 :(得分:2)

执行|Select Name时,PowerShell返回具有Name属性的对象,而不仅仅是输入对象的每个Name属性的值。

您可以将其更改为Select -ExpandProperty Name,然后使用循环或ForEach-Object遍历数组中的每个项以进行实际的子字符串操作-尽管我们可以完全跳过第一步:

$computers = Get-VM |ForEach-Object { $_.Name.Substring(0, $_.Name.Indexof('.')) }

答案 1 :(得分:0)

或者另一种方式。

$computers = Get-VM | ForEach-Object { ($_.Name -split ".")[0] }

由于您总是选择第一个“。”之前的第一个字符串。您只需在点处分割并选择结果数组中的第一个元素即可。