簡體   English   中英

Powershell Active Directory 顯示名稱

[英]Powershell Active Directory DisplayName

我有一個基於 CSV 文件構建活動目錄用戶的 powershell 腳本。 它具有如下定義的屬性:

    -GivenName $_.FirstName `
    -Surname $_.LastName `
    -SamAccountName $_.UserName `

我想添加 DisplayName 屬性以將 $ .FirstName 和 $ .LastName 與中間的空格組合在一起。 我試過:

    -DisplayName $_.FirstName + " " + $_.LastName  `

但是上面的不起作用,它給出了錯誤。

任何人都可以建議我如何使用 CSV 數據中的名字和姓氏定義 DisplayName 屬性嗎?

謝謝

PowerShell 查看傳遞給命令的參數時,每個單獨的標記都被解釋為單獨的輸入參數。

將字符串連接包裝在子表達式 ( $() ) 中以將其作為單個字符串傳遞:

Set-ADUser ... -DisplayName $($_.FirstName + " " + $_.LastName)

或使用可擴展的字符串:

Set-ADUser ... -DisplayName "$($_.FirstName) $($_.LastName)"

正如Lee_Dailey 指出的那樣,您可能希望使用一種稱為“splatting”的技術來組織您的參數參數,而不是將它們拆分為多行:

Import-Csv users.csv |ForEach-Object {
    $parameterArgs = @{
        Name = $_.Name
        SamAccountName = $_.UserName
        GivenName = $_.FirstName
        Surname = $_.LastName
        DisplayName = $_.FirstName,$_.LastName -join ' '
    }

    # pass our parameter arguments by "@splatting"
    New-ADUser @parameterArgs
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM