Forum Discussion
Bulk Update with Company Name in Azure AD
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.
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