عملية على الكمبيوتر

عملية على الكمبيوتر



لكل عملية على الكمبيوتر
Get-Process | ForEach-Object {$_.ProcessName}


تقسيم الأعداد الصحيحة في مصفوفة
30000, 56798, 12432 | ForEach-Object -Process {$_/1024}


الحصول على طول كافة الملفات في دليل
Get-ChildItem $pshome | ForEach-Object -Process {if (!$_.PSIsContainer) {$_.Name; $_.Length / 1024; " " }}


تعمل على أحدث أحداث النظام
$Events = Get-EventLog -LogName System -Newest 1000
$events | ForEach-Object -Begin {Get-Date} -Process {Out-File -Filepath Events.txt -Append -InputObject $_.Message} -End {Get-Date}


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


مثال : تغيير قيمة مفتاح التسجيل
Get-ItemProperty -Path HKCU:\Network\* | ForEach-Object {Set-ItemProperty -Path $_.PSPath -Name RemotePath -Value $_.RemotePath.ToUpper();}


استخدم المتغير التلقائي $ نول
1, 2, $null, 4 | ForEach-Object {"Hello"}


الحصول على قيم الخاصية
Get-Module -List | ForEach-Object -MemberName Path
Get-Module -List | Foreach Path



 تقسيم أسماء الوحدات إلى أسماء المكونات
"Microsoft.PowerShell.Core", "Microsoft.PowerShell.Host" | ForEach-Object {$_.Split(".")}
"Microsoft.PowerShell.Core", "Microsoft.PowerShell.Host" | ForEach-Object -MemberName Split -ArgumentList "."
"Microsoft.PowerShell.Core", "Microsoft.PowerShell.Host" | Foreach Split "."



تقوم المعلمة غروببي بترتيب البيانات حول العمليات إلى مجموعات استنادا إلى قيمة خاصية باسبريوريتي الخاصة بهم. تضمن المعلمة وراب عدم اقتطاع البيانات.
Get-Process | Sort-Object starttime | Format-Table -View starttime



 يقوم هذا العرض بتحويل ستارتيمي للعملية إلى تاريخ قصير ثم يقوم بتجميع العمليات حسب تاريخ البدء.
Get-Service | Format-Table -Property Name, DependentServices



تنسيق عملية وحساب وقت تشغيلها
Get-Process Notepad | Format-Table ProcessName, @{Label="TotalRunningTime"; Expression={(Get-Date) - $_.StartTime}}



تم تحديد الخاصية توتالرونينغتيم بواسطة جدول تجزئة مع مفتاحين، التسمية والتعبير. يتم تعيين اسم الخاصية إلى مفتاح 
$Processes = Get-WmiObject -ComputerName "Server01" -Class win32_process -Filter "name='notepad.exe'"
$Processes | Format-Table ProcessName, @{ Label = "Total  Running Time"; Expression={(Get-Date) - $_.ConvertToDateTime($_.CreationDate)}}



خارج الطابعة بإرسال الإخراج إلى الطابعة الافتراضية أو إلى طابعة بديلة، إذا تم تحديد واحد.
Get-Content $pshome\about_signing.help.txt | Out-Printer




للحصول على محتويات موضوع التعليمات. يتضمن المسار $ بشوم، وهو متغير مدمج يقوم بتخزين دليل التثبيت لنظام التشغيل ويندوز بويرشيل. يقوم مشغل خط أنابيب (|) بتمرير النتائج إلى طابعة خارجية، والتي ترسلها إلى الطابعة الافتراضية.
"Hello, World" | Out-Printer -Name "\\Server01\Prt-6B Color"



أوامره يطبع مرحبا، العالم إلى برت-6B طابعة ملونة على Server01. يستخدم هذا الأمر معلمة الاسم لتحديد الطابعة البديلة. لأن اسم المعلمة اختياري، يمكنك حذفه.
$H = Get-Help -Full Get-WmiObject
Out-Printer -InputObject $H


عمليات الإخراج إلى عرض الشبكة
Get-Process | Out-GridView



هذا الأمر يحصل على العمليات التي تعمل على الكمبيوتر المحلي ويرسلها إلى إطار عرض الشبكة.

مثال 2: استخدام متغير لإخراج العمليات إلى طريقة عرض الشبكة
 $P = Get-Process
 $P | Out-GridView
*********


أمره أيضا يحصل على العمليات التي تعمل على الكمبيوتر المحلي ويرسلها إلى نافذة عرض الشبكة.
Get-Process | Select-Object -Property Name, WorkingSet, PeakWorkingSet | Sort-Object -Property WorkingSet -Descending | Out-GridView


حفظ الإخراج إلى متغير، ثم إخراج عرض الشبكة
($A = Get-ChildItem -Path $pshome -Recurse) | Out-GridView


عمليات إخراج لجهاز كمبيوتر محدد إلى طريقة عرض الشبكة
Get-Process -ComputerName "Server01" | ogv -Title "Processes - Server01"


 إخراج البيانات من أجهزة الكمبيوتر البعيدة إلى عرض الشبكة
Invoke-Command -ComputerName S1, S2, S3 -ScriptBlock {Get-Culture} | Out-GridView



