ورقة الغش لأوامر Windows PowerShell - الدليل النهائي الذي تحتاجه

ورقة الغش لأوامر Windows PowerShell - الدليل النهائي الذي تحتاجه

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

ورقة الغش لأوامر Windows PowerShell - الدليل النهائي الذي تحتاجه

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

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

ما هو بوويرشيل؟

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

على عكس الأصداف الأخرى التي يمكنها قبول النص وإعادته فقط ، يمكن لـ PowerShell أيضًا قبول كائنات .NET وإرجاعها بفضل المقدار الرائع من الميزات التي تتضمنها. فيما يلي بعض أهم ميزات PowerShell المتعلقة بالهيكل:

  • توقع الأمر وإكمال علامة التبويب
  • المعلمة ودعم الاسم المستعار للأمر
  • سجل سطر الأوامر الشامل
  • القدرة على تسلسل الأوامر عبر خط الأنابيب
  • نظام مساعدة داخل وحدة التحكم مشابه لصفحات الرجل في الأنظمة التي تستند إلى Unix

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

نظرًا لأن PowerShell يعتمد على .NET CLR (.NET Common Language Runtime) ، فمن السهل معرفة سبب كون جميع المدخلات والمخرجات التي يعمل PowerShell معها كائنات .NET. بالإضافة إلى ذلك ، ليست هناك حاجة على الإطلاق لتحليل إخراج النص فقط حتى يتمكن PowerShell من استخراج المعلومات منه. من بين ميزات البرمجة النصية لـ PowerShell ، قد تجد ما يلي:

  • نظام تنسيق شامل يضمن إخراجًا نظيفًا وسهلًا
  • إنشاء أنواع ديناميكية من خلال نظام كتابة واسع النطاق
  • يمكنك توسيع قدرات PowerShell من خلال الفئات والوظائف والوحدات النمطية والبرامج النصية
  • دعم أصلي للعديد من تنسيقات البيانات ، بما في ذلك XML و JSON و CSV

إذا كنت مهتمًا أكثر بإدارة وتكوين البنية التحتية لمؤسستك من خلال التعليمات البرمجية ، فسيسعدك معرفة أن PowerShell يوفر لك أيضًا هذه الإمكانية من خلال إطار عمل إدارة تكوين الحالة المرغوبة (DSC). من بين العمليات التي يمكنك إجراؤها بسهولة من خلال استخدام DSC الخاص بـ PowerShell ، نذكرك بما يلي:

  • انشر مخططات التكوين المتنوعة باستخدام نماذج الدفع أو السحب
  • صمم نصوصًا وتكوينات تعريفية مخصصة يمكنك استخدامها لعمليات النشر القابلة للتكرار في بيئتك
  • فرض مخططات التكوين المختلفة
  • تقرير عن انحراف التكوين

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

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

  • نوافذ إدارة الأجهزة
  • NET Framework API
  • موجه الأمر
  • نموذج كائن مكون Windows
  • أوامر PowerShell

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

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

من الجدير بالذكر أن PowerShell متعدد المنصات ومفتوح المصدر ، مما يعني أنه يمكنك أيضًا استخدامه على أنظمة أخرى مثل Mac أو Linux محليًا ، دون اللجوء إلى الحيل وأدوات تحسين التوافق مثل Wine أو Boot Camp.

قائمة أوامر PowerShell الأساسية

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

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

لهذا السبب بالتحديد قمنا بإعداد قائمة بالأوامر الأساسية التي يمكنك استخدامها بأمان في جلسات PowerShell الخاصة بك لاختبار ميزات هذا البرنامج القوي ومعرفة أي منها يفعل ماذا بالضبط. تتضمن القائمة أدناه أسماء الأوامر والأسماء المستعارة ووصفًا موجزًا ​​لما يفعله كل أمر.

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

