كيفية إنشاء وإدارة المستخدمين في Windows باستخدام PowerShell

  • يتيح لك PowerShell إنشاء المستخدمين والمجموعات المحلية أو الخاصة بالمجال وتعديلها وحذفها بكفاءة.
  • يؤدي التشغيل الآلي الشامل باستخدام البرامج النصية وملفات CSV إلى تقليل الأخطاء وتوفير الوقت في إدارة المستخدمين.
  • يساعد استخدام وحدات cmdlets المنظمة في إدارة الحسابات بشكل متقدم وآمن.

كيفية إنشاء وإدارة المستخدمين في Windows باستخدام PowerShell

إن إتقان إدارة المستخدمين في Windows من خلال PowerShell يعد ميزة حقيقية لكل من مسؤولي النظام والمتحمسين الذين يتطلعون إلى تبسيط العمليات وأتمتة المهام المتكررة. PowerShell هي أداة قوية تسمح لك بضبط التحكم في المستخدمين والمجموعات والأذونات على الأجهزة المحلية وأجهزة المجال.، مثالي لبيئات العمل، ولكنه مفيد أيضًا على المستوى الشخصي عندما نريد التحكم في من يمكنه الوصول إلى معداتنا وكيفية القيام بذلك.

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

لماذا استخدام PowerShell لإدارة المستخدمين في Windows؟

يصبح استخدام PowerShell لإدارة المستخدمين في Windows شائعًا بشكل متزايد في الشركات والبيئات المهنية. يلغي سطر الأوامر الحاجة إلى الواجهة الرسومية، مما يقلل من استهلاك الموارد، ويسرع المهام، ويفتح المجال للأتمتة. وهو ضروري أيضًا للخوادم، والآلات الافتراضية، ومحطات العمل التي لا تحتوي على بيئة رسومية.

PowerShell هي لغة برمجة نصية موجهة للكائنات الذي يتفاعل مباشرة مع نظام التشغيل، مما يسمح لك بالعمل مع cmdlets (commandlets) لأداء إجراءات محددة على الكائنات، مثل حسابات المستخدمين والمجموعات، باستخدام بضعة أسطر فقط من التعليمات البرمجية.

الأساسيات: أدوات الأوامر والوحدات النمطية في PowerShell

أحد الجوانب الأساسية لبرنامج PowerShell هو استخدام ما يسمى بـ cmdlets، وهي أوامر صغيرة بتنسيق فعل اسمكما New-LocalUser o Add-LocalGroupMemberيقوم كل cmdlet بتنفيذ إجراء محدد على كائن النظام. يتم تنظيم هذه الأوامر عادةً في وحدات موضوعية.، مثل الوحدة Microsoft.PowerShell.LocalAccounts لإدارة المستخدمين والمجموعات المحلية.

لاكتشاف أدوات cmdlets المتوفرة، يمكنك استخدام أوامر مثل:

  • Get-Module -ListAvailable:تدرج جميع الوحدات النمطية المثبتة.
  • Get-Command -Module Microsoft.PowerShell.LocalAccounts:يعرض وحدات cmdlets للحسابات المحلية.
  • Get-Help New-LocalUser: : عرض المساعدة التفصيلية لأي أمر cmdlet.

إنشاء المستخدمين المحليين وإدارتهم باستخدام PowerShell

في أجهزة الكمبيوتر التي تعمل بنظام Windows غير المرتبطة بالنطاق، غالبًا ما تكون إدارة المستخدم المحلي أمرًا بالغ الأهمية. يوفر PowerShell أدوات cmdlet محددة لإنشاء حسابات مستخدمين محليين أو تعديلها أو الاستعلام عنها أو حذفها.فيما يلي، سنراجع الخطوات الأكثر أهمية ونقدم لك أمثلة واقعية حتى تتمكن من تطبيقها بسهولة.

1. إنشاء مستخدم محلي جديد

الأمر الرئيسي لهذا هو New-LocalUserيمكنك إنشاء مستخدم أساسي باستخدام الأمر التالي:

New-LocalUser -Name "UsuarioEjemplo" -NoPassword -Description "Cuenta de pruebas"

ومع ذلك، فإن الطريقة الأكثر شيوعًا وأمانًا هي تعيين كلمة مرور مشفرة:

$Password = Read-Host -AsSecureString
New-LocalUser -Name "UsuarioEjemplo" -Password $Password -FullName "Nombre Completo"
-Description "Cuenta de usuario para laboratorio"

