Sdílet prostřednictvím


Import dat do adresáře

Data do adresáře můžete prostřednictvím PowerShellu importovat různými způsoby, ale nejčastěji se používá soubor CSV. Tento soubor můžete vytvořit ručně (třeba v Excelu), nebo ho můžete exportovat z existujícího zdroje dat, například z databáze SQL nebo aplikace HR. Podívejte se na několik běžných scénářů importu dat do Azure Active Directory:

Hromadné vytvoření nových uživatelů

Pokud chcete hromadně vytvořit uživatele v Azure Active Directory a máte soubor CSV s informacemi o nových uživatelích, které chcete vytvořit, měli byste vzít v úvahu následující skutečnosti:

  1. Pro uživatelská jména, zobrazovaná jména a aliasy musíte vytvořit nebo implementovat zásady vytváření názvů. Příklad: Uživatelské jméno tvoří příjmení uživatele, tečka a křestní jméno. John Smith v contoso.com bude mít uživatelské jméno Smith.John@contoso.com. Obdobná pravidla budete muset implementovat pro zobrazovaná jména – k zobrazovanému jménu budete třeba chtít přidávat oddělení, například John Smith (Finance) – a pro aliasy.
  2. Budete muset implementovat zásady pro počáteční heslo nově vytvořeného uživatele a budete muset vyřešit způsob, jak budete novým uživatelům heslo bezpečně doručovat. Běžně se to dělá tak, že vygenerujete náhodné heslo a pošlete ho e-mailem novému uživateli nebo jeho nadřízenému.

Předpokládejme, že jste uvedené kroky provedli, a teď se podívejme na to, co musí obsahovat soubor CSV, pomocí kterého vytvoříme nové uživatele. Tady je příklad souboru CSV, který používáme v tomto článku:

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

Abychom mohli hromadně vytvořit tyto uživatele pomocí PowerShellu, musíme provést několik kroků:

  1. Vytvořit relaci PowerShellu s adresářem – k tomu použijeme rutinu Connect-AzureAD.
  2. Importovat data ze souboru CSV v relaci PowerShellu pomocí rutiny Import-CSV.
  3. Pro každý řádek v souboru vytvořit povinné parametry pro vytvoření nového uživatele.
  4. Spustit rutinu pro vytvoření nového uživatele pomocí rutiny New-AzureADUser.

Pokud chcete tento skript použít v produkčním prostředí, budete pravděpodobně taky chtít přidat další části, například:

  • Zpracování chyb – postup, pokud není možné uživatele vytvořit
  • Vytváření sestav provádění – po dokončení skriptu se můžete podívat na to, co skript udělal, například počet vytvořených uživatelů apod.

Tyto části prozatím přeskočíme a zaměříme se na základní funkce.

Tady je skript, pomocí kterého můžete naimportovat soubor CSV uvedeným způsobem a vytvořit nové uživatele. Aby tento skript fungoval ve vašem prostředí, budete muset změnit hodnoty v první části na správné hodnoty pro konkrétní prostředí.

Poznámka: Heslo nových uživatelů musí vyhovovat pravidlům složitosti hesla, která jste u adresáře nastavili. Poznámka: Účet správce, který tady zadáváte, musí být správcem v zadávaném adresáři.

###
### 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
###
    }

Poznámka: Po úspěšném spuštění tohoto skriptu se noví uživatelé vytvoří ve vaší službě Azure Active Directory. Ne ethat, protože jsme zadali -AccountEnabled = $True, noví uživatelé můžou okamžitě použít své heslo pro přihlášení k adresáři. Pokud nechcete, aby účty uživatelů byly aktivní přímo po spuštění skriptu, můžete zadat -AccountEnabled = $False a povolit účty později pomocí rutiny Set-AzureADUser.