快乐的星期二,我有一个csv文件,其中有2个地址列,一个用于街道地址,另一个用于说套件,基本上是2行。这种语法似乎不是一种方法。有没有更好的办法? THX!
Set-ADUser -identity $User -Replace @{streetAddress = ("+$Row.'Location Address'+"`r`"+$Row.'Location Address Line 2'+"); l = $Row.'Location City'; postalcode = $Row.'Location Zip'}
答案 0 :(得分:1)
这一行可能不符合你的要求。
"+$Row.'Location Address'+"`r`"+$Row.'Location Address Line 2'+"
看起来您想要从多个变量中构建一个字符串,但是您在开头忘记了"
,因此"+$Row.'Location Address'+"
是一个字符串,然后`r`
在...之外字符串,导致语法错误。
有三种方法可以从PowerShell中的变量构建字符串。第一个是我称之为JavaScript的方式,在你去的时候连接字符串。这是支持的,但不是真的推荐。
"" + $Row.'Location Address' + "`r`n" + $Row.'Location Address Line 2'
第二种是.NET方式,您可以使用格式字符串和-f
运算符。
"{0}`r`n{1}" -f ($Row.'Location Address', $Row.'Location Address Line 2')
第三种是使用$(expr)
语法
"$($Row.'Location Address')`r`n$($Row.'Location Address Line 2')"