اسم الأمر الاسم المستعار وصف
إضافة محتوى أ يتيح لك إلحاق المحتوى (مثل الكلمات أو البيانات) بملف
إضافة PS ASNP يساعدك على إضافة العديد من الأدوات الإضافية لـ Windows PowerShell إلى
الجلسة الحالية
محتوى واضح clc يمسح محتويات عنصر بدون حذف العنصر الفعلي
تاريخ واضح clhy يمسح أي وجميع الإدخالات من محفوظات الأوامر
مضيف واضح صافي يمسح عرض البرنامج المضيف
مضيف واضح cls يفعل نفس الشيء كما هو واضح
مسح البند cli يزيل محتويات عنصر بدون حذف العنصر الفعلي
مسح العنصر clp يمسح قيمة الممتلكات دون حذفها فعليًا
متغير واضح clv يحذف قيمة المتغير
قارن الكائن يقارن يتيح لك مقارنة مجموعتين من الكائنات
قارن الكائن فرق يفعل نفس الشيء مثل المقارنة
ربط PSSession CNSN يتيح لك إعادة الاتصال بالجلسات التي قطعت الاتصال بها
تحويل المسار cvpa يسمح لك بتحويل مسار Windows
PowerShell إلى مسار موفر Windows PowerShell
نسخ العنصر ينسخ يساعدك على نسخ عنصر من موقع معين إلى آخر
نسخ العنصر cp يفعل نفس الشيء مثل النسخ
نسخ العنصر CPI يفعل نفس الشيء مثل copy و cp
نسخ عنصر العنصر CPP يتيح لك نسخ قيمة وممتلكات من موقع معين إلى موقع
مختلف
تعطيل- PSBreakpoint ديسيبل يساعدك على تعطيل نقاط التوقف في وحدة التحكم الحالية
قطع الاتصال PSSession dnsn يفصلك عن الجلسة الحالية
تمكين- PSBreakpoint أب يتيح لك تمكين نقاط التوقف في وحدة التحكم الحالية
دخول PSSession etsn يساعدك على بدء جلسة تفاعلية باستخدام جهاز بعيد
خروج PSSession exsn ينهي جلسة تفاعلية مع جهاز بعيد
تصدير-الاسم المستعار إبال يتيح لك تصدير معلومات حول الأسماء المستعارة المحددة حاليًا
إلى ملف الإخراج
تصدير- CSV epcsv يتيح لك تحويل الكائنات إلى
سلاسل متعددة مفصولة بفواصل (CSV) وتصدير السلاسل إلى مستند CSV
تصدير- PSSession epsn يستورد الأوامر من جلسة مختلفة
ويصدرها إلى وحدة Windows PowerShell
لكل كائن ٪ ينفذ عملية محددة مقابل كل عنصر من العناصر الموجودة
في مجموعة كائنات الإدخال
لكل كائن foreach يفعل نفس الشيء مثل ٪
تنسيق مخصص نادي يساعدك على استخدام طريقة عرض مخصصة لتنسيق الإخراج
تنسيق قائمة فلوريدا يتيح لك تنسيق الإخراج كقائمة خصائص حيث
يتم وضع كل خاصية في سطر جديد
تنسيق الجدول قدم يتيح لك تنسيق الإخراج كجدول
تنسيق واسع مهاجم يساعدك على تنسيق الكائنات كجداول عريضة حيث
يتم عرض خاصية واحدة فقط لكل كائن
الحصول على الاسم المستعار فتاه يجلب لك الأسماء المستعارة لجلستك الحالية
Get-ChildItem دير يجلب قائمة بجميع الملفات والمجلدات الموجودة في محرك أقراص نظام الملفات
Get-ChildItem gci يفعل نفس الشيء مثل دير
Get-ChildItem ls يفعل نفس الشيء مثل dir و gci
Get-Command gcm يجلب قائمة بجميع الأوامر التي يمكنك استخدامها
الحصول على المحتوى قط يعرض محتويات الملف
الحصول على المحتوى GC يفعل نفس الشيء مثل القط
الحصول على التاريخ ghy يجلب قائمة بجميع الأوامر التي أدخلتها أثناء جلستك الحالية
الحصول على التاريخ ح يفعل نفس الشيء مثل ghy
الحصول على التاريخ التاريخ يفعل نفس الشيء مثل ghy و h
تحصل على البند جي يتيح لك جلب الملفات والمجلدات
الحصول على ItemProperty GP يجلب خصائص العنصر الذي حددته
احصل على وظيفة جي جي بي يسترجع قائمة بجميع مهام Windows PowerShell التي
تعمل في الخلفية والتي تعمل حاليًا في جلستك
الحصول على الموقع gl يجلب معلومات حول مكدس الموقع الحالي أو موقع العمل
الحصول على الموقع pwd يفعل نفس الشيء مثل gl
الحصول على عضو جم يجلب جميع خصائص وأساليب كائنات محددة
الحصول على وحدة gmo Retrieves a list of imported modules or modules that can be imported into the
current session
Get-Process gps Fetches a list of all the processes that are running locally or on a remote
computer
Get-Process ps Does the same thing as gps
Get-PSBreakpoint gbp Retrieves all the breakpoints set in your current session
Get-PSCallStack gcs Displays your current call stack
Get-PSDrive gdr Fetches the drives in your current session
Get-PSSession gsn Retrieves a list of local and remote Windows PowerShell sessions
Get-PSSnapIn gsnp Fetches a list of all the Windows PowerShell snap-ins on the computer
Get-Service gsv Lists all the services on a local or remote computer
Get-Unique gu Retrieves unique items from a sorted list
Get-Variable gv Displays a list of all the variables in the current console
Get-WmiObject gwmi Fetches Windows Management Instrumentation (WMI) classes
instances or information about available classes
Group-Object group Lets you group objects that contain the same value for the properties
that you specify
help man Displays more details about Windows PowerShell commands and
concepts
Import-Alias ipal Allows you to import a list of aliases from a file
Import-Csv ipcsv Build table-like custom objects using all the items contained within
a CSV file
Import-Module ipmo Import modules to your current session
Import-PSSes sion ipsn Imports commands from a different session into your current session
Invoke-Command icm Lets you execute commands on local and remote computers
Invoke-Expression iex Lets you execute commands or expressions on the local computer
Invoke-History ihy Executes commands from your session history
Invoke-History r Does the same thing as ihy
Invoke-Item ii Performs the default action on a specified item
Invoke-RestMethod irm Sends either an HTTP or an HTTPS request to a RESTful web service
Invoke-WebRequest curl Retrieves content from a webpage on the Internet
Invoke-WebRequest iwr Does the same thing as curl
Invoke-WMIMethod iwmi Allows you to call Windows Management Instrumentation (WMI)
methods
Measure-Object measure Determines numeric properties of objects, as well as words,
lines, and characters in string objects
mkdir md Creates a new item (directory)
Move-Item mi Allows you to move an item from a specific location to a different one
Move-Item move Does the same thing as mi
Move-Item mv Does the same thing as mi and move
Move-ItemProperty mp Allows you to move a property from a specific location to a different one
New-Alias nal Allows you to create a new alias
New-Item ni Lets you create a new item
New-Module nmo Generates a new dynamic module that exists only in memory
New-PSDrive mount Allows you to create temporary and persistent mapped network drives
New-PSDrive ndr Does the same thing as mount
New-PSSession nsn Establishes a persistent connection to a local or remote computer
New-PSSessionConfigurationFile npssc Creates a session configuration file
New-Variable nv Lets you create a new variable
Out-GridView ogv Allows you to send output to an interactive table in a separate window
Out-Host oh Sends the output to the command line (CMD)
Out-Printer lp Lets you send the output to a printer
Pop-Location popd Modifies your current location to the location that was pushed to the
stack most recently. You can use the Push-Locationcmdlet (pushd) to
pop the location either its default stack or from a stack that you create.
powershell_ise.exe ise Displays an explanation on how you can use the PowerShell_ISE.exe
command-line tool
Push-Location pushd Appends the current location to the top of a location stack
Receive-Job rcjb Fetches the results of current session Windows PowerShell background
jobs
Receive-PSSession rcsn Retrieves results of commands from disconnected sessions
Remove-Item del Removes files and folders
Remove-Item erase Does the same thing as del
Remove-Item rd Does the same thing as del and erase
Remove-Item ri Does the same thing as del, erase and rd
Remove-Item rm Does the same thing as del, erase, rd, and ri
Remove-Item rmdir Deletes folders
Remove-ItemProperty rp Allows you to delete a property and its value from a given item
Remove-Job rjb Lets you delete a Windows PowerShell background job
Remove-Module rmo Helps you remove modules from your current session
Remove-PSBreakpoint rbp Lets you remove breakpoints from the current console
Remove-PSDrive rdr Removes temporary Windows PowerShell drives, as well as disconnects
mapped network drives
Remove-PSSession rsn Lets you close one or more Windows PowerShell sessions (PSSessions)
Remove-PSSnapin rsnp Enables you to remove Windows PowerShell snap-ins from your current
session
Remove-Variable rv Clears a variable and its value
Remove-WMIObject rwmi Lets you delete an instance of an existing Windows Management
Instrumentation (WMI) class
Rename-Item ren Helps you rename an item in a Windows PowerShell provider namespace
Rename-Item rni Does the same thing as ren
Rename-ItemProperty rnp Enables you to rename an item’s property
Resolve-Path rvpa Resolves wildcard characters in a path, as well as displays the contents
of the path
Resume-Job rujb Helps you restart a job that was suspended
Select-Object select Lets you select objects as well as their properties
Set-Alias sal Lets you create or change a cmdlet’s or command element’s alias
(alternate name) in the current Windows PowerShell session
Set-Content sc Allows you to replace a file’s contents with contents that you specify.
Set-Item si Changes an item’s value to a value that’s specified in the command
Set-Location cd Lets you set your current working location to a specified location (changes
the active location)
Set-Location chdir Does the same thing as cd
Set-PSBreakpoint sbp Lets you set a breakpoint on a command, variable, or line
Set-Variable set Enables you to set a variable’s value or generates a variable if one with
the requested name does not exist
Show-Command shcm Displays a list of Windows PowerShell commands in a graphical
command window
Start-Job sajb Starts a background job in Windows PowerShell
Start-Process saps Launches one or more local processes
Start-Service sasv Lets you start one or more stopped services
Stop-Process kill Helps you stop one or more running processes
Where-Object ? Enables you to select certain objects from a collection based on their
property values
Write-Output echo Allows you to send an object to the next command in the pipeline. If it
reaches the last command in the pipeline, the command will display
the objects in the console