تشغيلها عن بعد لا يتضمن الأمر أوت-غريدفيو. إذا فعل ذلك، الأمر سوف تفشل عندما حاول فتح نافذة عرض الشبكة على كل من أجهزة الكمبيوتر البعيدة
Get-Process | Out-GridView -PassThru | Export-Csv -Path .\ProcessLog.csv




أمره يتيح لك تحديد عمليات متعددة من النافذة خارج الشبكة. يتم تمرير العمليات التي تحددها إلى الأمر إكسبورت-كسف وكتب إلى الملف ProcessLog.csv.

Powershell.exe -Command "Get-Service | Out-GridView -Wait"



الاشتراك في الأحداث عند بدء عملية جديدة
$Query = New-Object System.Management.WqlEventQuery "__InstanceCreationEvent", (New-Object TimeSpan 0,0,1), "TargetInstance isa 'Win32_Process'"
$ProcessWatcher = New-Object System.Management.ManagementEventWatcher $Query
Register-ObjectEvent -InputObject $ProcessWatcher -EventName "EventArrived"



الاشتراك في أحداث الكائن على أجهزة الكمبيوتر البعيدة
$S = New-PSSession -ComputerName "Server01, Server02"
Invoke-Command -Session $S -FilePath ProcessCreationEvent.ps1
 Invoke-Command -Session $S { get-event }# ProcessCreationEvent.ps1function Enable-ProcessCreationEvent{   $Query = New-Object System.Management.WqlEventQuery "__InstanceCreationEvent", `
   (New-Object TimeSpan 0,0,1), `
   "TargetInstance isa 'Win32_Process'"   $ProcessWatcher = New-Object System.Management.ManagementEventWatcher $Query   $Identifier = "WMI.ProcessCreated"   Register-ObjectEvent -Input $ProcessWatcher -EventName "EventArrived" `
   -SourceIdentifier $Identifier -MessageData "Test" -Forward}EnableProcessCreationEvent




الذي يشترك في أحداث إنشاء مثيل على كائن
$Timer = New-Object Timers.Timer
$Timer.Interval = 500
 $Job = Register-ObjectEvent -InputObject $Timer -EventName Elapsed -SourceIdentifier Timer.Random -Action {$Random = Get-Random -Min 0 -Max 100}
$Job.gettype().fullnameSystem.Management.Automation.PSEventJob
 $Job | Format-List -Property *



تسجيل حدث محرك بويرشيل على أجهزة الكمبيوتر البعيدة
$S = New-PSSession -ComputerName "Server01, Server02"
Invoke-Command -Session $S { Register-EngineEvent -SourceIdentifier ([System.Management.Automation.PsEngineEvent]::Exiting) -Forward }



اتخاذ إجراء محدد عند حدوث حدث الخروج
Register-EngineEvent -SourceIdentifier PowerShell.Exiting -SupportEvent -Action {
     Get-History | Export-Clixml $Home\history.clixml
}



إنشاء صفحة ويب لعرض التاريخ
ConvertTo-Html -InputObject (Get-Date)


 إنشاء صفحة ويب لعرض الأسماء المستعارة بويرشيل
Get-Alias | ConvertTo-Html > aliases.htm
 Invoke-Item aliases.htm


هذا الأمر بإنشاء صفحة هتمل تسرد الأسماء المستعارة ويندوز بويرشيل في وحدة التحكم الحالية
إنشاء صفحة ويب لعرض أحداث بويرشيل
Get-EventLog -LogName "Windows PowerShell" | ConvertTo-Html > pslog.htm



الأمر بإنشاء صفحة هتمل تسمى pslog.htm تعرض الأحداث في سجل أحداث ويندوز بويرشيل على الكمبيوتر المحلي.
Get-Process | ConvertTo-Html -Property Name, Path, Company -Title "Process Information" > proc.htm; ii proc.htm




إنشاء صفحة ويب لعرض كائنات الخدمة
Get-Service | ConvertTo-Html -CssUri "test.css"


إنشاء صفحة ويب لعرض كائنات الخدمة
Get-Service | ConvertTo-Html -As LIST > services.htm

إنشاء جدول ويب للتاريخ الحالي
Get-Date | cth -Fragment


إنشاء صفحة ويب لعرض أحداث بويرشيل
Get-EventLog -Log "Windows PowerShell" | ConvertTo-Html -Property id, level, task



إنشاء صفحة ويب لعرض خدمات محددة
Get-Service A* | ConvertTo-Html -Title "Windows Services: Server01" -Body (get-date) -Pre
"<P>Generated by Corporate IT</P>" -Post "For details, contact Corporate IT." > services.htm; ii services.html



تعيين خصائص ميتا و تشارسيت من هتمل
Get-Service | ConvertTo-HTML -Meta @{refresh=10;author="Author's Name";keywords="PowerShell, HTML, ConvertTo-HTML"} -Charset "UTF-8"


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

مثال  تعيين هتمل إلى شتمل الانتقالية دتد
Get-Service | ConvertTo-HTML -Transitional




