كيفية استخدام بوويرشيل لقراءة قيمة التسجيل

24 يونيو 2021 14116 الآراء كيفية استخدام بوويرشيل لقراءة قيمة التسجيل

في منطقة S هذه ، يعلمك Victor كيفية استخدام PowerShell لقراءة قيمة التسجيل.





يبدأ الدليل بتعليمك كيفية تنسيق مسار التسجيل لاستخدامه مع PowerShell. ستتعلم أيضًا أفضل طريقة لنسخ مفتاح التسجيل لاستخدامه في PowerShell.



أخيرًا ، يقدم الدليل 10 أمثلة بطرق متنوعة لاستخدام PowerShell لقراءة قيم التسجيل.

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



تصفح مواضيع المنشور



كيفية تنسيق مسارات التسجيل بوويرشيل

كيفية استخدام PowerShell لقراءة قيمة السجل - كيفية تنسيق مسارات التسجيل لـ PowerShell

قبل أن أعلمك كيفية استخدام PowerShell لقراءة قيمة التسجيل ، أريد أن أعلمك كيفية تنسيق مسارات التسجيل للعمل مع PowerShell.

يحتوي سجل Windows على 5 مفاتيح من المستوى الأعلى (مفاتيح الجذر):



  1. HKEY_LOCAL_MACHINE
  2. HKEY_CURRENT_CONFIG
  3. HKEY_CLASSES_ROOT
  4. HKEY_USERS
  5. HKEY_CURRENT_USER

لقراءة قيمة التسجيل ، عليك تحديد المفتاح كمسار في ملف الحصول على ItemProperty أو تحصل على البند كمدليتس. هناك طريقتان لتنسيق مسار التسجيل:



تنسيق مع مسار مفتاح التسجيل الكامل

يدخل التسجيل :: متبوعًا بالمسار الكامل للتسجيل. على سبيل المثال ، لتحديد HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows CurrentVersion ، سأستخدم التسجيل :: HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows CurrentVersion

التنسيق باستخدام مسار مفتاح التسجيل المختصر

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

للتذكير ، إليك اختصارات مفاتيح الجذر:

HKEY_LOCAL_MACHINE - HKLM
HKEY_CURRENT_CONFIG - HKCC
HKEY_CLASSES_ROOT - HKCR
HKEY_USERS - HKU
HKEY_CURRENT_USER - HKCU

لذلك ، لتحديد مسار التسجيل ، HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows CurrentVersion بهذه الطريقة الثانية ، ستكتب - HKLM: SOFTWARE Microsoft Windows CurrentVersion

لاحظ أنه على الرغم من إزالة اسم الجذر ، تم الاحتفاظ بالشرطة المائلة الأولى ().

كيفية نسخ اسم مفتاح التسجيل

شيء آخر قبل أن أنتقل - من الأفضل نسخ المسار إلى مفتاح التسجيل الذي تريد قراءته باستخدام PowerShell - بدلاً من كتابته يدويًا.

لنسخ مفتاح التسجيل ، انقر بزر الماوس الأيمن فوق المفتاح وحدد نسخ اسم المفتاح . هنا مثال.

كيفية استخدام PowerShell لقراءة قيمة السجل - كيفية تنسيق مسارات التسجيل لـ PowerShell

استخدم PowerShell لقراءة قيمة التسجيل: أمثلة

استخدم PowerShell لقراءة قيمة التسجيل: أمثلة

الآن بعد أن عرفت كيفية تنسيق مسار التسجيل لاستخدامه مع PowerShell ، يضم هذا القسم 10 أمثلة لاستخدام PowerShell لقراءة قيمة التسجيل:

كيفية إرجاع جميع القيم في مفتاح التسجيل

لإرجاع جميع قيم مفتاح التسجيل ، أدخل الأمر أدناه واضغط على Enter.

Get-ItemProperty -Path HKLM:SOFTWAREMicrosoftWindowsCurrentVersion
قم بتغيير المسار إلى مسار مفتاح التسجيل الذي تريد قراءة قيمه. تذكر تنسيق التسجيل من القسم الأخير.

