在PowerShell中为数组列表添加后缀



我有一个主机名数组列表,我需要做两件事。第一种方法是获取服务器名称列表并使其小写。我需要做的第二件事是附加一个域名后缀。我已经得到了数组列表创建并使列表小写,但我有附加域后缀的问题。我所拥有的例子:HOST1HOST2HOST3

$Stringarray = [System.Collections.ArrayList]@(“HOST1" ,"HOST2" , "HOST3", "HOST4")
$Stringarray.tolower()
$Stringarray 

我可以创建一个数组列表,然后使用。tolower()将其变为小写,但是我需要列表中的每个项都包含一个域名。例如:

host1.contoso.com 
host2.contoso.com
host3.contoso.com
host4.contoso.com
etc.

我认为foreach命令可以工作,我只是不确定如何传递参数。

除非您有使用ArrayList的特殊需要,否则您可以简单地使用您选择的循环一次性构建Array,下面是示例中的ForEach-Object

您可以使用+算术运算符来连接字符串。

$domain = 'contoso.com'
$Stringarray = "HOST1" ,"HOST2" , "HOST3", "HOST4" | ForEach-Object {
$_.ToLower() + ".$domain"
}
# $Stringarray is now the expected result:
#
# host1.contoso.com
# host2.contoso.com
# host3.contoso.com
# host4.contoso.com

试着这样做:

$Stringarray = [System.Collections.ArrayList]@(“HOST1" ,"HOST2" , "HOST3", "HOST4")
$Stringarray | % { "$($_.tolower()).contoso.com"   }

最新更新