Share via


Gegevens importeren in mijn directory

U kunt PowerShell op verschillende manieren gebruiken om gegevens te importeren in uw directory, maar de meestgebruikte methode is om een CSV-bestand te gebruiken. Dit bestand kan handmatig worden gemaakt, bijvoorbeeld met behulp van Excel, maar het kan ook worden geƫxporteerd uit een bestaande gegevensbron, zoals een SQL-database of een HR-toepassing. Hier zijn enkele algemene scenario's voor het importeren van gegevens in Azure Active Directory:

Bulksgewijs nieuwe gebruikers maken

Als u bulksgewijs gebruikers wilt maken in Azure Active Directory en u hebt een CSV-bestand met gegevens over de nieuwe gebruikers die u wilt maken, kunt u het volgende overwegen:

  1. U moet een naamconventie tot stand brengen of implementeren voor gebruikersnamen, weergavenamen en aliassen. Een voorbeeld: gebruikersnamen zijn samengesteld uit de achternaam van de gebruiker, gevolgd door een punt, gevolgd door de voornaam. Stefan Spel in contoso.com heeft dus als gebruikersnaam: Smith.John@contoso.com. U moet dezelfde regels implementeren voor weergavenamen. Als u wilt, kunt u de naam van de afdeling toevoegen aan de weergavenaam (zoals in Stefan Spel (Boekhouding) en als alias.
  2. U moet een conventie implementeren voor het eerste wachtwoord van de nieuwe gebruiker en u moet bepalen op welke veilige manier nieuwe gebruikers hun wachtwoorden ontvangen. Een veelgebruikte methode hiervoor is het genereren van een willekeurig wachtwoord en dit per e-mail verzenden naar de nieuwe gebruiker of zijn of haar manager.

Ervan uitgaande dat u dit hebt gedaan, gaan we nu kijken wat het CSV-bestand dat wordt gebruikt om de nieuwe gebruikers te maken, moet bevatten. Hier volgt een voorbeeld van het CSV-bestand dat we in dit artikel gebruiken:

Firstname,MiddleInitials,Lastname,Department,JobTitle
Peter,S,Fischer,Development,Manager
James,T,McGuire,Research,Assistant
Karen,R,Cristo,Sales,Director

Voor het bulksgewijs maken van deze gebruikers met behulp van PowerShell moeten enkele stappen worden uitgevoerd:

  1. Installeer een PowerShell-sessie met uw directory. Hiervoor wordt de cmdlet Connect-AzureAD gebruikt.
  2. Importeer de gegevens uit het CSV-bestand in de PowerShell-sessie met behulp van de cmdlet Import-CSV.
  3. Maak voor elke regel in het bestand de vereiste parameters voor het maken van een nieuwe gebruiker
  4. Voer de cmdlet uit voor het maken van de nieuwe gebruiker met behulp van de cmdlet New-AzureADUser

Als u dit script gebruikt in een productieomgeving, wilt u waarschijnlijk ook wat extra onderdelen toevoegen, zoals:

  • Foutafhandeling: wat er moet worden gedaan als een gebruiker niet kan worden gemaakt
  • Uitvoeringsrapport: als het script is voltooid, ontvangt u een overzicht met het aantal gebruikers dat is gemaakt, enz.

Deze onderdelen worden voorlopig overgeslagen. We concentreren ons op de kernfunctionaliteit.

Dit is het script dat u kunt gebruiken om het CSV-bestand te importeren (zoals hiervoor beschreven) en om nieuwe gebruikers te maken. U moet de waarden in de eerste sectie bijwerken naar de juiste waarden voor uw omgeving om dit script in uw omgeving te laten werken.

Opmerking: het wachtwoord van nieuwe gebruikers moet voldoen aan de regels voor wachtwoordcomplexiteit die u voor uw directory hebt ingesteld. Opmerking: het beheerdersaccount dat u hier opgeeft, moet een beheerder zijn in de directory die u opgeeft

###
### These are vairable you need to update to reflect your environment
###

$Admin = "Admin@contoso.com"
$AdminPassword = "my password"
$Directory = "contoso.com"
$NewUserPassword = "newuserspasswords"
$CsvFilePath = "C:\work\users.csv"


###
### Create a PowerShell connection to my directory. If you do not want to specify the password in the script, you can simply replace this with "Connect-AzureAD", which will prompt for a username and password.
###

$SecPass = ConvertTo-SecureString $AdminPassword -AsPlainText -Force
$Cred = New-Object System.Management.Automation.PSCredential ($Admin, $SecPass)
Connect-AzureAD -Credential $cred

###
### Create a new Password Profile for the new users. We'll be using the same password for all new users in this example
###

$PasswordProfile = New-Object -TypeName Microsoft.Open.AzureAD.Model.PasswordProfile
$PasswordProfile.Password = $NewUserPassword

###
### Import the csv file. You will need to specify the path and file name of the CSV file in this cmdlet
###

$NewUsers = import-csv -Path $CsvFilePath

###
### Loop through all new users in the file. We'll use the ForEach cmdlet for this.
###

Foreach ($NewUser in $NewUsers) { 

###
### Construct the UserPrincipalName, the MailNickName and the DisplayName from the input data in the file 
###

    $UPN = $NewUser.Firstname + "." + $NewUser.LastName + "@" + $Directory
    $DisplayName = $NewUser.Firstname + " " + $NewUser.Lastname + " (" + $NewUser.Department + ")"
    $MailNickName = $NewUser.Firstname + "." + $NewUser.LastName

###
### Now that we have all the necessary data for to create the new user, we can execute the New-AzureADUser cmdlet  
###

    New-AzureADUser -UserPrincipalName $UPN -AccountEnabled $true -DisplayName $DisplayName -GivenName $NewUser.FirstName -MailNickName $MailNickName -Surname $NewUser.LastName -Department $Newuser.Department -JobTitle $NewUser.JobTitle -PasswordProfile $PasswordProfile

###
### End the Foreach loop
###
    }

Opmerking: Nadat dit script is uitgevoerd, zijn de nieuwe gebruikers gemaakt in uw Azure Active Directory. Niet ethat omdat we -AccountEnabled = $True hebben opgegeven, kunnen de nieuwe gebruikers onmiddellijk hun wachtwoord gebruiken om zich aan te melden bij de map. Als u niet wilt dat de gebruikersaccounts direct na het uitvoeren van het script actief zijn, kunt u -AccountEnabled = $False opgeven en de accounts later inschakelen met behulp van de cmdlet Set-AzureADUser.