Export-Alias -Path "alias.csv" -Append -Description "Appended Aliases" -Force
لأنه يتم تحديد المعلمة نوكلوبر، الأمر سوف تفشل إذا كان ملف Alias.csv موجود بالفعل في الدليل الحالي.
إلحاق الأسماء المستعارة بملف





تصدير الأسماء المستعارة كبرنامج نصي
Export-Alias -Path "alias.ps1" -As Script
Add-Content -Path $Profile -Value (Get-Content alias.ps1)
$S = New-PSSession -ComputerName Server01
Invoke-Command -Session $S -FilePath .\alias.ps1




Get-Date -DisplayHint Date

Get-Date -Format g

Get-Date -UFormat "%Y / %m / %d / %A / %Z"

(Get-Date -Year 2000 -Month 12 -Day 31).DayOfYear

$a = Get-Date
$a.IsDaylightSavingTime()

$a = Get-Date
$a.ToUniversalTime()

$a = Get-WmiObject Win32_Bios -Computer Server01
$a | Format-List -Property Name, @{Label="BIOS Age";Expression={(Get-Date) - $_.ConvertToDateTime($_.ReleaseDate)}}

Get-Date | Add-Content Test.txt


الحصول على برويسس عشوائي
Get-Process | Get-Random


 أوامر التصدير من كمبيوتر بعيد
$S = New-PSSession -ComputerName Server01 -Credential Server01\User01
Export-PSSession -Session $S -OutputModule TestCmdlets -Type cmdlet -CommandName *test* -FormatTypeName *
 Remove-PSSession $S
 Import-Module TestCmdlets
 Get-Help Test*
Test-Files





يصدر أمره جميع الأوامر وجميع بيانات التنسيق من بسسيون في المتغير $ S في الدورة الحالية. يستخدم الأمر معامل ألوكلوبر لتضمين الأوامر بنفس الأسماء مثل الأوامر في الجلسة الحالية.
 أوامر التصدير من بسسيون مغلقة
$Options = New-PSSessionOption -NoMachineProfile
$S = New-PSSession -ComputerName "Server01" -SessionOption $Options
Export-PSSession -Session $S -OutputModule Server01
Remove-PSSession $S
New-PSSession -ComputerName "Server01" -SessionOption $Options
Import-Module Server01



استيراد كافة الأوامر من بسسيون
$S = New-PSSession -ComputerName Server01
Import-PSSession -Session $S



ضافة إلى الدورة الحالية، يمكنك استخدام بناء الجملة المحلي لتشغيلها. لا تحتاج إلى استخدام كمدليت إنفوك-كوماند لتشغيل أمر تم استيراده
$S1 = New-PSSession -ComputerName s1
$S2 = New-PSSession -ComputerName s2
 Import-PSSession -Session s1 -Type cmdlet -Name New-Test, Get-Test -FormatTypeName *
 Import-PSSession -Session s2 -Type Cmdlet -Name Set-Test -FormatTypeName *
New-Test Test1 | Set-Test -RunType Full





وماند، توقف ويندوز بويرشيل الأمر الذي يقوم بإنشاء الكائنات بمجرد إنشاء العدد المحدد من الكائنات، حتى عندما يظهر الأمر الذي ينشئ الكائنات قبل الأمر تحديد كائن في خط الأنابيب. لإيقاف هذا السلوك الأمثل، استخدم معلمة الانتظار
Get-Process | Select-Object -Property ProcessName, Id, WS




يؤدي هذا الأمر إلى إنشاء الكائنات التي تحتوي على خصائص الاسم و إد و مجموعة العمل (وس) لكائنات العملية.

مثال 2: تحديد الكائنات حسب الخاصية وتنسيق النتائج
Get-Process Explorer | Select-Object -Property ProcessName -ExpandProperty Modules | Format-List



كمدليت لتحديد أسماء العمليات. لأن الخاصية الوحدات النمطية يحتوي على كائن مودولبروسيس يحتوي على العديد من الخصائص يستخدم الأمر معلمة إكساندبروبيرتي للحصول على خصائص الكائنات في خاصية الوحدات النمطية لكل عملية. يستخدم الأمر كمدليت تنسيق قائمة لعرض اسم وحدات كل عملية في قائمة.حدد العمليات باستخدام معظم الذاكرة
 Get-Process | Sort-Object -Property WS | Select-Object -Last 5



معلمة الانتظار غير مطلوبة في الأوامر التي تتضمن كمدليت سورت-أوبجيكت لأن سورت-أوبجيكت يعالج كافة الكائنات ثم يقوم بإرجاع مجموعة. يتوفر خيار تحديد الكائن فقط للأوامر التي تعيد الكائنات بشكل فردي عند معالجتها.
 حدد اسم وبدء يوم العمليات
Get-Process | Select-Object -Property ProcessName,@{Name="Start Day"; Expression = {$_.StartTime.DayOfWeek}}






Share
Disclaimer: Gambar, artikel ataupun video yang ada di web ini terkadang berasal dari berbagai sumber media lain. Hak Cipta sepenuhnya dipegang oleh sumber tersebut. Jika ada masalah terkait hal ini, Anda dapat menghubungi kami disini.

LATEST ARTICLES

Post a Comment