簡體   English   中英

為用戶返回經理的 samacountname

[英]Return manager's samacountname for users

我需要為來自 AD 的所有活動用戶創建一個 CSV 文件,包括直線經理屬性,但是我需要直線經理sAMAccountName ,而不是cn 這是我到目前為止所擁有的:

Get-ADUser -server server_ip -Filter { mail -like "*" -and ObjectClass -eq "user" } `
  -SearchBase "OU=Active Users,DC=eu,DC=ad,DC=some_company,DC=com" `
  -Properties objectGUID,displayName,office,division,department,employeeNumber,
    employeeID,mobilePhone,officePhone,ipphone,title,givenName,surname,mail,
    manager,sAMAccountName |
  Export-CSV "EU_AD_Properties.csv"

這將返回我想要的所有數據,但給我的是直線經理的cn ,而不是samacountname

有什么想法嗎?

我試過這個:

Get-ADUser -server server_ip -Filter { mail -like "*" -and ObjectClass -eq "user" } `
  -SearchBase "OU=Active Users,DC=eu,DC=ad,DC=some_company,DC=com" `
  -Properties objectGUID,displayName,office,division,department,employeeNumber,
    employeeID,mobilePhone,officePhone,ipphone,title,givenName,surname,mail,
    @{Label="Manager";Expression={(Get-aduser -filter {sAMAccountName -eq $_.Manager}.sAMAaccountName)}},
    sAMAccountName |
  Export-CSV "EU_AD_Properties.csv"

但是,這會出錯。

在這里,$user 是您要查詢經理信息的用戶

(get-aduser (get-aduser $user -Properties manager).manager).samaccountName

您不能在-Properties參數的參數中創建自定義屬性,因為當前對象變量$_在該點不包含值(或至少不是您想要的值)。 您需要在管道稍后的select語句中執行此操作,此時$_實際上保存了您需要處理的值。 您嘗試創建自定義屬性的方式也不起作用:

@{Label="Manager";Expression={(Get-aduser -filter {sAMAccountName -eq $_.Manager}.sAMAaccountName)}}

過濾器腳本塊沒有屬性sAMAccountName 您真正想要做的是獲取管理器 CN 的用戶對象並檢索其sAMAccountName屬性:

@{Label='Manager';Expression={(Get-ADUser $_.Manager).sAMAccountName}}

此外,您不需要過濾器ObjectClass -eq "user" ,因為Get-ADUser無論如何只會返回用戶對象。

所以你的管道應該是這樣的:

Get-ADUser -Server IP -Filter {mail -like "*"} -Properties * `
    -SearchBase "OU=Active Users,DC=eu,DC=ad,DC=some_company,DC=com" |
  select objectGUID, displayName, office, division, department, employeeNumber,
    employeeID, mobilePhone, officePhone, ipphone, title, givenName, surname,
    mail, @{Name='Manager';Expression={(Get-ADUser $_.Manager).sAMAccountName}},
    sAMAccountName |
  Export-CSV "EU_AD_Properties.csv"
Get-ADUser -Filter * -Properties Name,SamAccountName,AccountExpirationDate,Manager | select Name,SamAccountName,AccountExpirationDate,@{N='Manager';E={(Get-ADUser $_.Manager).sAMAccountName}} | Export-Csv "Userdata.csv"

暫無
暫無

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

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