معامل -Password يتطلب كائن SecureString، لهذا السبب نستخدم Read-Host -AsSecureString لإدخال كلمة المرور الخاصة بك بشكل آمن دون عرضها على الشاشة.

2. إضافة المستخدم إلى مجموعة

لمنح أذونات إضافية (على سبيل المثال، جعل المستخدم مسؤولاً)، استخدم الأمر cmdlet التالي:

Add-LocalGroupMember -Group "Administradores" -Member "UsuarioEjemplo"

يؤدي هذا إلى إضافة المستخدم الذي تم إنشاؤه إلى مجموعة المسؤولين المحليين.، مما يمنحه كافة الامتيازات اللازمة لإدارة الفريق.

3. الاستعلام عن المستخدمين المحليين وخصائصهم

  • Get-LocalUser:قائمة جميع المستخدمين المحليين.
  • Get-LocalUser -Name "Administrador":يعرض معلومات لمستخدم معين.
  • Get-LocalUser | Format-Table Name,Enabled: يعرض حالة جميع الحسابات (ممكّنة/معطلة).

4. تعديل المستخدمين المحليين

لتغيير سمات المستخدم:

Set-LocalUser -Name "UsuarioEjemplo" -Description "Nueva descripción"
Set-LocalUser -Name "UsuarioEjemplo" -PasswordNeverExpires $true

لتغيير كلمة المرور الخاصة بك مع حماية خصوصيتك:

$Password = Read-Host -AsSecureString
Set-LocalUser -Name "UsuarioEjemplo" -Password $Password

5. حذف أو تعطيل حسابات المستخدم المحلية

تعطيل (لمنع الوصول دون حذف الحساب):

Disable-LocalUser -Name "UsuarioEjemplo"

حذف الحساب:

Remove-LocalUser -Name "UsuarioEjemplo"

6. إعادة تسمية المستخدمين وتعديل السمات الإضافية

Rename-LocalUser -Name "AntiguoNombre" -NewName "NuevoNombre"
Set-LocalUser -Name "NuevoNombre" -FullName "Nuevo Nombre Completo"

إدارة المجموعات المحلية من PowerShell

تعتبر إدارة المجموعة بنفس أهمية إدارة المستخدمين، حيث تتيح لك المجموعات تعيين الأذونات بشكل جماعيأدوات cmdlets الأكثر صلة هي:

  • Get-LocalGroup:إدراج جميع المجموعات في النظام.
  • New-LocalGroup -Name "Empleados" -Description "Grupo de empleados":إنشاء مجموعة جديدة.
  • Add-LocalGroupMember -Group "Empleados" -Member "UsuarioEjemplo":إضافة مستخدم إلى المجموعة.
  • Get-LocalGroupMember -Name "Empleados": : التحقق من أعضاء المجموعة.
  • Remove-LocalGroupMember -Group "Empleados" -Member "UsuarioEjemplo":يزيل المستخدم من المجموعة.
  • Remove-LocalGroup -Name "Empleados":حذف المجموعة.

إدارة المستخدمين والمجموعات في Active Directory (AD DS) باستخدام PowerShell

في بيئات الشركات، من الشائع العمل مع مستخدمو ومجموعات المجال المُدارة من خلال Active Directory (AD DS)يتيح لك PowerShell التفاعل مع المجال كلما كانت الوحدة النمطية ActiveDirectory تم تحميله. يتم استيراد هذه الوحدة بالشكل التالي:

Import-Module ActiveDirectory

التحقق من إصدار PowerShell ووحدة AD

  • $PSVersionTable.PSVersion o Get-Host: :تحقق من الإصدار المثبت.
  • Import-Module ActiveDirectory:استورد الوحدة المطلوبة إذا لم تكن متاحة بعد.

استعلامات المجال والمستخدم

  • Get-ADDomain:معلومات المجال الحالية.
  • Get-ADUser -Identity usuario:بيانات مستخدم محدد.
  • Get-ADUser -Filter *:القائمة الكاملة للمستخدمين.
  • Get-ADUser -Filter '*' | Select Name:يظهر الأسماء فقط.
  • (Get-ADUser -Filter *).count:إجمالي عدد المستخدمين.

إنشاء مستخدمي المجال (AD DS)

الأمر الرئيسي لذلك هو New-ADUserلإنشاء مستخدم، يجب عليك أولاً تعريف كلمة المرور ككائن SecureString:

