用连接的字符串填充属性

filling attribute with concatenated string

我正在寻找一种方法来连接字符串并将其放入一个活动目录用户帐户对象中,准确地说,放在 altsecurityidentities 中。 要输入的值如下: " 是常量,以及 (firstName)(whitespace)(lastname)(可以从另一个属性中获取的自定义值,格式为 x.yyyyyyyy.z(对我来说重要的是 yyyyyyy 部分 (.substring(2,8 )) 在这里很有魅力。 我想为 TypeName 类型的变量中列出的几个帐户执行此操作:Microsoft.ActiveDirectory.Management.ADUser。 这样就可以为 $accounts 变量下的所有帐户设置它。 到目前为止,我已经有了为其中列出的一个帐户创建属性值的代码: $帐户 | %{'constant value'+$.givenname+' '+$.surname+' '+'('+$(($_.attributename).substring(2,8 ))+')'} 这个,我想输入 altsecurityidentities 属性值,记录事件查看器的成功和错误

你几乎完成了,只需要将值应用到所需的字段:

$accounts | ForEach-Object { Set-ADUser -Identity $_ -Add @{altsecurityidentities = "constant value $($_.givenname) $($_.surname) ($($_.attributename.substring(2,8)))"} }

我已经通过将变量嵌入字符串而不是使用串联来整理您的代码,这样更简洁。