Don’t let the sheer amount of basic PowerShell commands intimidate you. Although we called them basic, there’s absolutely no need for you to start memorizing them. In fact, that’s the exact reason why we created the table above so that you can go on about your work without worrying about having to remember each and every command we mentioned above.

You can use it as a quick refresher or even use your browser’s search feature to locate a specific command, its alias, and what it does if you’re confused. Although we already included this piece of information in the table above, if you’re ever confused while working in PowerShell, using the help command will display a few helpful details on how you can use this program and its commands more efficiently.

You can also pair the help command with another command or alias if you want more details about that specific command. For instance, this is what PowerShell displays when you type help Add-Computer:

ورقة الغش لأوامر Windows PowerShell - الدليل النهائي الذي تحتاجه

However, you can use help with any other of the commands or their aliases in our table above. Make sure you understand that the same command can have multiple aliases, which means that you can achieve the same result by using various aliases. Although this may sound confusing, it actually gives you plenty of flexibility in case you can’t remember one command alias, but you remember another one that can help you achieve the same goal.

Using PowerShell

Naturally, the first thing you’d want to do is locate PowerShell and launch it. One sure way to launch PowerShell from just about anywhere you are on your PC is to hold down the Shift button on your keyboard, right-click any empty spot on your screen (not a menu, icon, button, or similar object), and select Open PowerShell window here from the context menu.

In addition to giving you quick access to the PowerShell console anywhere on your PC, doing so will automatically switch the default working directory for PowerShell to the one you’re currently located at. If you’re on a Windows 10 PC, you can also launch PowerShell by pressing the Win key on your keyboard, typing PowerShell in the Start menu, and selecting PowerShell when it becomes visible in the list of results.

On older versions of Windows, you’ll need to manually locate the PowerShell executable, which you can either find in the Accessories or System folders in your Start menu. Furthermore, seeing how older systems (such as Windows 7) don’t provide you with PowerShell by default, you’ll also have to install it on your computer, along with all of its dependencies.

Notice how launching PowerShell from the Start menu will set your active working directory to C:\Users\[your username here]. By comparison, using the Shift + Right-click method we’ve presented above will set PowerShell’s active directory to the one you’re currently at when you spawn the console. For instance, if you use Shift + right-click and open PowerShell from your desktop, you’ll notice that the active directory will be C:\Users\[your username here]\Desktop. For obvious reasons, the [your username here] part will be different depending on your username.