$userpassword = ConvertTo-SecureString -AsPlainText -Force -String "ContraseñaSegura"
New-ADUser -Name "NuevoUsuario" -AccountPassword $userpassword -Enabled $true

يمكنك أيضًا إضافة وصف أو تمكين الحساب أو تعيين سمات أخرى:

New-ADUser -Name "Usuario2" -Description "Cuenta adicional" -Enabled $true -AccountPassword $userpassword

تعديل مستخدمي المجال

  • Set-ADUser -Identity nombre -Description "Nueva descripción":تغيير الوصف.
  • Set-ADUser -Identity nombre -City "Madrid":إضافة أو تعديل المدينة.

حذف مستخدمي المجال

لحذف الحسابات في AD، على سبيل المثال:

Remove-ADUser -Identity "UsuarioAEliminar"

إدارة المجموعات في Active Directory

  • Get-ADGroup "GrupoPrueba":معلومات عن المجموعة.
  • Get-ADGroupMember "GrupoPrueba":قائمة الأعضاء.
  • Add-ADGroupMember "GrupoPrueba" NuevoUsuario:إضافة المستخدم إلى المجموعة.

تغيير كلمة المرور وفتح الحسابات في AD

  • Set-ADAccountPassword usuario:تغيير أو إعادة تعيين كلمة المرور الخاصة بك.
  • Unlock-ADAccount usuario:فتح قفل المستخدم المحظور.

أتمتة وإدارة المستخدمين الجماعيين باستخدام PowerShell

أحد أعظم نقاط قوة PowerShell هي القدرة على العمل بشكل جماعي مع مئات أو آلاف الحسابات، وهو أمر مثالي للنشر الجديد أو الهجرات أو الأقسام ذات معدل دوران الموظفين المرتفع.

إنشاء مستخدم جماعي باستخدام CSV والبرامج النصية

إعداد ملف CSV (على سبيل المثال، usuarios.csv) مع الرأس والبيانات:

nombre,contra
usuario01,clave01
usuario02,clave02
usuario03,clave03

بعد ذلك، استخدم هذا البرنامج النصي لاستيراد وإنشاء مستخدمين محليين:

$usuarios = Import-Csv -Path "c:\ruta\usuarios.csv"
foreach ($i in $usuarios) {
  $clave = ConvertTo-SecureString $i.contra -AsPlainText -Force
  New-LocalUser $i.nombre -Password $clave -AccountNeverExpires -PasswordNeverExpires
  Add-LocalGroupMember -Group "usuarios" -Member $i.nombre
}

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

الحذف الجماعي للمستخدمين

لحذف نفس المستخدمين بشكل مجمع، ما عليك سوى تعديل البرنامج النصي:

$usuarios = Import-Csv -Path "c:\ruta\usuarios.csv"
foreach ($i in $usuarios) {
  Remove-LocalUser $i.nombre
}

أفضل الممارسات والنصائح لإدارة المستخدمين باستخدام PowerShell

  • اختبار دائمًا في بيئات المختبر قبل تطبيق التغييرات على الإنتاج.
  • يحمي أمان كلمة المرور استخدام SecureString وعدم إدخال المفاتيح في نص عادي.
  • توثيق النصوص الخاصة بك والتعليق عليها لتسهيل الصيانة والتدقيق.
  • أتمتة العمليات المتكررة لتوفير الوقت وتقليل هامش الخطأ.
  • تحقق من المساعدة المضمنة في PowerShell مع Get-Help لرؤية الأمثلة والمعلمات لكل أمر cmdlet.
  • استخدم المرشحات والأنابيب لتحسين النتائج والعمل بكفاءة أكبر.

يعد PowerShell أكثر من مجرد بديل لموجه الأوامر: إنها بيئة إدارة قوية وحديثة لإدارة المستخدمين والمجموعات والسياسات في Windowsسواء كان هدفك هو إنشاء مستخدم واحد أو إدارة شبكة محلية أو إدارة مئات الحسابات في Active Directory، فإن إتقان أدوات الأوامر المنطقية وبرنامج PowerShell سيتيح لك تبسيط المهام الروتينية وأتمتتها وتحسين الأمان والحفاظ على البنية الأساسية المتنامية لتكنولوجيا المعلومات تحت السيطرة.

المادة ذات الصلة:
كيفية إدارة المستخدمين في Windows 10