Forum Discussion
Bulk Update with Company Name in Azure AD
You should share the code, unless you want us to guess 🙂 If you are using the New-AzureADUser cmdlet to set the attribute, there's a known issue with that. Use the Set-AzureADUser cmdlet post creation.
VasilMichev I don't even know if it's new or old? I just want to get the job done and I said I followed the following PS script in this topic: https://techcommunity.microsoft.com/t5/windows-powershell/bulk-update-azure-ad-with-user-attributes-from-csv/m-p/1374479#M1265
Something like this by the replying of Manfred101:
# Connect to AzureAD
Connect-AzureAD
# Get CSV content
$CSVrecords = Import-Csv C:\Temp\Test.csv -Delimiter ";"
# Create arrays for skipped and failed users
$SkippedUsers = @()
$FailedUsers = @()
# Loop trough CSV records
foreach ($CSVrecord in $CSVrecords) {
$upn = $CSVrecord.UserPrincipalName
$user = Get-AzureADUser -Filter "userPrincipalName eq '$upn'"
if ($user) {
try{
$user | Set-AzureADUser -Department $CSVrecord.Department -TelephoneNumber $CSVrecord.TelephoneNumber
} catch {
$FailedUsers += $upn
Write-Warning "$upn user found, but FAILED to update."
}
}
else {
Write-Warning "$upn not found, skipped"
$SkippedUsers += $upn
}
}
# Array skipped users
# $SkippedUsers
# Array failed users
# $FailedUsers
And when you tried to export the users in Azure AD to CSV, note that there is no "Company Name" column in the file, I also want to ask how to add it into the CSV file so that I can do the bulk update of Company Name for all of the Users since we actually have 3 entities in real life but managed by only 1 entities in IT section. Because of that, I have to create a Dynamic Group so that it can do the queries to sort which ones of which company and add to the correct Groups.
- VasilMichevAug 03, 2020MVP
Well how are you exporting it, the code above has nothing that relates to exporting to CSV file. I can see the CompanyName attribute just fine via the Get-AzureADUser cmdlet...
- AngelioMar 09, 2022Copper Contributor
VasilMichev What am I doing wrong here?
I need to update office and company...
# Connect to AzureAD
Connect-AzureAD# Get CSV content
$CSVrecords = Import-Csv C:\PSscripts\office.csv -Delimiter ","# Create arrays for skipped and failed users
$SkippedUsers = @()
$FailedUsers = @()# Loop trough CSV records
foreach ($CSVrecord in $CSVrecords) {
$upn = $CSVrecord.UserPrincipalName
$user = Get-AzureADUser -Filter "userPrincipalName eq '$upn'"
if ($user) {
try{
Set-AzureADUser -ObjectId $($_.ObjectId) -PhysicalDeliveryOfficeName $CSVrecord.PhysicalDeliveryOfficeName -CompanyName $CSVrecord.CompanyName
} catch {
$FailedUsers += $upn
Write-Warning "$upn user found, but FAILED to update."
}
}
else {
Write-Warning "$upn not found, skipped"
$SkippedUsers += $upn
}
}# Array skipped users
# $SkippedUsers# Array failed users
# $FailedUsers---------
CVS looks like this.
But i'm getting the error...
Warning: xxxx user found but failed to update.
If i do not use OBjectID, it throws an error...
cmdlet Set-AzureADUser at command pipeline position 1
Supply values for the following parameters:
ObjectId:Appreciate your help.
Thanks