Although you can keep PowerShell for home usage just fine, it’s better if you could make use of all that it has to offer. Incidentally, these features make PowerShell awesome for corporate usage, where you need to perform a large number of operations in a short time, and most likely on a huge number of devices.

Thus, instead of running each command manually on every single machine, you could simply create an automation script in PowerShell and receive the information you need automatically, without having to physically interact with the devices in case or even be near them. Just as CMD, PowerShell can be used through command lines. However, unlike its more rudimentary counterpart (i.e. the CMD), PowerShell also lets you summon scripts and cmdlets, which makes it more powerful, but also more complicated to use.

How to use cmdlets

We’ve used the term cmdlets quite a few times in our guide, so you’re probably left wondering whatever they mean. Well, to start at the beginning, it’s worth reminding you that CMD works with commands. A cmdlet, which is pronounced command-let, is also a command, but unlike traditional CMD commands, cmdlets are specific to PowerShell and let you perform single specific operations, such as copying files, moving items from one place to another, changing the active directory, or see the contents of an item.

Simply put, cmdlets are single function commands that you can type directly in PowerShell’s command line. If you have any prior experience with the CMD, you’ll find PowerShell somewhat intuitive to work with. One interesting thing about PowerShell is that it shares plenty of commands with CMD. Therefore, using CD with PowerShell will still change your active directory, DIR will still display the contents of the current folder, and CP will still let you copy an item from one place to another.

It’s quite worth mentioning that PowerShell is not case sensitive, unlike many other shells, which return errors if you miss using the correct case when typing your commands in them. Thus, copy-item will work just as well as Copy-Item, and if you remember neither one of them you can also use Copy, CP, and CPI (but also copy, COPY, cp, or cpi).

Most PowerShell cmdlets are written in C# and are specially built to perform operations that will return a .NET object as their result. At the time being, you could find more than a couple of hundred cmdlets you can use in PowerShell, which, let’s be fair, gives you more than just a little elbow room as far as performing operations goes.

Although it will be difficult to remember all the cmdlets you may have to work with (remember that you can use the table above), there are a few that you’ll use more frequently, which will make them incredibly easy to remember. Not to mention the fact that some of them are intuitive enough that their name actually gives away their purpose (e.g. copy is used to copy items, move can be used to move files, compare helps you compare sets of objects, etc).

However, if you’re not exactly in the mood to bookmark this article to use it later, you could also type in the Get-Command cmdlet in PowerShell, or gcm, if you want to keep things short. Doing so will display a full list of commands that are available to you, and you can use that list to plan ahead on whatever it is you’re trying to do.

Unlocking custom cmdlets

On the downside, Microsoft doesn’t just give you full access to the whole array of cmdlets that you can use in PowerShell by default, so you’ll have to jump through a bunch of extra hoops to unlock this feature and use it at your leisure. The good news is that the unlocking process doesn’t take long, and then there’s the fact that it can also be done through the PowerShell, which will make great practice for you. Without any further ado, let’s see how you can unlock custom cmdlets privileges in PowerShell.

  1. Log in to an Administrator account (it won’t work without Admin rights)
  2. Launch PowerShell with Administrator rights (Run as administrator)
  3. Type the following command in PowerShell and press Enter:
    • Set-ExecutionPolicy
  4. If done right, PowerShell will prompt you with a dialog, asking you for the new ExecutionPolicy value
  5. Type RemoteSigned in the PowerShell command prompt and press Enter
  6. PowerShell will give you a heads up on the risks of modifying the value of the ExecutionPolicy
  7. Type Y and press the Enter keyورقة الغش لأوامر Windows PowerShell - الدليل النهائي الذي تحتاجه
  8. If you need to turn custom cmdlets off, just follow steps 1-4, and when PowerShell asks you to type the value, type Restricted and confirm your choice as you did at step 7

If you want to streamline the whole process and not waste time typing everything down in PowerShell’s command prompt, you’ll be glad to learn that there’s an even simpler way to achieve the same result. Launch PowerShell with Administrator rights as you did at step one, and instead of typing each command and waiting for the prompt, you’re gonna pipeline everything up until the confirmation by typing this:

  • Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

Naturally, you will still need to confirm your choice by typing Y and hitting Enter on your keyboard, but you just skipped a step and performed a series of operations at the same time. This is exactly why advanced PowerShell users create automation scripts to perform various management operations automatically: to save time and hassle. If you want, you can use the same command above to disable custom cmdlets on your system, but you’ll have to replace RemoteSigned with Restricted and also confirm your choice at the end.

You can also use AllSigned and Unrestricted to grant yourself even more privileges when it comes to running potentially unsafe scripts on your Windows PowerShell. The AllSigned option will let you run all scripts that were created by trusted publishers, whereas the Unrestricted option will enable PowerShell to run any script, regardless of its provenience and trustworthiness. Naturally, the Unrestricted option is also the most dangerous, so try to avoid it as best as you can, if possible, especially if you are a PC novice.

See? PowerShell is already starting to look a lot more accessible than it did just a few minutes back.

How to create and use scripts in PowerShell

As we’ve mentioned before and we’re positively sure you remember, you can use PowerShell to run automation scripts. However, you can’t just yell at PowerShell “Hey you, create this script for me!” and expect it to magically work, so you’ll have to put in some elbow grease and get it done yourself. However inconvenient this may sound right now, trust us, you’ll be thankful in the long run, considering all the work you won’t need to do anymore.