سيعيد الأمر جميع القيم الموجودة في المسار المحدد. لقطة الشاشة الثانية أدناه هي إدخال التسجيل الفعلي.

إذا قارنت نتيجة PowerShell وقيم التسجيل (الجزء الثاني) ، فهما متماثلان تمامًا.

كيفية إرجاع قيمة معينة في مفتاح التسجيل وحفظها في متغير

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

هناك طرق متعددة للقيام بذلك.

الأمر الأخير ( الحصول على ItemProperty command) القيم الموضحة في لقطة الشاشة أدناه.

تحتوي هذه الصورة على سمة alt فارغة ؛ اسم الملف الخاص به هو image-74-1024x591.png

لإرجاع القيمة CommonFilesDir ، استخدم أحد الأوامر أدناه:

(Get-ItemProperty -Path HKLM:SOFTWAREMicrosoftWindowsCurrentVersion).CommonFilesDir
Get-ItemProperty -Path HKLM:SOFTWAREMicrosoftWindowsCurrentVersion | Select-Object -ExpandProperty CommonFilesDir

يقوم الأمران بإرجاع بيانات التسجيل ، بدون اسم الخاصية ، CommonFilesDir . انظر اللقطة في الاسفل:

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

هذا هو الأمر المعدل:

$RegData = Get-ItemProperty -Path HKLM:SOFTWAREMicrosoftWindowsCurrentVersion | Select-Object -ExpandProperty CommonFilesDir

الآن ، عند تشغيل الأمر ، لن يُرجع أي نتيجة على وحدة التحكم لأن النتيجة يتم حفظها في المتغير ...

كيفية إرجاع قيمة معينة في مفتاح التسجيل وحفظها في متغير

ومع ذلك ، لعرض النتيجة المحفوظة في المتغير ، قم بتشغيل المتغير ...

$RegData

هذه هي النتيجة في PowerShell ...

كيفية إرجاع اسم المفتاح الفرعي للتسجيل

أرجع الأمر الأخير في القسم الفرعي الأخير كلاً من أسماء مفاتيح التسجيل وبياناتها.

ومع ذلك ، قد ترغب في بعض الأحيان في عرض الأسماء بدون البيانات. يمكنك استعمال ال تحصل على البند Cmdlet للقيام بذلك. انظر الأمر أدناه ...

Get-Item -Path Registry::HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion | Select-Object -ExpandProperty Property

سيعيد الأمر أسماء مفاتيح التسجيل بدون عمود البيانات المصاحب.

كيفية استخدام PowerShell لقراءة قيمة التسجيل وإرجاع البيانات الثنائية

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

كيفية استخدام PowerShell لقراءة قيمة التسجيل وإرجاع البيانات الثنائية

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

$key = Get-Item 'Registry::HKEY_CURRENT_USERControl PanelDesktopWindowMetrics'

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

لإرجاع الخصائص فقط ، قم بتمرير الأمر أعلاه إلى تحديد كائن ...

Get-Item 'Registry::HKEY_CURRENT_USERControl PanelDesktopWindowMetrics' | Select-Object -ExpandProperty Property

يعرض هذا الأمر جميع الخصائص الموجودة في القائمة.

كيفية استخدام PowerShell لقراءة قيمة التسجيل وإرجاع البيانات الثنائية

لعرض CaptionFont (القيمة الرابعة في المصفوفة) ، حدِّث الأمر كما هو موضح أدناه واحفظه في متغير ...

$name = (Get-Item 'Registry::HKEY_CURRENT_USERControl PanelDesktopWindowMetrics' | Select-Object -ExpandProperty Property)[3]

بعد ذلك ، لعرض نوع قيمة التسجيل (في هذه الحالة ، REG_BINARY) ، قم باستدعاء GetValueKind الطريقة الموجودة في الأمر الأصلي المحفوظة في ملف مفتاح $ عامل. ثم استخدام التسمية التوضيحية الخط (المحفوظة في $ نام ه) كقيمة في الطريقة.

ها هو الأمر ...

$Type = $key.GetValueKind($name)

