UpdateImmutableID: Difference between revisions

From UmsWiki
Jump to navigation Jump to search
Rum (talk | contribs)
No edit summary
Rum (talk | contribs)
No edit summary
Line 1: Line 1:
This article describes how to extract immutable ID on users from a local AD / OnPremise AD and how to link this to Office 365. This is usefull when using AADC and users cannot be edited directly in the cloud.  
This article describes how to extract immutable ID on users from a local AD / OnPremise AD and how to link this to Office 365. This is usefull when using AADC and users cannot be edited directly in the cloud.  


==== Step 1 - extract users as a list from SQL ====
====Step 1 - extract users as a list from SQL====
   select distinct STUDIENR from students
   select distinct STUDIENR from students
   where recordtype = 'employee'
   where recordtype = 'employee'
Line 8: Line 8:
Save results as "C:\users.csv"  
Save results as "C:\users.csv"  


==== Step 2 - extract a list of Immutable ID's for users from local AD / onpremise ====
====Step 2 - extract a list of Immutable ID's for users from local AD / onpremise====
Run the following powershell (elevated)
Run the following powershell (elevated)
  $usersTable = New-Object system.Data.DataTable “UsersTable”
  $usersTable = New-Object system.Data.DataTable “UsersTable”
Line 31: Line 31:
   }
   }
   $usersTable | Export-Csv “c:\Users\Inlogic\UserExportIds.csv”
   $usersTable | Export-Csv “c:\Users\Inlogic\UserExportIds.csv”
This

Revision as of 12:53, 24 June 2019

This article describes how to extract immutable ID on users from a local AD / OnPremise AD and how to link this to Office 365. This is usefull when using AADC and users cannot be edited directly in the cloud.

Step 1 - extract users as a list from SQL

 select distinct STUDIENR from students
 where recordtype = 'employee'
 and action = 'add'

Save results as "C:\users.csv"

Step 2 - extract a list of Immutable ID's for users from local AD / onpremise

Run the following powershell (elevated)

$usersTable = New-Object system.Data.DataTable “UsersTable”
 $column1 = New-Object System.Data.DataColumn userPrincipalName,
 ([String])
 $column2 = New-Object System.Data.DataColumn immutableId,
 ([String])
 $usersTable.Columns.Add($column1)
 $usersTable.Columns.Add($column2)
 $users=Import-Csv -Path users.csv -Header “userSamAccountName”
 foreach($user in $users)
 {
 $adUser = Get-ADUser -Identity $user.userSamAccountName
 $adUserGuid = $adUser.ObjectGUID
 $byteArray = $adUserGuid.ToByteArray()
 $immutableId = “”
 $immutableId = [system.convert]::ToBase64String($byteArray)
 $row = $usersTable.NewRow()
 $row.userPrincipalName = $adUser.userPrincipalName
 $row.immutableId = $immutableId
 $usersTable.Rows.Add($row)
 }
 $usersTable | Export-Csv “c:\Users\Inlogic\UserExportIds.csv”

This