Although most of us rely on specialized software such as IDEs to create scripts or programs in a specific programming language, truth be told you can use any text editor as long as it can save files to the right extension. And even if it can’t, you can just navigate to the file you created and modify its extension manually by renaming it, but let’s get back to our sheep.

If you’re interested in creating a script that can work in PowerShell, you’ll be thrilled to learn that this script you’ve probably heard a lot of, is merely a text document with an extension that makes it compatible with PowerShell, PS1. Therefore, it’s easy to see why creating these scripts can be actually handled from within virtually any text editor, as long as you save it with the right (PS1) extension.

Write-host "Please enter your name:"

$Name = read-host

"Hello $Name! Visit TipsWebTech360.com for more awesome tutorials and guides!"

Now for the actual creation part:

  1. Launch Notepad (or any other text editor for that matter)
  2. Copy the code above (the script you’ll be creating and running)
  3. Paste it into your new Notepad document
  4. Use CTRL + S to save the document
  5. Type script.ps1 as the file name
  6. Save the file somewhere accessible
  7. Open a PowerShell instance with administrator rights (very important)
  8. Make sure you’ve enabled custom scripts on your system (check sections above)
  9. Navigate to the location where you saved the script
  10. Type the full path of the script to run it
    • For instance, if your script is in a Scripts folder on your C drive, your command will be C:\Scripts\script.ps1
    • Alternatively, you could simply navigate to the location of your script and use this command to run it: .\script.ps1

If you can’t run the script and PowerShell returns an error, make sure you’ve enabled PowerShell to run custom scripts on your system, and that you’re running PowerShell as an administrator. Not doing any or both things that we’ve specified in our instructions will most likely result in an error and you won’t be able to run your script.

Remember that this is merely a basic script that is somewhat similar to the classic “Hello, world!” one. It puts a spin on it by interacting with you (i.e. asking what your name is) and letting you interact with it (i.e. typing your name which will be used to print a message for you). However, PowerShell is capable of running far more complex scripts, ranging from collecting data from an array of machines to intricate data management, advanced system configuration operations, and even creating backups of SQL databases in a blink of an eye.

How can I backup SQL databases with PowerShell?

We’re glad you asked. As we’ve mentioned countless times in our guide, there are almost endless possibilities when it comes to operations that PowerShell can help you perform. One of the most popular ones is backing up an SQL database without having to go great lengths or possess extraordinary database management capabilities. All you have to do is fire up an elevated instance of PowerShell (with Administrator privileges) and use the Backup-SqlDatabase command. However, things are a bit more complicated than that, but we’ll get to that in a few.

Backing up an SQL database isn’t as easy as simply copying files from your PC to a safe location and hope they stay safe for whenever you may need them to perform data restoration operations, but on the bright side, using PowerShell can make it look like a walk in the park. Although there are several ways to achieve this, using the command we’ve mentioned above is the fastest, simplest way to backup an SQL database.

Among the capabilities of the Backup-SqlDatabase command, it’s possible to find full database backups, database file backups, as well as transaction log backups, so you got the full package within a single command-line tool. By default, using this command will perform a full database backup, so you will need to specify if you want it to follow a certain set of rules by using the BackupFile parameter.

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

  1. قم بتشغيل PowerShell مع حقوق المسؤول
  2. اكتب الأمر التالي:
    • install-module sqlserver
  3. عندما يُطلب منك تأكيد أفعالك ، اكتب Y واضغط على Enter بلوحة المفاتيح
  4. قم بتأكيد المستودع غير الموثوق به مرة أخرى عن طريق كتابة Y و Enterورقة الغش لأوامر Windows PowerShell - الدليل النهائي الذي تحتاجه
  5. بمجرد اكتمال التثبيت ، اكتب الأمر التالي:
    • import-module sqlserver
  6. حاول تشغيل الأمر Backup-SqlDatabase عن طريق كتابته في سطر أوامر PowerShell
    • إذا نجحت ، يجب أن ترى أن PowerShell يطلب منك توفير قيم لبعض المعلمات
    • إذا لم ينجح الأمر ، فتأكد من تعيين إذن PowerShell للسماح له بتشغيل البرامج النصية المخصصة

1. استكمال النسخ الاحتياطي لقاعدة بيانات SQL

  • Backup-SqlDatabase -ServerInstance "Computer\Instance" -Database "Tips.WebTech360"

سينشئ الأمر الذي قمنا بتوضيحه أعلاه نسخة احتياطية كاملة لقاعدة البيانات من قاعدة بيانات تسمى TipsWebTech360 وحفظها في موقع النسخ الاحتياطي الافتراضي لمثيل خادم "Computer \ Instance" باسم Tips.WebTech360.bak.

2. إجراء نسخ احتياطي لقاعدة البيانات على أساس الموقع

  • Set-Location "SQLSERVER:\SQL\Computer\Instance"
  • PS SQLSERVER:\SQL\Computer\Instance> Backup-SqlDatabase -Database "Tips.WebTech360"

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

ستعمل هذه العملية أيضًا على إنشاء نسخة احتياطية كاملة من قاعدة بيانات تسمى Tips.WebTech360 وتصديرها كملف "Tips.WebTech360.bak" في الموقع الافتراضي لمثيل الخادم الذي تتصل به.

3. إجراء نسخ احتياطي لسجل المعاملات

  • Backup-SqlDatabase -ServerInstance "Computer\Instance" -Database "Tips.WebTech360" -BackupAction Log

