Radagast
Radagast

Reputation: 1096

Get organization Job title in AD using powershell

I have been searching everywhere, and have tried many different combinations, but I can't seem to figure out how to get the "Job title" from the organization part of AD.

Here are a few things that I have tried

get-aduser -Filter * -SearchBase "Bob.Barker" -Properties sAMAccountName,Title

Get-ADUser -identity "Bob.Barker" -Filter * -Properties title | group title -NoElement 

Also, as a bonus question how would you set the job title.

Thank you all for your assistance.

Upvotes: 4

Views: 73185

Answers (3)

dxx1002
dxx1002

Reputation: 31

(old thread I'm aware, I'm just happy I know the answer to some of these questions - hopefully help out the next guy/gal that needs this reference quickly)

These chunks of powershell are correct:

get-aduser -Filter {samAccountName -eq "Bob.Barker"}  -Properties sAMAccountName,Title

(looking up by SamAccountname, a little more accurate)

get-aduser -Filter {sn -eq "Barker"}  -Properties sAMAccountName,Title

(Looking up by surname/lastname, if you have a big AD you'll have a lot of results to go through)

The other question above was

Also, as a bonus question how would you set the job title.

Here it is below:

Get-aduser -identity bob.barker | set-aduser -replace @{title="New Job Title"} -whatif

I like using the -whatif, just in case something goes terribly wrong and I make the CEO the janitor or something.

And here you commit it: Notice, you find the user first with get-aduser, then in the pipe |, you set-aduser with the new value between the @{} braces

Get-aduser -identity bob.barker | set-aduser -replace @{title="New Job Title"}

And here's a bonus answer. If you want to export a whole bunch of users with the same title who need a new title, export your search results into a CSV:

Get-Aduser -filter 'Title -like "Old Job Title"' -Properties * | select samaccountname | Export-csv "C:\some_path\change_these_titles_samaccountnames.csv"

The exported CSV will only have the SamAccountnames that match that job title you're looking for (in this case "Old Job Title").

Now, create a few $variables to store the new job title, the CSV to import, and the samaccountname, and a for-loop to look at the CSV File.

$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
}

you could even put a count variable outside the for-loop to show how many users were updated:

$total = ($Set_Title).count
$total
Write-Host "AD User Titles have been updated..."

Hope this helps the next person out!

Upvotes: 3

pipi
pipi

Reputation: 11

Use this to get all the information you need, like title related or organizational info

Get-ADUser -Filter {samAccountName -like "*bla*"} -Properties *

Upvotes: 1

Raf
Raf

Reputation: 10117

In your example, if the user's username is Bob.Barker then use this:

get-aduser -Filter {samAccountName -eq "Bob.Barker"}  -Properties sAMAccountName,Title

or if surname is Barker

get-aduser -Filter {sn -eq "Barker"}  -Properties sAMAccountName,Title

Upvotes: 6

Related Questions