النتيجة كما هو متوقع هي ثنائي.

بعد ذلك ، قرأنا القيم الموجودة في نوع التسجيل الثنائي باستخدام أمر PowerShell أدناه ...

$Value = $key.GetValue($name)

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

والنتيجة هي مجموعة من الأرقام. لرؤية هذه القيمة في التسجيل ، انظر لقطة الشاشة أدناه.

كيفية استخدام PowerShell لقراءة قيمة التسجيل وإرجاع البيانات الثنائية

أخيرًا ، لتسهيل سرد قيم التسجيل ، قمت بإنشاء وظيفة PowerShell تسمى Get-RegistryData. لتنزيل الوظيفة ، انقر فوق تنزيل Get-RegistryData.zip

بمجرد التنزيل ، قم بفك ضغط الملف. بعد ذلك ، قم بتشغيل الأوامر أدناه:

Unblock-File C:UsersVictorADownloadsGet-RegistryDataGet-RegistryDataGet-RegistryData.ps1 Import-Module C:UsersVictorADownloadsGet-RegistryDataGet-RegistryDataGet-RegistryData.ps1
استبدل C: Users VictorA Downloads Get-RegistryData Get-RegistryData بالمسار إلى الوظيفة على جهاز الكمبيوتر الخاص بك.

للحصول على القيم أو البيانات الموجودة في المفاتيح على مسار التسجيل ، قم بتشغيل الأمر أدناه.

Get-RegistryData -RegistryPath 'HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsCurrentVersionExplorer'

يعرض الأمر أسماء المفاتيح ومسار التسجيل ونوع المفتاح. عمود النوع مخفي في لقطة الشاشة أدناه.

بدلاً من ذلك ، إذا كنت لا تريد عرض رؤوس معينة ، فيمكنك تمرير Get-RegistryData إلى Select-Object.

Get-RegistryData -RegistryPath 'HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsCurrentVersionExplorer' | Select-Object name, type, data

باستخدام الأمر أعلاه ، يعرض Get-RegistryData ملف اسم و نوع ، و البيانات من كل مفتاح في مسار التسجيل المحدد ...

وظيفة Get-RegistryData لها معلمة واحدة تسمى RegistryPath

كيفية استخدام PowerShell لقراءة قيمة التسجيل وإرجاع صفيف

لقراءة مفتاح التسجيل باستخدام PowerShell وإرجاع القيمة في صفيف ، استخدم ملحق Get-ChildItem يأمر.

مفتاح التسجيل هذا ، HKEY_CURRENT_USER لوحة التحكم سطح المكتب يحتوي على 3 مفاتيح فرعية. يُرجع الأمر أدناه جميع المفاتيح الفرعية وخصائصها وقيمها:

$subkeys = Get-ChildItem 'registry::HKEY_CURRENT_USERControl PanelDesktop'

يتم إرجاع هذه القيم في مصفوفة. للتأكيد ، قم بتشغيل الأمر أدناه ...

$subkeys.GetType()

يؤكد هذا الأمر أن نوع البيانات في الأمر الأخير المحفوظ في متغير $ subkeys عبارة عن مصفوفة.

كيفية استخدام PowerShell لقراءة قيمة التسجيل وإرجاع صفيفبالنسبة إلى Get-ChildItem الأمر لإرجاع النتائج في مصفوفة ، يجب أن يحتوي مفتاح التسجيل على مفاتيح فرعية.

كيفية استخدام PowerShell للحصول على قيمة التسجيل إذا كانت موجودة

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

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

بعد ذلك ، إذا كان موجودًا ، فسيقرأ قيمه باستخدام الأمر Get-ItemProperty.

If (Test-Path 'Registry::HKEY_CURRENT_USERControl PanelDesktop') { Get-ItemProperty 'Registry::HKEY_CURRENT_USERControl PanelDesktop' } Else { write-host 'The specified registry value does not exist.' }

مفتاح التسجيل ، التسجيل :: HKEY_CURRENT_USER لوحة التحكم سطح المكتب موجود. لذلك ، أعاد الأمر الأخير قيمه.