إذا كنت بحاجة فقط إلى الاحتفاظ بنسخة احتياطية من سجل المعاملات لقاعدة بيانات معينة ، فيمكن أن يساعدك PowerShell أيضًا في القيام بذلك من خلال أمر واحد يمكنك إدخاله مباشرة في واجهة سطر الأوامر الخاصة به. سينشئ الأمر أعلاه نسخة احتياطية من سجل معاملات قاعدة بيانات "Tips.WebTech360" ويصدرها إلى الموقع الافتراضي لمثيل خادم "Computer \ Instance" كملف يسمى "Tips.WebTech360.trn".

4. إنشاء نسخة احتياطية لقاعدة بيانات SQL مشفرة

  • $EncryptionOption = New-SqlBackupEncryptionOption -Algorithm Aes256 -EncryptorType ServerCertificate -EncryptorName "BackupCert"
  • Backup-SqlDatabase -ServerInstance "." -Database "Tips.WebTech360" -BackupFile "Tips.WebTech360.bak" -CompressionOption On -EncryptionOption $EncryptionOption

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

سينشئ المثال أعلاه نسخة احتياطية من قاعدة بيانات "Tips.WebTech360" معينة ، وتشفيرها بتشفير AES-256 وشهادة خادم ، وضغطها ، وحفظ ملف "Tips.WebTech360.bak" الناتج في موقع النسخ الاحتياطي الافتراضي لمثيل الخادم. هذا مهم جدًا إذا كنت تخطط لعملية ترحيل وليس لديك طريقة مؤكدة لنقل جميع ملفات النسخ الاحتياطي دون المخاطرة بإبعاد أي واحد منها.

5. إجراء نسخة احتياطية على جميع قواعد البيانات في مثيل الخادم

  • Get-ChildItem "SQLSERVER:\SQL\Computer\Instance\Databases" | Backup-SqlDatabase

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

سيقوم الأمر أعلاه بعمل نسخة احتياطية من جميع قواعد البيانات الموجودة على مثيل خادم "Computer \ Instance" وتصدير الملفات الناتجة إلى موقع النسخ الاحتياطي الافتراضي على نفس مثيل الخادم. سيتم إنشاء أسماء ملفات النسخ الاحتياطي تلقائيًا وفقًا لقاعدة البيانات المقابلة لكل منها متبوعًا بامتداد BAK (على سبيل المثال .bak).

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

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

يجب معرفة أوامر PowerShell

1. احصل على المساعدة

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

الآن بعد أن قمت بتثبيت الوحدة النمطية sqlserver على نظامك ، يمكنك تجربة أمر Get-Help الآن ومعرفة كيفية عمل Backup-SqlDatabase . ما عليك سوى كتابة  Get-Help Backup-SqlDatabase في سطر أوامر PowerShell وصقل مهارات النسخ الاحتياطي لقاعدة بيانات PowerShell SQL.

ورقة الغش لأوامر Windows PowerShell - الدليل النهائي الذي تحتاجه

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

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

2. الحصول على العملية

Get-Process أمر بالغ الأهمية إذا كنت تريد اكتشاف المزيد حول النظام الذي تعمل عليه حاليًا. لكي تكون أكثر تحديدًا ، على الرغم من أنك ربما تكون قد خمنت ما يفعله هذا الأمر بالفعل بمجرد النظر إليه ، فإن Get-Process ستزودك بقائمة بجميع العمليات التي تعمل حاليًا على النظام الذي تعمل عليه.

بشكل افتراضي ، سيقوم Get-Process باسترداد قائمة بكل عملية تعمل على النظام الحالي الذي تعمل عليه ، لذلك قد تحتاج إلى إلحاق بعض المعلمات الإضافية بهذا الأمر إذا كنت تريد معلومات أكثر تحديدًا وتضييق نطاق قائمة النتائج. تحقق في لقطات الشاشة أدناه مما تحصل عليه عند تشغيل أمر Get-Process من تلقاء نفسه مقابل كيفية ظهوره إذا كنت أكثر تحديدًا وقمت بتنسيق النتائج.

  • Get-Process

ورقة الغش لأوامر Windows PowerShell - الدليل النهائي الذي تحتاجه

  • Get-Process explorer | Format-List *

ورقة الغش لأوامر Windows PowerShell - الدليل النهائي الذي تحتاجه

يمكن تخصيص الأمر الثاني لعرض تفاصيل إضافية حول أي عملية نشطة على نظامك. يمكنك استبدال  Explorer بـ  svchost أو  Chrome أو أي عملية نشطة أخرى على نظامك تهتم بها. كما ذكرنا أعلاه ، يمكن أن يساعدك استخدام Get-Processes في حد ذاته في ذلك (على سبيل المثال ، العثور على قائمة بجميع العمليات الجارية ).

3. وقف العملية

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

يمكن لمستخدمي PowerShell تحديد عملية مزعجة بسهولة باستخدام أمر Get-Process الذي شرحناه سابقًا ، ثم استخدام  Stop-Process لإنهائها ، وبالتالي إلغاء تسجيل النظام. سيطالبك تشغيل  Stop-Process بنفسه (بدون أي معلمة إضافية) في واجهة سطر أوامر PowerShell بإدخال معرف العملية التي تحاول إنهاؤها. 

ومع ذلك ، يمكنك أيضًا إنهاء عملية باسمها (إذا كنت تعرفها) عن طريق إلحاق المعلمة -Name إلى الأمر cmdlet ، كما في المثال أدناه:

  • Stop-Process -Name "explorer"

