我一直在各处搜寻,尝试了很多不同的组合,但我似乎无法弄清楚如何从AD的组织部分获得“职称”。
以下是我尝试过的一些事情
get-aduser -Filter * -SearchBase "Bob.Barker" -Properties sAMAccountName,Title
Get-ADUser -identity "Bob.Barker" -Filter * -Properties title | group title -NoElement
另外,作为奖金问题,您将如何设置职位。
谢谢大家的帮助。
答案 0 :(得分:1)
在您的示例中,如果用户的用户名是Bob.Barker,则使用此:
get-aduser -Filter {samAccountName -eq "Bob.Barker"} -Properties sAMAccountName,Title
或者如果姓氏是 Barker
get-aduser -Filter {sn -eq "Barker"} -Properties sAMAccountName,Title
答案 1 :(得分:1)
(我知道老线程,我很高兴知道一些问题的答案-希望能很快帮助需要此参考的下一个家伙/女孩)
这些powershell块是正确的:
get-aduser -Filter {samAccountName -eq "Bob.Barker"} -Properties sAMAccountName,Title
(通过SamAccountname查找,更为准确)
get-aduser -Filter {sn -eq "Barker"} -Properties sAMAccountName,Title
(按姓/名查找,如果您的AD很大,则需要经历很多结果)
上面的另一个问题是
此外,作为一个奖励问题,您将如何设置职称。
在下面:
Get-aduser -identity bob.barker | set-aduser -replace @{title="New Job Title"} -whatif
我喜欢使用-whatif,以防万一出了什么问题而让CEO成为管理员。
在这里提交:注意,首先使用get-aduser查找用户,然后在管道|中使用@ {}大括号之间的新值设置aduser。
Get-aduser -identity bob.barker | set-aduser -replace @{title="New Job Title"}
这是一个奖励答案。如果您要导出一大堆具有相同标题且需要新标题的用户,请将您的搜索结果导出到CSV:
Get-Aduser -filter 'Title -like "Old Job Title"' -Properties * | select samaccountname | Export-csv "C:\some_path\change_these_titles_samaccountnames.csv"
导出的CSV只会具有与您要查找的职位(在此情况下为“旧职位”)相匹配的SamAccountnames。
现在,创建一些$变量来存储新的职位,要导入的CSV和samaccountname,以及一个for循环来查看CSV文件。
$Set_Title=Import-CSV "C:\some_path\change_these_titles_samaccountnames.csv"
$New_Title="New Title for everyone in CSV file"
foreach ($User in $Set_Title) {
$User.sAMAccountName
Set-ADUser -Identity $User.sAMAccountName -Title $New_Title
}
您甚至可以将一个count变量放在for循环之外,以显示有多少用户被更新:
$total = ($Set_Title).count
$total
Write-Host "AD User Titles have been updated..."
希望这可以帮助下一个人!
答案 2 :(得分:0)
使用它来获取您需要的所有信息,例如标题相关或组织信息
Get-ADUser -Filter {samAccountName -like "*bla*"} -Properties *