我有一个FQDN格式的计算机名称数组$ computers。我想在第一个句点的右边(包括句点)修剪所有字符。
例如:server-01.mydomain.int = server-01
这是我尝试过的,但出错了。
guava
答案 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] }
由于您总是选择第一个“。”之前的第一个字符串。您只需在点处分割并选择结果数组中的第一个元素即可。