سينهي الأمر أعلاه عملية Explorer ، والتي يمكن أن تكون مفيدة خاصةً إذا تجمدت أو تعطلت عليك ورفضت التحميل بشكل صحيح. لاحظ أنك ستحتاج إلى استخدام علامات الاقتباس عند تحديد اسم العملية التي تحاول إنهاؤها. إذا كانت العملية عنيدة وترفض الإنهاء (عادةً ما تقوم عمليات التخليص الأعلى بذلك) ، فيمكنك "إقناعها" عن طريق إلحاق معامل -Force بأمرك . قل ، على سبيل المثال ، أنه لا يمكنك إنهاء عملية Explorer الخاصة بك. في هذه الحالة ، يمكنك ببساطة كتابة الأمر أدناه:

  • Stop-Process -Force -Name "explorer"

علاوة على ذلك ، من الجدير بالذكر أن استخدام المعامل -Force في أمر Stop-Process الخاص بك لن يطلب التأكيد ، بدلاً من تشغيل الأمر بدون هذا الخيار. إذا كنت تريد معرفة المزيد حول أمر cmdlet هذا ، فتأكد من استخدام الأمر Get-Help .

4. الحصول على الخدمة

يعد هذا الأمر من بين قائمة الأوامر الأساسية لسبب وجيه: يمكن أن يوفر لك قائمة بجميع الخدمات المثبتة حاليًا على النظام الذي تعمل عليه ، بغض النظر عما إذا كانت قيد التشغيل أم لا. كما هو الحال مع العديد من أوامر cmdlets الأخرى ، يمكنك تخصيص Get-Service لتزويدك بمعلومات أكثر تحديدًا ، إما فيما يتعلق بخدمة معينة أو حتى عرض قائمة بجميع الخدمات قيد التشغيل (أو المتوقفة) على جهازك.

يمكنك المضي قدمًا وكتابة  Get-Service في سطر أوامر PowerShell. يجب أن يزودك القيام بذلك بقائمة بجميع الخدمات المتاحة على جهاز الكمبيوتر الخاص بك ، بالإضافة إلى أسماء وحالات عرضها. إذا قمت بإلحاق أمر إضافي بأمر cmdlet الأصلي ، فيمكنك تغيير الإخراج ، مما يجعله يعرض النتائج التي تهتم بها فقط.

  • Get-Service "W*"

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

  • Get-Service | Where-Object {$_.Status -eq “Running”}

سيسمح لك الأمر أعلاه بمشاهدة قائمة بجميع الخدمات المتاحة على جهاز الكمبيوتر الخاص بك والتي تعمل أيضًا في الوقت الذي تقوم فيه بتشغيل الأمر cmdlet. سيؤدي إلحاق "W *"  كما فعلنا في المثال السابق إلى عرض قائمة بجميع الخدمات قيد التشغيل على جهاز الكمبيوتر الخاص بك والتي تبدأ بالحرف "W" ، ويجب أن يبدو الأمر كما يلي:

  • Get-Service "W*" | Where-Object {$_.Status -eq "Running"}

ورقة الغش لأوامر Windows PowerShell - الدليل النهائي الذي تحتاجه

5. الحصول على سجل الأحداث

يجب أن يعرف كل مسؤول نظام مسؤول طريقه للعمل مع سجلات الأحداث ، مع التأكد من أن هذه المستندات يمكن أن تزودك بمعرفة مفيدة حول ما حدث على نظامك ، ووقت حدوثه ، وأحيانًا ما تسبب في هذا الحدث المحدد.

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

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

  • Get-EventLog -List

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

  • Get-EventLog -LogName Security -EntryType Error

يجب أن توفر لك كتابة الأمر أعلاه في واجهة سطر أوامر PowerShell قائمة بجميع الأخطاء المسجلة في سجل أحداث الأمان. لاحظ أنه يمكنك استخدام المعلمة -List لرؤية جميع أنواع السجلات في نظامك واستبدالها Securityفي الأمر أعلاه بأي نوع سجل آخر تجده في قائمتك ، طالما أنها تحتوي على أكثر من صفر إدخالات.

إذا كنت تريد معرفة المزيد حول استخدام الأمر  Get-EventLog  في PowerShell ، فلا تتردد في استخدام أمر  Get-Help الذي تحدثنا عنه في القسم الأول من هذا الفصل الفرعي. 

6. تحويل إلى HTML

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

سيساعدك استخدام هذا الأمر في إنشاء تقارير شاملة يمكن أن تساعدك في تحليل المعلومات المستخرجة والرؤى بطريقة أكثر فاعلية من خلال تزويدك بجداول HTML التي يمكنك تخصيصها لاحقًا عن طريق إضافة أنماط مخصصة وبيانات مرمزة بالألوان. كما هو الحال مع العديد من أوامر PowerShell الأخرى ، لا يعمل ConvertTo-HTML من تلقاء نفسه ، وستحتاج إلى إقرانه بأمر إضافي سيستخدمه كمدخل (أو مصدر بيانات).

على سبيل المثال ، إذا كنت تحاول طباعة تقرير يتكون من كل خدمة تبدأ بالحرف "W" وتعمل حاليًا على جهاز الكمبيوتر الخاص بك ، فيمكنك كتابة الأمر أدناه:

  • Get-Service "W*" | Where-Object {$_.Status -eq "Running"} | ConvertTo-HTML

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

يمكنك استخدام ConvertTo-HTML مع أي أمر PowerShell تقريبًا ، طالما أن الأمر الذي تستخدمه كمصدر بيانات سيولد مخرجات. يمكنك تجربته باستخدام أوامر cmdlets أخرى ، مثل Get-Process أو Get-EventLog أو Get-Help . لاحظ أنه بصرف النظر عن تحويلات HTML ، يمكن أيضًا استخدام ConvertTo cmdlet لإنشاء ملفات JSON و CSV و XML. عليك فقط استبدال HTML في صيغة الأوامر بالتنسيق الذي تهتم به.