دعونا نرى ما إذا كنا نحدد مفتاح تسجيل غير موجود ...

If (Test-Path 'Registry::HKEY_CURRENT_USERControl PanelDesk') { Get-ItemProperty 'Registry::HKEY_CURRENT_USERControl PanelDesk' } Else { write-host 'The specified registry value does not exist.' }

هذه المرة ، ينفذ البرنامج النصي في ملف آخر كتلة من إذا بيان.

كيفية استخدام PowerShell للحصول على قيمة التسجيل إذا كانت موجودة

كيفية استخدام PowerShell للحصول على قيم التسجيل ومقارنتها

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

في القسم الفرعي كيفية استخدام PowerShell لقراءة قيمة السجل وإرجاع البيانات الثنائية ، ذكرت أنني أنشأت وظيفة تسمى Get-RegistryData.

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

يمكنك استخدام هذه الوظيفة لإرجاع أسماء وأنواع وبيانات المفاتيح الفرعية في مسار التسجيل المحدد.

على سبيل المثال ، لإرجاع الأسماء والأنواع والبيانات لجميع الإدخالات في HKEY_CURRENT_USER SOFTWARE Microsoft Windows CurrentVersion Explorer ، قم بتشغيل الأمر أدناه ...

Get-RegistryData -RegistryPath 'HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsCurrentVersionExplorer'

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

  1. الأنابيب الناتج من الحصول على بيانات التسجيل الأمر في أ أين الكائن الأمر والتصفية حسب الاسم يساوي أيقونة تسطير .
Get-RegistryData -RegistryPath 'HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsCurrentVersionExplorer' | Where-Object {$_.Name -eq 'IconUnderline'}

يوضح الأمر الأخير أن القيمة الحالية في IconUnderline هي 3.

  1. إذا كنت أرغب في مقارنة هذه القيمة بقيمة أخرى ، لنقل 2 ، فسأستخدم الأوامر أدناه. يحفظ الأمر الأول الأمر الموجود في الخطوة 1 أعلاه إلى متغير.
$RegValue = Get-RegistryData -RegistryPath 'HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsCurrentVersionExplorer' | Where-Object {$_.Name -eq 'IconUnderline'} If ($RegValue.Value -ne 1) {Set-ItemProperty -Path $RegValue.Path -Name $RegValue.Name -Value 1} 

ال إذا يقارن البيان القيمة الحالية في مفتاح التسجيل بـ 1. ثم ، إذا لم تكن تساوي 1 ، فإنه يستخدم تعيين عنصر العنصر لتحديث القيمة إلى ما تحدده في ملف قيمة معامل.

كيفية استخدام بوويرشيل للحصول على مفتاح التسجيل والمفاتيح الفرعية

هناك أمران يمكنك استخدامهما للحصول على مفاتيح التسجيل والمفاتيح الفرعية. يمكنك استعمال ال الحصول على ItemProperty أو ال Get-ChildItem يأمر.

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

لاستخدام ال الحصول على ItemProperty للحصول على مفتاح التسجيل والمفاتيح الفرعية ، أضف شرطة مائلة للخلف في نهاية مسار التسجيل. ثم أضف العلامة النجمية البدل خلف الشرطة المائلة للخلف.

على سبيل المثال إلى Get-ItemProperty لقراءة المفاتيح والمفاتيح الفرعية في HKEY_CURRENT_USER SOFTWARE Microsoft Windows CurrentVersion Explorer ، قم بتشغيل الأمر أدناه:

Get-ItemProperty 'Registry::HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsCurrentVersionExplorer*'

من ناحية أخرى ، لا يتطلب استخدام Get-ChildItem إضافة أي شرطة مائلة للخلف وحرف بدل. فيما يلي مثال على الأمر Get-ChildItem:

Get-ChildItem 'Registry::HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsCurrentVersionExplorer'

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

كيفية استخدام PowerShell للحصول على LastWriteTime لمفتاح التسجيل

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

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

لحسن الحظ ، وجدت وظيفة في superuser.com . لذلك ، لم أكن بحاجة إلى إنشاء خاص بي!

