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