مسح أنواع سجلات أحداث معينة من الكمبيوتر المحلي
يستخدم الأمر الخاص به المعلمة الفريدة من تحديد كائن للحصول على أحرف فريدة من مجموعة من الأحرف.
حدد الأحداث الأحدث والأقدم في سجل الأحداث
$A = Get-Eventlog -Log "Windows PowerShell"
$A | Select-Object -Index 0, ($A.count - 1)
يستخدم الأمر الثاني مشغل خط أنابيب (|) لإرسال الأحداث في $ A إلى كمدليت حدد كائن. يستخدم الأمر سيليكت-أوبجيكت معامل الفهرس لتحديد الأحداث من صفيف الأحداث في المتغير $ A. مؤشر الحدث الأول هو 0. فهرس الحدث الأخير هو عدد العناصر في $ A ناقص 1.
حدد كل الكائن الأول
New-PSSession -ComputerName (Get-Content Servers.txt | Select-Object -Skip 1)
يمكنك تحديد خاصية واحدة أو خصائص متعددة، لفرز متعدد المفاتيح، ويمكنك تحديد نوع حساس لحالة الأحرف أو لحالة الأحرف. يمكنك أيضا توجيه سورت-أوبجيكت لعرض الكائنات ذات القيمة الفريدة لموقع معين فقط.
Get-ChildItem | Sort-Object
يعرض هذا الأمر الملفات الموجودة في الدليل الحالي بترتيب تصاعدي حسب طول الملف.
Get-Process | Sort-Object -Property WS | Select-Object -Last 5
يقوم مشغل خط أنابيب آخر بإرسال النتائج إلى كائن تحديد، الذي يعرض فقط العناصر الخمسة الأخيرة في القائمة.
Get-History | Sort-Object -Descending
يقوم هذا الأمر بفرز عناصر هيستوريينفو باستخدام الخاصية إد كمفتاح افتراضي.
Get-Service | Sort-Object -Property @{Expression = "Status"; Descending = $True}, @{Expression = "DisplayName"; Descending = $False}
فرز الملفات النصية حسب الفترة الزمنية
Get-ChildItem *.txt | Sort-Object -Property @{Expression={$_.LastWriteTime - $_.CreationTime}; Ascending = $False} | Format-Table LastWriteTime, CreationTime
يحدد هذا الأمر نقطة توقف على متغير الخادم في البرنامج النصي Sample.ps1. يستخدم المعلمة مود مع قيمة ريادوريت لإيقاف التنفيذ عند قراءة قيمة المتغير وقبل تغيير القيمة.
Set-PSBreakpoint -Script Sample.ps1 -Command "write*"
تعيين نقطة توقف اعتمادا على قيمة متغير
Set-PSBreakpoint -Script "test.ps1" -Command "DiskTest" `
-Action { if ($Disk -gt 2) { break } }
تعيين نقطة توقف على وظيفة
Set-PSBreakpoint -Command "checklog"
إرسال بريد إلكتروني إلى قائمة بريدية
Send-MailMessage -To "User01 <user01@example.com>" -From "ITGroup <itdept@example.com>" -Cc "User02 <user02@example.com>" -bcc "ITMgr <itmgr@example.com>" -Subject "Don't forget today's meeting!" -Credential domain01\admin01 -UseSs
الحصول على سجلات الأحداث على الكمبيوتر المحلي
Get-EventLog -List
أمره يحصل على سجلات الأحداث على الكمبيوتر المحلي.
الحصول على أحدث خمس إدخالات من سجل أحداث معين على الكمبيوتر المحلي
Get-EventLog -Newest 5 -LogName "Application"
يحصل هذا الأمر على أحدث خمس إدخالات من سجل أحداث التطبيق.
البحث عن جميع المصادر التي يتم تمثيلها في عدد محدد من الإدخالات في سجل الأحداث
$Events = Get-Eventlog -LogName system -Newest 1000
$Events | Group-Object -Property source -noelement | Sort-Object -Property count -Descending
يوضح مثاله كيفية العثور على كافة المصادر التي يتم تمثيلها في 1000 الإدخالات الأخيرة في سجل أحداث النظام.
يحصل الأمر الأول على أحدث 1،000 إدخالات من سجل أحداث النظام ويخزنها في متغير الأحداث $.
المصدر هو خاصية واحدة فقط من إدخالات سجل الأحداث. لمشاهدة كافة خصائص إدخال سجل الأحداث، إدخال إدخالات سجل الأحداث إلى كمدليت جيت-ميمبر.
الحصول على أحداث خطأ من سجل أحداث معين
Get-EventLog -LogName System -EntryType Error
يحصل الأمر الخاص به فقط أحداث خطأ من سجل أحداث النظام.
الحصول على الأحداث من سجل أحداث معين مع معرف مثيل وقيمة المصدر
Get-EventLog -LogName System -InstanceID 3221235481 -Source "DCOM"
يحصل هذا الأمر الأحداث من سجل النظام التي تحتوي على إنستانسيد من 3221235481 وقيمة مصدر دسوم.
احصل على أحداث سجل الأحداث من أجهزة كمبيوتر متعددة
Get-EventLog -LogName "Windows PowerShell" -ComputerName "localhost", "Server01", "Server02"
يحصل هذا الأمر الأحداث من سجل أحداث ويندوز بويرشيل على أجهزة الكمبيوتر الثلاثة، Server01، Server02، والكمبيوتر المحلي، والمعروفة باسم لوكالهوست.
الحصول على كافة الأحداث في سجل الأحداث التي تتضمن كلمة معينة في قيمة الرسالة
Get-EventLog -LogName "Windows PowerShell" -Message "*failed*"
يحصل هذا الأمر على كافة الأحداث في سجل أحداث ويندوز بويرشيل التي تحتوي على قيمة رسالة تتضمن فشل الكلمة.
عرض قيم الخاصية لحدث في ليس
$A = Get-EventLog -Log System -Newest 1
$A | Format-List -Property *
احصل على الأحداث من سجل الأحداث باستخدام معرف المصدر والحدث
Get-EventLog -Log "Application" -Source "Outlook" | where {$_.eventID -eq 34}
يحصل هذا الأمر الأحداث في سجل أحداث التطبيق حيث يكون المصدر أوتلوك و معرف الحدث هو 34. على الرغم من أن كمدليت لا يحتوي على معلمة إيفنتيد، يمكنك استخدام كمدليت كائن أين لتحديد كائن بناء على قيمة أي حدث خاصية.
مثال 10:احصل على الأحداث في سجل الأحداث، مجمعة حسب خاصية
Get-EventLog -Log System -UserName "NT*" | Group-Object -Property "UserName" -noelement | Format-Table Count, Name -Auto
يعيد أمره الأحداث في سجل النظام مجمعة حسب قيمة الخاصية أوزرنام. يستخدم هذا الأمر المعلمة أوزرنام للحصول فقط الأحداث التي يبدأ اسم المستخدم مع نت *.
الحصول على كافة الأخطاء في سجل الأحداث التي حدثت خلال إطار زمني محدد
$May31 = Get-Date 5/31/08
$July1 = Get-Date 7/01/08
Get-EventLog -Log "Windows PowerShell" -EntryType Error -After $May31 -before $July1
مسح أنواع سجلات أحداث معينة من الكمبيوتر المحلي
Clear-EventLog "Windows PowerShell"
مسح أنواع سجلات متعددة محددة من أجهزة الكمبيوتر المحلية والبعيدة
Clear-EventLog -LogName "ODiag", "OSession" -ComputerName "localhost", "Server02"
يقوم أمره بمسح كافة الإدخالات في سجلات ميكروسوفت أوفيس دياغنوستيكش (أودياغ) و ميكروسوفت أوفيس سيسيونس (أوسيسيون) على الكمبيوتر المحلي والكمبيوتر البعيد Server02.
مسح كافة السجلات على أجهزة الكمبيوتر المحددة ثم عرض قائمة سجل الأحداث
function Clear-All-Event-Logs ($ComputerName="localhost")
{
$Logs = Get-EventLog -ComputerName $ComputerName -List | ForEach {$_.Log}
$Logs | ForEach {Clear-EventLog -Comp $ComputerName -Log $_ }
Get-EventLog -ComputerName $ComputerName -List
}
Clear-All-Event-Logs -Comp "Server01"
تعمل فقط على سجلات الأحداث الكلاسيكية. للحصول على أحداث من السجلات التي تستخدم تقنية سجل أحداث ويندوز في نظام التشغيل ويندوز فيستا والإصدارات الأحدث من نظام التشغيل ويندوز
Write-EventLog -LogName "Application" -Source "MyApp" -EventID 3001 -EntryType Information -Message "MyApp added a user-requested feature to the display." -Category 1 -RawData 10,20
كتابة حدث إلى سجل أحداث التطبيق من كمبيوتر بعيد
Write-EventLog -ComputerName "Server01" -LogName Application -Source "MyApp" -EventID 3001 -Message "MyApp added a user-requested feature to the display."
الpplاحتفاظ بسجل أحداث لمدة محددة
Limit-EventLog -LogName Security -ComputerName "Server01", "Server02" -RetentionDays 7
يضمن هذا الأمر الاحتفاظ الأحداث في سجل الأمان على أجهزة الكمبيوتر Server01 و Server02 لمدة 7 أيام على الأقل
$Logs = Get-EventLog -List | ForEach {$_.log}
Limit-EventLog -OverflowAction OverwriteOlder -LogName $Logs
Get-EventLog -List
عرض سجلات الأحداث للكمبيوتر المحلي
Show-EventLog
يفتح هذا الأمر عارض الأحداث ويعرض فيه سجلات الأحداث الكلاسيكية على الكمبيوتر المحلي.
عرض سجلات الأحداث لجهاز كمبيوتر بعيد
Show-EventLog -ComputerName "Server01"
تعمل فقط على سجلات الأحداث الكلاسيكية. للحصول على أحداث من السجلات التي تستخدم تقنية سجل أحداث ويندوز في نظام التشغيل ويندوز فيستا والإصدارات الأحدث من نظام التشغيل ويندوز، استخدم كمدليت جيت-وينيفنت.
أمثلةإنشاء سجل أحداث وتسجيل مصدره
New-EventLog -Source "TestApp" -LogName "TestLog" -MessageResourceFile "C:\Test\TestApp.dll"
يقوم هذا الأمر بإنشاء سجل أحداث تيستلوغ على الكمبيوتر المحلي ويسجل مصدر جديد لذلك.
إضافة مصدر حدث إلى سجل التطبيق
$file = "C:\Program Files\TestApps\NewTestApp.dll"
New-EventLog -ComputerName "Server01" -Source "NewTestApp" -LogName "Application" -MessageResourceFile $file -CategoryResourceFile $file
إزالة سجل أحداث من الكمبيوتر المحلي
Remove-EventLog -LogName "MyLog"
يؤدي هذا الأمر إلى حذف سجل أحداث ميلوغ من الكمبيوتر المحلي وإلغاء تسجيل مصادر الحدث.
إزالة سجل أحداث من عدة أجهزة كمبيوتر
Remove-EventLog -LogName "MyLog", "TestLog" -ComputerName "Server01", "Server02", "localhost"
يؤدي هذا الأمر إلى حذف سجلات أحداث ميلوغ و تيستلوغ من الكمبيوتر المحلي و Server01 و Server02 أجهزة الكمبيوتر البعيدة. يقوم الأمر أيضا بإلغاء تسجيل مصادر الحدث لهذه السجلات.
حذف مصدر الحدث
Remove-EventLog -Source "MyApp"
يسرد الأمر الأول سجلات الأحداث على الكمبيوتر المحلي.
Get-EventLog -List
يقوم الأمر الثاني بحذف سجل أحداث زابلوغ.
Remove-EventLog -LogName "ZapLog"
تظهر هذه الأوامر كيفية إدراج سجلات الأحداث على جهاز كمبيوتر وتحقق من نجاح الأمر ريموف-إيفنتلوغ.
إزالة مصدر حدث وتأكيد الإجراء
Get-WmiObject win32_nteventlogfile -Filter "logfilename='TestLog'" | foreach {$_.sources}
Remove-Eventlog -Source "MyApp"
Get-WmiObject win32_nteventlogfile -Filter "logfilename='TestLog'"} | foreach {$_.sources}
لحصول على العمليات على الكمبيوتر المحلي
Get-WmiObject -Class Win32_Process
هذا الأمر الحصول على العمليات على الكمبيوتر المحلي.
يحصل على خدمات على كمبيوتر بعيد
Get-WmiObject -Class Win32_Service -ComputerName 127.0.0.1
هذا الأمر يحصل على الخدمات على جهاز كمبيوتر بعيد. يستخدم المعلمة كومبوترنام لتحديد عنوان بروتوكول إنترنت (إب)، 127.0.0.1. بشكل افتراضي، يجب أن يكون الحساب الحالي عضوا في مجموعة المسؤولين على الكمبيوتر البعيد.
الحصول على فئات ومي في الجذر أو مساحة الاسم الافتراضية للكمبيوتر المحلي
Get-WmiObject -Namespace "root/default" -List
يحصل هذا الأمر على فئات ومي في الجذر أو مساحة الاسم الافتراضية من الكمبيوتر المحلي.
الحصول على خدمة اسمه على أجهزة كمبيوتر متعددة
Get-WmiObject -Query "select * from win32_service where name='WinRM'" -ComputerName Server01, Server02 | Format-List -Property PSComputerName, Name, ExitCode, Name, ProcessID, StartMode, State, Status
إيقاف خدمة على كمبيوتر بعيد
(Get-WmiObject -Class Win32_Service -Filter "name='WinRM'" -ComputerName Server01).StopService()
هذا الأمر إيقاف خدمة وينرم على الكمبيوتر البعيد Server01. يستخدم الأمر الأمر جيت-وميوبجيكت للحصول على خدمة وينرم على Server01. ثم استدعاء الأسلوب
Get-WmiObject -Class Win32_Bios | Format-List -Property
الحصول على الخدمات على جهاز كمبيوتر بعيد
Get-WmiObject Win32_Service -Credential FABRIKAM\administrator -Computer Fabrikam
قم بإدراج الترتيب المطلوب من كائنات ومي
([wmiclass]'Win32_Volume').GetMethodParameters('Format')
إعادة تسمية ملف
Invoke-WmiMethod -Path "CIM_DataFile.Name='C:\scripts\test.txt'" -Name Rename -ArgumentList "C:\scripts\test_bu.txt"
إنشاء محرك أقراص تعيينها إلى مشاركة شبكة الاتصال
New-PSDrive -Name "P" -PSProvider "FileSystem" -Root "\\Server01\Public"
إنشاء محرك أقراص مؤقت
New-PSDrive -Name MyDocs -PSProvider FileSystem -Root "C:\Documents and Settings\User01\My Documents" -Description "Maps to my My Documents folder."
إنشاء محرك أقراص لمفتاح التسجيل
New-PSDrive -Name "MyCompany" -PSProvider "Registry" -Root "HKLM:\Software\MyCompany"
إنشاء محرك أقراص شبكة اتصال معين
New-PSDrive -Name "S" -Root "\\Server01\Scripts" -Persist -PSProvider "FileSystem"
الحصول على محركات الأقراص في الدورة الحالية
Get-PSDrive
الحصول على محرك أقراص على الكمبيوتر
Get-PSDrive D
الحصول على كافة محركات الأقراص التي يتم دعمها من قبل موفر نظام الملفات ويندوز بويرشيل
Get-PSDrive -Provider FileSystem
أمره يحصل على كافة محركات الأقراص التي تدعمها مزود ويندوز بويرشيل فلزيستم. يتضمن ذلك محركات الأقراص الثابتة، الأقسام المنطقية، محركات أقراص الشبكة المعينة، ومحركات الأقراص المؤقتة التي تقوم بإنشائها باستخدام كمدليت نيو-بسدريف.
if (Get-PSDrive X -ErrorAction SilentlyContinue) {
Write-Host 'The X: drive is already in use.'
} else {
New-PSDrive -Name X -PSProvider Registry -Root HKLM:\SOFTWARE
}
قارن أنواع محركات أقراص نظام الملفات
Get-PSDrive -PSProvider FileSystem
Get-CimInstance -Class Win32_LogicalDisk
Get-CimInstance -Class Win32_NetworkConnection
الحصول على قائمة بجميع العمليات النشطة على الكمبيوتر المحلي
Get-Process
الحصول على كافة البيانات المتاحة حول عملية أو أكثر
Get-Process winword, explorer | Format-List *
الحصول على كافة العمليات مع مجموعة عمل أكبر من حجم محدد
Get-Process | Where-Object {$_.WorkingSet -gt 20000000}
قائمة العمليات على الكمبيوتر في مجموعات على أساس الأولوية
$A = Get-Process PS C:\> Get-Process -InputObject $A | Format-Table -View priority
إضافة خاصية إلى عرض إخراج جيت-بروسيس القياسي
Get-Process pwsh |
ft @{Label = "NPM(K)"; Expression = {[int]($_.NPM / 1024)}},
@{Label = "PM(K)"; Expression = {[int]($_.PM / 1024)}},
@{Label = "WS(K)"; Expression = {[int]($_.WS / 1024)}},
@{Label = "VM(M)"; Expression = {[int]($_.VM / 1MB)}},
@{Label = "CPU(s)"; Expression = {if ($_.CPU) {$_.CPU.ToString("N")}}},
Id, MachineName, ProcessName -Auto
الحصول على معلومات الإصدار لعملية
Get-Process powershell -FileVersionInfo
الحصول على وحدات محملة مع العملية المحددة
Get-Process SQL* -Module
لتشغيل هذا الأمر على نظام التشغيل ويندوز فيستا والإصدارات الأحدث من ويندوز مع العمليات التي لا تملكها، يجب بدء تشغيل ويندوز بويرشيل مع الخيار تشغيل كمسؤول.ابحث عن مالك العملية
Get-Process pwsh -IncludeUserName
استخدام متغير تلقائي لتحديد عملية استضافة الدورة الحالية
Get-Process pwsh
Get-Process -Id $PID
الحصول على كافة العمليات التي لها عنوان نافذة رئيسية وعرضها في جدول
Get-Process | where {$_.mainWindowTitle} | Format-Table id, name, mainwindowtitle -autosize
إرفاق مصحح أخطاء إلى عملية على الكمبيوتر
Debug-Process -Name "Windows Powershell"
يعلق هذا الأمر مصحح الأخطاء على عملية ويندوز بويرشيل على الكمبيوتر.
إرفاق مصحح الأخطاء على كافة العمليات التي تبدأ مع سلسلة محددة
Debug-Process -Name "SQL*"
يعلق هذا الأمر مصحح الأخطاء على كافة العمليات التي تحتوي على أسماء تبدأ ب سكل.
إرفاق مصحح أخطاء لعدة عمليات
Debug-Process "Winlogon", "Explorer", "Outlook"
يستخدم الأمر الخاص به المعلمة الفريدة من تحديد كائن للحصول على أحرف فريدة من مجموعة من الأحرف.
حدد الأحداث الأحدث والأقدم في سجل الأحداث
$A = Get-Eventlog -Log "Windows PowerShell"
$A | Select-Object -Index 0, ($A.count - 1)
يستخدم الأمر الثاني مشغل خط أنابيب (|) لإرسال الأحداث في $ A إلى كمدليت حدد كائن. يستخدم الأمر سيليكت-أوبجيكت معامل الفهرس لتحديد الأحداث من صفيف الأحداث في المتغير $ A. مؤشر الحدث الأول هو 0. فهرس الحدث الأخير هو عدد العناصر في $ A ناقص 1.
حدد كل الكائن الأول
New-PSSession -ComputerName (Get-Content Servers.txt | Select-Object -Skip 1)
يمكنك تحديد خاصية واحدة أو خصائص متعددة، لفرز متعدد المفاتيح، ويمكنك تحديد نوع حساس لحالة الأحرف أو لحالة الأحرف. يمكنك أيضا توجيه سورت-أوبجيكت لعرض الكائنات ذات القيمة الفريدة لموقع معين فقط.
Get-ChildItem | Sort-Object
يعرض هذا الأمر الملفات الموجودة في الدليل الحالي بترتيب تصاعدي حسب طول الملف.
Get-Process | Sort-Object -Property WS | Select-Object -Last 5
يقوم مشغل خط أنابيب آخر بإرسال النتائج إلى كائن تحديد، الذي يعرض فقط العناصر الخمسة الأخيرة في القائمة.
Get-History | Sort-Object -Descending
يقوم هذا الأمر بفرز عناصر هيستوريينفو باستخدام الخاصية إد كمفتاح افتراضي.
Get-Service | Sort-Object -Property @{Expression = "Status"; Descending = $True}, @{Expression = "DisplayName"; Descending = $False}
فرز الملفات النصية حسب الفترة الزمنية
Get-ChildItem *.txt | Sort-Object -Property @{Expression={$_.LastWriteTime - $_.CreationTime}; Ascending = $False} | Format-Table LastWriteTime, CreationTime
يحدد هذا الأمر نقطة توقف على متغير الخادم في البرنامج النصي Sample.ps1. يستخدم المعلمة مود مع قيمة ريادوريت لإيقاف التنفيذ عند قراءة قيمة المتغير وقبل تغيير القيمة.
Set-PSBreakpoint -Script Sample.ps1 -Command "write*"
تعيين نقطة توقف اعتمادا على قيمة متغير
Set-PSBreakpoint -Script "test.ps1" -Command "DiskTest" `
-Action { if ($Disk -gt 2) { break } }
تعيين نقطة توقف على وظيفة
Set-PSBreakpoint -Command "checklog"
إرسال بريد إلكتروني إلى قائمة بريدية
Send-MailMessage -To "User01 <user01@example.com>" -From "ITGroup <itdept@example.com>" -Cc "User02 <user02@example.com>" -bcc "ITMgr <itmgr@example.com>" -Subject "Don't forget today's meeting!" -Credential domain01\admin01 -UseSs
الحصول على سجلات الأحداث على الكمبيوتر المحلي
Get-EventLog -List
أمره يحصل على سجلات الأحداث على الكمبيوتر المحلي.
الحصول على أحدث خمس إدخالات من سجل أحداث معين على الكمبيوتر المحلي
Get-EventLog -Newest 5 -LogName "Application"
يحصل هذا الأمر على أحدث خمس إدخالات من سجل أحداث التطبيق.
البحث عن جميع المصادر التي يتم تمثيلها في عدد محدد من الإدخالات في سجل الأحداث
$Events = Get-Eventlog -LogName system -Newest 1000
$Events | Group-Object -Property source -noelement | Sort-Object -Property count -Descending
يوضح مثاله كيفية العثور على كافة المصادر التي يتم تمثيلها في 1000 الإدخالات الأخيرة في سجل أحداث النظام.
يحصل الأمر الأول على أحدث 1،000 إدخالات من سجل أحداث النظام ويخزنها في متغير الأحداث $.
المصدر هو خاصية واحدة فقط من إدخالات سجل الأحداث. لمشاهدة كافة خصائص إدخال سجل الأحداث، إدخال إدخالات سجل الأحداث إلى كمدليت جيت-ميمبر.
الحصول على أحداث خطأ من سجل أحداث معين
Get-EventLog -LogName System -EntryType Error
يحصل الأمر الخاص به فقط أحداث خطأ من سجل أحداث النظام.
الحصول على الأحداث من سجل أحداث معين مع معرف مثيل وقيمة المصدر
Get-EventLog -LogName System -InstanceID 3221235481 -Source "DCOM"
يحصل هذا الأمر الأحداث من سجل النظام التي تحتوي على إنستانسيد من 3221235481 وقيمة مصدر دسوم.
احصل على أحداث سجل الأحداث من أجهزة كمبيوتر متعددة
Get-EventLog -LogName "Windows PowerShell" -ComputerName "localhost", "Server01", "Server02"
يحصل هذا الأمر الأحداث من سجل أحداث ويندوز بويرشيل على أجهزة الكمبيوتر الثلاثة، Server01، Server02، والكمبيوتر المحلي، والمعروفة باسم لوكالهوست.
الحصول على كافة الأحداث في سجل الأحداث التي تتضمن كلمة معينة في قيمة الرسالة
Get-EventLog -LogName "Windows PowerShell" -Message "*failed*"
يحصل هذا الأمر على كافة الأحداث في سجل أحداث ويندوز بويرشيل التي تحتوي على قيمة رسالة تتضمن فشل الكلمة.
عرض قيم الخاصية لحدث في ليس
$A = Get-EventLog -Log System -Newest 1
$A | Format-List -Property *
احصل على الأحداث من سجل الأحداث باستخدام معرف المصدر والحدث
Get-EventLog -Log "Application" -Source "Outlook" | where {$_.eventID -eq 34}
يحصل هذا الأمر الأحداث في سجل أحداث التطبيق حيث يكون المصدر أوتلوك و معرف الحدث هو 34. على الرغم من أن كمدليت لا يحتوي على معلمة إيفنتيد، يمكنك استخدام كمدليت كائن أين لتحديد كائن بناء على قيمة أي حدث خاصية.
مثال 10:احصل على الأحداث في سجل الأحداث، مجمعة حسب خاصية
Get-EventLog -Log System -UserName "NT*" | Group-Object -Property "UserName" -noelement | Format-Table Count, Name -Auto
يعيد أمره الأحداث في سجل النظام مجمعة حسب قيمة الخاصية أوزرنام. يستخدم هذا الأمر المعلمة أوزرنام للحصول فقط الأحداث التي يبدأ اسم المستخدم مع نت *.
الحصول على كافة الأخطاء في سجل الأحداث التي حدثت خلال إطار زمني محدد
$May31 = Get-Date 5/31/08
$July1 = Get-Date 7/01/08
Get-EventLog -Log "Windows PowerShell" -EntryType Error -After $May31 -before $July1
مسح أنواع سجلات أحداث معينة من الكمبيوتر المحلي
Clear-EventLog "Windows PowerShell"
مسح أنواع سجلات متعددة محددة من أجهزة الكمبيوتر المحلية والبعيدة
Clear-EventLog -LogName "ODiag", "OSession" -ComputerName "localhost", "Server02"
يقوم أمره بمسح كافة الإدخالات في سجلات ميكروسوفت أوفيس دياغنوستيكش (أودياغ) و ميكروسوفت أوفيس سيسيونس (أوسيسيون) على الكمبيوتر المحلي والكمبيوتر البعيد Server02.
مسح كافة السجلات على أجهزة الكمبيوتر المحددة ثم عرض قائمة سجل الأحداث
function Clear-All-Event-Logs ($ComputerName="localhost")
{
$Logs = Get-EventLog -ComputerName $ComputerName -List | ForEach {$_.Log}
$Logs | ForEach {Clear-EventLog -Comp $ComputerName -Log $_ }
Get-EventLog -ComputerName $ComputerName -List
}
Clear-All-Event-Logs -Comp "Server01"
تعمل فقط على سجلات الأحداث الكلاسيكية. للحصول على أحداث من السجلات التي تستخدم تقنية سجل أحداث ويندوز في نظام التشغيل ويندوز فيستا والإصدارات الأحدث من نظام التشغيل ويندوز
Write-EventLog -LogName "Application" -Source "MyApp" -EventID 3001 -EntryType Information -Message "MyApp added a user-requested feature to the display." -Category 1 -RawData 10,20
كتابة حدث إلى سجل أحداث التطبيق من كمبيوتر بعيد
Write-EventLog -ComputerName "Server01" -LogName Application -Source "MyApp" -EventID 3001 -Message "MyApp added a user-requested feature to the display."
الpplاحتفاظ بسجل أحداث لمدة محددة
Limit-EventLog -LogName Security -ComputerName "Server01", "Server02" -RetentionDays 7
يضمن هذا الأمر الاحتفاظ الأحداث في سجل الأمان على أجهزة الكمبيوتر Server01 و Server02 لمدة 7 أيام على الأقل
$Logs = Get-EventLog -List | ForEach {$_.log}
Limit-EventLog -OverflowAction OverwriteOlder -LogName $Logs
Get-EventLog -List
عرض سجلات الأحداث للكمبيوتر المحلي
Show-EventLog
يفتح هذا الأمر عارض الأحداث ويعرض فيه سجلات الأحداث الكلاسيكية على الكمبيوتر المحلي.
عرض سجلات الأحداث لجهاز كمبيوتر بعيد
Show-EventLog -ComputerName "Server01"
تعمل فقط على سجلات الأحداث الكلاسيكية. للحصول على أحداث من السجلات التي تستخدم تقنية سجل أحداث ويندوز في نظام التشغيل ويندوز فيستا والإصدارات الأحدث من نظام التشغيل ويندوز، استخدم كمدليت جيت-وينيفنت.
أمثلةإنشاء سجل أحداث وتسجيل مصدره
New-EventLog -Source "TestApp" -LogName "TestLog" -MessageResourceFile "C:\Test\TestApp.dll"
يقوم هذا الأمر بإنشاء سجل أحداث تيستلوغ على الكمبيوتر المحلي ويسجل مصدر جديد لذلك.
إضافة مصدر حدث إلى سجل التطبيق
$file = "C:\Program Files\TestApps\NewTestApp.dll"
New-EventLog -ComputerName "Server01" -Source "NewTestApp" -LogName "Application" -MessageResourceFile $file -CategoryResourceFile $file
إزالة سجل أحداث من الكمبيوتر المحلي
Remove-EventLog -LogName "MyLog"
يؤدي هذا الأمر إلى حذف سجل أحداث ميلوغ من الكمبيوتر المحلي وإلغاء تسجيل مصادر الحدث.
إزالة سجل أحداث من عدة أجهزة كمبيوتر
Remove-EventLog -LogName "MyLog", "TestLog" -ComputerName "Server01", "Server02", "localhost"
يؤدي هذا الأمر إلى حذف سجلات أحداث ميلوغ و تيستلوغ من الكمبيوتر المحلي و Server01 و Server02 أجهزة الكمبيوتر البعيدة. يقوم الأمر أيضا بإلغاء تسجيل مصادر الحدث لهذه السجلات.
حذف مصدر الحدث
Remove-EventLog -Source "MyApp"
يسرد الأمر الأول سجلات الأحداث على الكمبيوتر المحلي.
Get-EventLog -List
يقوم الأمر الثاني بحذف سجل أحداث زابلوغ.
Remove-EventLog -LogName "ZapLog"
تظهر هذه الأوامر كيفية إدراج سجلات الأحداث على جهاز كمبيوتر وتحقق من نجاح الأمر ريموف-إيفنتلوغ.
إزالة مصدر حدث وتأكيد الإجراء
Get-WmiObject win32_nteventlogfile -Filter "logfilename='TestLog'" | foreach {$_.sources}
Remove-Eventlog -Source "MyApp"
Get-WmiObject win32_nteventlogfile -Filter "logfilename='TestLog'"} | foreach {$_.sources}
لحصول على العمليات على الكمبيوتر المحلي
Get-WmiObject -Class Win32_Process
هذا الأمر الحصول على العمليات على الكمبيوتر المحلي.
يحصل على خدمات على كمبيوتر بعيد
Get-WmiObject -Class Win32_Service -ComputerName 127.0.0.1
هذا الأمر يحصل على الخدمات على جهاز كمبيوتر بعيد. يستخدم المعلمة كومبوترنام لتحديد عنوان بروتوكول إنترنت (إب)، 127.0.0.1. بشكل افتراضي، يجب أن يكون الحساب الحالي عضوا في مجموعة المسؤولين على الكمبيوتر البعيد.
الحصول على فئات ومي في الجذر أو مساحة الاسم الافتراضية للكمبيوتر المحلي
Get-WmiObject -Namespace "root/default" -List
يحصل هذا الأمر على فئات ومي في الجذر أو مساحة الاسم الافتراضية من الكمبيوتر المحلي.
الحصول على خدمة اسمه على أجهزة كمبيوتر متعددة
Get-WmiObject -Query "select * from win32_service where name='WinRM'" -ComputerName Server01, Server02 | Format-List -Property PSComputerName, Name, ExitCode, Name, ProcessID, StartMode, State, Status
إيقاف خدمة على كمبيوتر بعيد
(Get-WmiObject -Class Win32_Service -Filter "name='WinRM'" -ComputerName Server01).StopService()
هذا الأمر إيقاف خدمة وينرم على الكمبيوتر البعيد Server01. يستخدم الأمر الأمر جيت-وميوبجيكت للحصول على خدمة وينرم على Server01. ثم استدعاء الأسلوب
Get-WmiObject -Class Win32_Bios | Format-List -Property
الحصول على الخدمات على جهاز كمبيوتر بعيد
Get-WmiObject Win32_Service -Credential FABRIKAM\administrator -Computer Fabrikam
قم بإدراج الترتيب المطلوب من كائنات ومي
([wmiclass]'Win32_Volume').GetMethodParameters('Format')
إعادة تسمية ملف
Invoke-WmiMethod -Path "CIM_DataFile.Name='C:\scripts\test.txt'" -Name Rename -ArgumentList "C:\scripts\test_bu.txt"
إنشاء محرك أقراص تعيينها إلى مشاركة شبكة الاتصال
New-PSDrive -Name "P" -PSProvider "FileSystem" -Root "\\Server01\Public"
إنشاء محرك أقراص مؤقت
New-PSDrive -Name MyDocs -PSProvider FileSystem -Root "C:\Documents and Settings\User01\My Documents" -Description "Maps to my My Documents folder."
إنشاء محرك أقراص لمفتاح التسجيل
New-PSDrive -Name "MyCompany" -PSProvider "Registry" -Root "HKLM:\Software\MyCompany"
إنشاء محرك أقراص شبكة اتصال معين
New-PSDrive -Name "S" -Root "\\Server01\Scripts" -Persist -PSProvider "FileSystem"
الحصول على محركات الأقراص في الدورة الحالية
Get-PSDrive
الحصول على محرك أقراص على الكمبيوتر
Get-PSDrive D
الحصول على كافة محركات الأقراص التي يتم دعمها من قبل موفر نظام الملفات ويندوز بويرشيل
Get-PSDrive -Provider FileSystem
أمره يحصل على كافة محركات الأقراص التي تدعمها مزود ويندوز بويرشيل فلزيستم. يتضمن ذلك محركات الأقراص الثابتة، الأقسام المنطقية، محركات أقراص الشبكة المعينة، ومحركات الأقراص المؤقتة التي تقوم بإنشائها باستخدام كمدليت نيو-بسدريف.
if (Get-PSDrive X -ErrorAction SilentlyContinue) {
Write-Host 'The X: drive is already in use.'
} else {
New-PSDrive -Name X -PSProvider Registry -Root HKLM:\SOFTWARE
}
قارن أنواع محركات أقراص نظام الملفات
Get-PSDrive -PSProvider FileSystem
Get-CimInstance -Class Win32_LogicalDisk
Get-CimInstance -Class Win32_NetworkConnection
الحصول على قائمة بجميع العمليات النشطة على الكمبيوتر المحلي
Get-Process
الحصول على كافة البيانات المتاحة حول عملية أو أكثر
Get-Process winword, explorer | Format-List *
الحصول على كافة العمليات مع مجموعة عمل أكبر من حجم محدد
Get-Process | Where-Object {$_.WorkingSet -gt 20000000}
قائمة العمليات على الكمبيوتر في مجموعات على أساس الأولوية
$A = Get-Process PS C:\> Get-Process -InputObject $A | Format-Table -View priority
إضافة خاصية إلى عرض إخراج جيت-بروسيس القياسي
Get-Process pwsh |
ft @{Label = "NPM(K)"; Expression = {[int]($_.NPM / 1024)}},
@{Label = "PM(K)"; Expression = {[int]($_.PM / 1024)}},
@{Label = "WS(K)"; Expression = {[int]($_.WS / 1024)}},
@{Label = "VM(M)"; Expression = {[int]($_.VM / 1MB)}},
@{Label = "CPU(s)"; Expression = {if ($_.CPU) {$_.CPU.ToString("N")}}},
Id, MachineName, ProcessName -Auto
الحصول على معلومات الإصدار لعملية
Get-Process powershell -FileVersionInfo
الحصول على وحدات محملة مع العملية المحددة
Get-Process SQL* -Module
لتشغيل هذا الأمر على نظام التشغيل ويندوز فيستا والإصدارات الأحدث من ويندوز مع العمليات التي لا تملكها، يجب بدء تشغيل ويندوز بويرشيل مع الخيار تشغيل كمسؤول.ابحث عن مالك العملية
Get-Process pwsh -IncludeUserName
استخدام متغير تلقائي لتحديد عملية استضافة الدورة الحالية
Get-Process pwsh
Get-Process -Id $PID
الحصول على كافة العمليات التي لها عنوان نافذة رئيسية وعرضها في جدول
Get-Process | where {$_.mainWindowTitle} | Format-Table id, name, mainwindowtitle -autosize
إرفاق مصحح أخطاء إلى عملية على الكمبيوتر
Debug-Process -Name "Windows Powershell"
يعلق هذا الأمر مصحح الأخطاء على عملية ويندوز بويرشيل على الكمبيوتر.
إرفاق مصحح الأخطاء على كافة العمليات التي تبدأ مع سلسلة محددة
Debug-Process -Name "SQL*"
يعلق هذا الأمر مصحح الأخطاء على كافة العمليات التي تحتوي على أسماء تبدأ ب سكل.
إرفاق مصحح أخطاء لعدة عمليات
Debug-Process "Winlogon", "Explorer", "Outlook"
Post a Comment