【问题标题】:Looking to blend two strings together for AD username希望将两个字符串混合在一起以获得 AD 用户名
【发布时间】:2016-03-15 11:37:04
【问题描述】:

我正在尝试将大约 30 个用户从 CSV 文件导入 Active Directory。我有如何做到这一点的基础知识,如果不是我们的用户名政策,我也能做到。例如,在我的 CSV 中,我有两列,FirstName 和 Surname。然后将它们混合在一起以创建我们的用户名,例如,Luke Robins 将成为 lurobins。

到目前为止我有:

Import-Csv users.csv |
  select Surname, @{n='GivenName';e={$_.'FirstName'}},
         @{n='samaccountname';e={$e = FirstName.Substring(0,2) Surname}}

运行时,给定和姓氏列正常,但 samaccountname 为空白。

【问题讨论】:

    标签: csv powershell active-directory


    【解决方案1】:

    您错过了两个$_ 和一个+。同时删除赋值操作($e =)。

    import-csv users.csv | select Surname,@{n='GivenName';e={$_.'FirstName'}},@{n='samaccountname';e={$_.FirstName.substring(0,2) + $_.Surname}}
    

    【讨论】:

    • 感谢您的快速回复,所以我知道 "$_" 告诉 shell 读取以下列中的每一行。但是,此外,这仍然没有奏效,当我运行它时,我仍然得到一个空白的 samaccount name collum。
    • 啊,所以我设法通过删除“Firstname.substring”之前的“$e”来实现它
    • @LukeRobins93 $_ 是一个 automatic variable,它包含管道中的当前对象。在您可以访问 calculated property 中的属性(如 Surname)之前,您首先需要实际拥有一个对象。
    • 现在一切正常,感谢 restless1987 的解决方案,感谢 Ansgar Wiechers 的澄清。
    猜你喜欢
    • 1970-01-01
    • 2018-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多