استيراد البيانات إلى دليلي

هناك عدة طرق يمكنك من خلالها استخدام PowerShell لاستيراد البيانات إلى الدليل، ولكن الطريقة الأكثر استخداما هي استخدام ملف CSV. يمكن إنشاء هذا الملف يدويا، على سبيل المثال باستخدام Excel، أو يمكن تصديره من مصدر بيانات موجود مثل قاعدة بيانات SQL أو تطبيق الموارد البشرية. فيما يلي بعض السيناريوهات الشائعة لاستيراد البيانات إلى Azure Active Directory:

إنشاء مجمع للمستخدمين الجدد

إذا كنت تريد إنشاء مستخدمين مجمعين في Azure Active Directory ولديك ملف csv يحتوي على معلومات حول المستخدمين الجدد الذين تريد إنشاؤهم، فإليك بعض الاعتبارات:

  1. تحتاج إلى إنشاء أو تنفيذ اصطلاح تسمية لأسماء المستخدمين وأسماء العرض والأسماء المستعارة. مثال على ذلك: يتم إنشاء أسماء المستخدمين من اسم العائلة للمستخدم، متبوعة بنقطة، متبوعة بالاسم الأول. لذلك سيكون لدى "جون سميث" في contoso.com اسم مستخدم من "Smith.John@contoso.com". ستحتاج إلى تنفيذ قواعد مماثلة لأسماء العرض - ربما تريد إضافة اسم القسم إلى اسم العرض، كما هو الحال في "John Smith (Accounting)" - وللاسم المستعار.
  2. تحتاج إلى تنفيذ اصطلاح لكلمة المرور الأولية للمستخدم الذي تم إنشاؤه حديثا، وتحتاج إلى معرفة طريقة للمستخدمين الجدد لتلقي كلمة المرور الخاصة بهم بطريقة آمنة. الأساليب شائعة الاستخدام لهذا هي إنشاء كلمة مرور عشوائية وإرسالها عبر البريد الإلكتروني إلى المستخدم الجديد أو مديره.

بافتراض أنك أنشأت هذه، دعونا نلقي نظرة على ما يحتاج إليه ملف CSV الذي نستخدمه لإنشاء المستخدمين الجدد. فيما يلي مثال على ملف CSV الذي نستخدمه في هذه المقالة:

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

لإنشاء هؤلاء المستخدمين بشكل مجمع باستخدام PowerShell، سنحتاج إلى اتخاذ عدة خطوات:

  1. إعداد جلسة PowerShell مع الدليل الخاص بك - سنستخدم Connect-AzureAD cmdlet لهذا.
  2. استيراد البيانات من ملف CSV في جلسة عمل PowerShell باستخدام Import-CSV cmdlet.
  3. لكل سطر في الملف، قم بإنشاء المعلمات المطلوبة لإنشاء مستخدم جديد
  4. تنفيذ cmdlet لإنشاء المستخدم الجديد باستخدام New-AzureADUser cmdlet

إذا كنت ستستخدم هذا البرنامج النصي في بيئة إنتاج، فربما ترغب أيضا في إضافة بعض الأجزاء الإضافية، مثل:

  • معالجة الأخطاء - ما يجب فعله إذا تعذر إنشاء مستخدم
  • تقارير التنفيذ - عند انتهاء البرنامج النصي، قدم نظرة عامة على ما فعله: عدد المستخدمين الذين تم إنشاؤهم وما إلى ذلك.

سنتخطى هذه الأجزاء في الوقت الحالي ونركز على الوظائف الأساسية.

فيما يلي البرنامج النصي الذي يمكنك استخدامه لاستيراد ملف CSV كما هو موضح وإنشاء مستخدمين جدد. لكي يعمل هذا البرنامج النصي في بيئتك، ستحتاج إلى تحديث القيم في القسم الأول إلى القيم الصحيحة للبيئة الخاصة بك.

ملاحظة: يجب أن تتوافق كلمة مرور المستخدمين الجدد مع قواعد تعقيد كلمة المرور التي قمت بتعيينها للدليل الخاص بك. ملاحظة: يجب أن يكون حساب مسؤول الذي تحدده هنا مسؤولا في الدليل الذي تحدده

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

ملاحظة: بعد تنفيذ هذا البرنامج النصي بنجاح، سيتم إنشاء المستخدمين الجدد في Azure Active Directory. ليس ethat نظرا لأننا حددنا -AccountEnabled = $True، يمكن للمستخدمين الجدد استخدام كلمة المرور الخاصة بهم على الفور لتسجيل الدخول إلى الدليل. إذا كنت لا تريد أن تكون حسابات المستخدمين نشطة مباشرة بعد تشغيل البرنامج النصي، يمكنك تحديد -AccountEnabled = $False، وتمكين الحسابات لاحقا باستخدام Set-AzureADUser cmdlet.