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:
- 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.
- 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:
- Installeer een PowerShell-sessie met uw directory. Hiervoor wordt de cmdlet
Connect-AzureAD
gebruikt. - Importeer de gegevens uit het CSV-bestand in de PowerShell-sessie met behulp van de cmdlet
Import-CSV
. - Maak voor elke regel in het bestand de vereiste parameters voor het maken van een nieuwe gebruiker
- 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.