لتسهيل الأمر على قراء S Zone ، قمت بتنزيل ملف إضافة RegKeyLastWriteTime superuser.com وظيفة.

Add-RegKeyLastWriteTime هو مجاملة من Cpt.Whale - مساهم مجتمع superuser.com

لتنزيل الوظيفة من S Zone ، انقر فوق تنزيل Add-RegKeyLastWriteTime.zip. بعد ذلك ، قم بفك ضغط الملف المضغوط الذي تم تنزيله.

أخيرًا ، افتح PowerShell وقم بتشغيل الأوامر أدناه:

Unblock-File C:UsersVictorADownloadsAdd-RegKeyLastWriteTimeAdd-RegKeyLastWriteTimeAdd-RegKeyLastWriteTime.ps1 Import-Module C:UsersVictorADownloadsAdd-RegKeyLastWriteTimeAdd-RegKeyLastWriteTimeAdd-RegKeyLastWriteTime.ps1
استبدل C: Users VictorA Downloads Add-RegKeyLastWriteTime Add-RegKeyLastWriteTime بالمسار إلى الوظيفة على جهاز الكمبيوتر الخاص بك.

أخيرًا ، للحصول على آخر وقت كتابة لمفتاح التسجيل ، قم بتشغيل الأمر أدناه:

Get-ChildItem HKCU: | Add-RegKeyLastWriteTime | Select Name, LastWriteTime
HKCU هو التنسيق المختصر لـ HKEY_CURRENT_CONFIG. لقد ناقشت هذا باستفاضة في قسم كيفية تنسيق مسارات التسجيل لـ PowerShell من هذا الدليل.

يُرجع الأمر وقت الكتابة الأخير لجميع المفاتيح الفرعية في مفتاح التسجيل HKEY_CURRENT_USER الأساسي ...

هل kodi krypton أفضل من jarvis
كيفية استخدام بوويرشيل للحصول على مفتاح التسجيل

كيفية استخدام بوويرشيل للحصول على حجم التسجيل

إذا كنت تريد رؤية حجم السجل في نظام التشغيل Windows 10 ، فقم بتشغيل الأمر أدناه:

Get-WmiObject -Class Win32_Registry

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

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

الكود بواسطة Markus (أحد المساهمين في مجتمع superuser.com) يعرض معلومات إضافية. ها هو الكود.

$data=Get-WmiObject -Class Win32_Registry -ErrorAction Stop Format the results and write an object to the pipeline $data | Select-Object -Property @{Name='Computername';Expression={$_.  _SERVER}}, Status, @{Name='Current Size (Mb)';Expression={$  .CurrentSize}}, @{Name='Max Size (Mb)';Expression={$_.MaximumSize}}, @{Name='Free Size (Mb)';Expression={$_.MaximumSize - $_.CurrentSize}}, @{Name='Percent Free (%)';Expression={ (1 - ($_.CurrentSize/$_.MaximumSize))*100 }}, @{Name='Created';Expression={$_.ConvertToDateTime($_.InstallDate)}}, @{Name='Age';Expression={(Get-Date) - ( $_.ConvertToDateTime($_.InstallDate)) }}

والنتيجة في PowerShell ISE ...

إذا كنت آمل أن أكون قادرًا على تعليمك بنجاح كيفية استخدام PowerShell لقراءة قيمة التسجيل!

آمل أيضًا أن تكون قد وجدت S Zone مفيدة. إذا وجدت أنها مفيدة ، يرجى التصويت نعم إلى هل كان هذا المنشور سؤالًا مفيدًا أدناه.

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

أخيرًا ، لمزيد من مناطق PowerShell S ، تفضل بزيارة صفحة كيفية استخدام Windows PowerShell. قد تجد أيضًا صفحة 'العمل من الصفحة الرئيسية' مفيدة جدًا.

المراجع وقراءات إضافية

  1. العمل مع إدخالات التسجيل
  2. تنزيل Get-RegistryData.zip
  3. قم بتنزيل Add-RegKeyLastWriteTime.zip
  4. شرح Windows PowerShell ISE