7. تصدير- CSV

إذا كنت تعمل مع كائنات مختلفة تشعر أنها قد تناسبك بشكل أفضل في الجدول ، فيمكنك استخدام PowerShell لتحويل العناصر التي تتعامل معها حاليًا إلى سلسلة من سلاسل CSV (قيم مفصولة بفاصلة) وتصدير السلاسل إلى ملف بحركة سريعة واحدة من خلال الأمر Export-CSV cmdlet.

كما هو الحال مع ConvertTo-HTML ، يحتاج Export-CSV إلى إدخال يمكنه تحويله إلى سلاسل CSV ، لأنه لا يمكن أن يعمل بمفرده. وبالتالي ، ستحتاج إلى إقرانه بأمر يمكن استخدامه لإنشاء البيانات ، مثل Get-Service أو Get-Process التي شرحناها سابقًا.

بشكل أساسي ، يقوم Export-CSV بنفس الشيء تقريبًا مثل أمر cmdlet ConvertTo-HTML الذي ناقشناه أعلاه ، بصرف النظر عن جانب واحد مهم لا ينبغي إغفاله: يقوم أمر cmdlet هذا بالفعل بإنشاء ملف وحفظه على جهاز الكمبيوتر الخاص بك ، بدلاً من الأمر ConvertTo ، الذي يمنحك فقط الإخراج ويسمح لك بإنشاء الملف بنفسك.

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

  • Get-Service | Export-CSV c:\Tips.WebTech360.csv

سيؤدي الأمر أعلاه إلى جلب قائمة بجميع الخدمات المتاحة على جهاز الكمبيوتر الخاص بك ، سواء كانت قيد التشغيل أم لا ، وتحويلها إلى سلسلة من سلاسل CSV ، وحفظ النتيجة كملف CSV باسم "Tips.WebTech360" في جذر محرك الأقراص C . يمكنك بعد ذلك فتح الملف في حل برنامج تابع لجهة خارجية ، أو تحويله إلى جدول كامل ، أو مجرد تخزينه للاستخدام في المستقبل.

ورقة الغش PowerShell - الخلاصة

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

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


6 أفضل أدوات إدارة الشبكة التي تتعقب الأداء

6 أفضل أدوات إدارة الشبكة التي تتعقب الأداء

سوق برامج إدارة الشبكة مزدحم للغاية. اختصر بحثك باتباع توصياتنا لأفضل أدوات إدارة الشبكة.

أفضل 10 أدوات Ping Sweep لإخبارك بالمزيد عن شبكتك

أفضل 10 أدوات Ping Sweep لإخبارك بالمزيد عن شبكتك

يمكن استخدام عمليات المسح بينغ لمصلحتك بعدة طرق. تابع القراءة بينما نناقش كيفية تقديم أفضل 10 أدوات مسح لـ Ping يمكنك العثور عليها.

أفضل 6 أدوات لمراقبة مواقع الويب

أفضل 6 أدوات لمراقبة مواقع الويب

مواقع الويب مهمة ويجب مراقبتها عن كثب باستمرار لتحقيق الأداء المناسب. فيما يلي بعض أفضل الأدوات لمراقبة مواقع الويب.

أفضل أدوات نشر البرامج لفرق التطوير في عام 2022

أفضل أدوات نشر البرامج لفرق التطوير في عام 2022

إليك نظرة على بعض من أفضل أدوات نشر البرامج لتخفيف آلام إدارة أي عدد من الأجهزة

أفضل جامعات ومحللات sFlow المجانية التي تمت مراجعتها في عام 2021

أفضل جامعات ومحللات sFlow المجانية التي تمت مراجعتها في عام 2021

sFlow هو بروتوكول لتحليل التدفق مضمن في العديد من أجهزة الشبكات. نقوم بمراجعة أفضل خمسة جامعات ومحللات التدفق الحر.

أفضل أدوات وبرامج مراقبة البنية التحتية بدون وكيل في عام 2021

أفضل أدوات وبرامج مراقبة البنية التحتية بدون وكيل في عام 2021

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

مراقبة النطاق الترددي على Linux: أفضل 5 أدوات في عام 2021

مراقبة النطاق الترددي على Linux: أفضل 5 أدوات في عام 2021

مع تزايد شعبية Linux في مراكز البيانات ، تم إلقاء نظرة على عرض النطاق الترددي على نظام Linux ومراجعة أفضل الأدوات أيضًا.

SolarWinds Mail Assure - مراجعة 2021

SolarWinds Mail Assure - مراجعة 2021

أمان البريد الإلكتروني هو مهمة مهمة لمقدمي الخدمات المُدارة. كنا نراجع SolarWinds Mail Assure ، أحد أفضل الأدوات لهذا الغرض.

ورقة الغش لأوامر Windows PowerShell - الدليل النهائي الذي تحتاجه

ورقة الغش لأوامر Windows PowerShell - الدليل النهائي الذي تحتاجه

إذا كنت من مستخدمي Windows المتميزين ، فمن المحتمل أنك تعرف وتفهم كيف يمكن أن يؤدي إجراء عمليات مختلفة على جهاز الكمبيوتر الخاص بك إلى أكثر من نهج واحد و

أفضل أدوات اختبار ومراقبة زمن الوصول للشبكة في عام 2021

أفضل أدوات اختبار ومراقبة زمن الوصول للشبكة في عام 2021

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