كيفية استخدام بوويرشيل لقراءة قيمة التسجيل
في منطقة S هذه ، يعلمك Victor كيفية استخدام PowerShell لقراءة قيمة التسجيل.
يبدأ الدليل بتعليمك كيفية تنسيق مسار التسجيل لاستخدامه مع PowerShell. ستتعلم أيضًا أفضل طريقة لنسخ مفتاح التسجيل لاستخدامه في PowerShell.
أخيرًا ، يقدم الدليل 10 أمثلة بطرق متنوعة لاستخدام PowerShell لقراءة قيم التسجيل.
يحتوي الدليل على مجموعة متنوعة من الموضوعات والأمثلة. إذا كنت ترغب في قراءة موضوع أو مثال معين ، فقم بتوسيع استعراض مواضيع المنشور أدناه وانقر فوق الموضوع.
تصفح مواضيع المنشور
- كيفية تنسيق مسارات التسجيل بوويرشيل
- استخدم PowerShell لقراءة قيمة التسجيل: أمثلة
- كيفية إرجاع جميع القيم في مفتاح التسجيل
- كيفية إرجاع قيمة معينة في مفتاح التسجيل وحفظها في متغير
- كيفية إرجاع اسم المفتاح الفرعي للتسجيل
- كيفية استخدام PowerShell لقراءة قيمة التسجيل وإرجاع البيانات الثنائية
- كيفية استخدام PowerShell لقراءة قيمة التسجيل وإرجاع صفيف
- كيفية استخدام PowerShell للحصول على قيمة التسجيل إذا كانت موجودة
- كيفية استخدام PowerShell للحصول على قيم التسجيل ومقارنتها
- كيفية استخدام بوويرشيل للحصول على مفتاح التسجيل والمفاتيح الفرعية
- كيفية استخدام PowerShell للحصول على LastWriteTime لمفتاح التسجيل
- كيفية استخدام بوويرشيل للحصول على حجم التسجيل
- المراجع وقراءات إضافية
كيفية تنسيق مسارات التسجيل بوويرشيل
قبل أن أعلمك كيفية استخدام PowerShell لقراءة قيمة التسجيل ، أريد أن أعلمك كيفية تنسيق مسارات التسجيل للعمل مع PowerShell.
يحتوي سجل Windows على 5 مفاتيح من المستوى الأعلى (مفاتيح الجذر):
- HKEY_LOCAL_MACHINE
- HKEY_CURRENT_CONFIG
- HKEY_CLASSES_ROOT
- HKEY_USERS
- 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 ، يضم هذا القسم 10 أمثلة لاستخدام PowerShell لقراءة قيمة التسجيل:
كيفية إرجاع جميع القيم في مفتاح التسجيل
لإرجاع جميع قيم مفتاح التسجيل ، أدخل الأمر أدناه واضغط على Enter.
Get-ItemProperty -Path HKLM:SOFTWAREMicrosoftWindowsCurrentVersionقم بتغيير المسار إلى مسار مفتاح التسجيل الذي تريد قراءة قيمه. تذكر تنسيق التسجيل من القسم الأخير.
سيعيد الأمر جميع القيم الموجودة في المسار المحدد. لقطة الشاشة الثانية أدناه هي إدخال التسجيل الفعلي.
إذا قارنت نتيجة PowerShell وقيم التسجيل (الجزء الثاني) ، فهما متماثلان تمامًا.
كيفية إرجاع قيمة معينة في مفتاح التسجيل وحفظها في متغير
تبعًا للقسم الأخير ، أعاد الأمر في هذا القسم جميع القيم في مسار التسجيل المحدد. ومع ذلك ، يمكنك أيضًا استخدام PowerShell لقراءة قيمة التسجيل مع إرجاع قيمة معينة.
هناك طرق متعددة للقيام بذلك.
الأمر الأخير ( الحصول على ItemProperty command) القيم الموضحة في لقطة الشاشة أدناه.
لإرجاع القيمة 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.
تتمثل الخطوة الأولى في إرجاع خاصية التسمية التوضيحية الخط مفتاح. ومع ذلك ، قبل أن أفعل ذلك ، دعنا نعرض جميع الخصائص في HKEY_CURRENT_USER لوحة التحكم سطح المكتب WindowMetrics .
$key = Get-Item 'Registry::HKEY_CURRENT_USERControl PanelDesktopWindowMetrics'
يقوم الأمر بإرجاع مجموعة من الخصائص ، بما في ذلك التسمية التوضيحية الخط .
لإرجاع الخصائص فقط ، قم بتمرير الأمر أعلاه إلى تحديد كائن ...
Get-Item 'Registry::HKEY_CURRENT_USERControl PanelDesktopWindowMetrics' | Select-Object -ExpandProperty Property
يعرض هذا الأمر جميع الخصائص الموجودة في القائمة.
لعرض 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 تسمى 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 عبارة عن مصفوفة.
بالنسبة إلى 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 للحصول على قيم التسجيل ومقارنتها
كما قد تكون برزت ، فإن ملف تحصل على البند و الحصول على ItemProperty لا تعرض الأوامر أنواع مفتاح التسجيل والبيانات. لذلك إذا كنت ترغب في مقارنة البيانات في مفتاح ، عليك أن تجد طريقة أخرى للقيام بذلك.
في القسم الفرعي كيفية استخدام PowerShell لقراءة قيمة السجل وإرجاع البيانات الثنائية ، ذكرت أنني أنشأت وظيفة تسمى Get-RegistryData.
لتشغيل الأوامر في هذا القسم الفرعي ، يجب تنزيل وظيفة Get-RegistryData.zip. راجع القسم الفرعي كيفية استخدام PowerShell لقراءة قيمة التسجيل وإرجاع البيانات الثنائية.يمكنك استخدام هذه الوظيفة لإرجاع أسماء وأنواع وبيانات المفاتيح الفرعية في مسار التسجيل المحدد.
على سبيل المثال ، لإرجاع الأسماء والأنواع والبيانات لجميع الإدخالات في HKEY_CURRENT_USER SOFTWARE Microsoft Windows CurrentVersion Explorer ، قم بتشغيل الأمر أدناه ...
Get-RegistryData -RegistryPath 'HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsCurrentVersionExplorer'
إذا أخذنا الأمر إلى أبعد من ذلك ، فقل أنني أريد مقارنة قيمة أيقونة تسطير مفتاح بقيمة أخرى ، سأتابع على النحو المبين أدناه.
- الأنابيب الناتج من الحصول على بيانات التسجيل الأمر في أ أين الكائن الأمر والتصفية حسب الاسم يساوي أيقونة تسطير .
Get-RegistryData -RegistryPath 'HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsCurrentVersionExplorer' | Where-Object {$_.Name -eq 'IconUnderline'}يوضح الأمر الأخير أن القيمة الحالية في IconUnderline هي 3.
- إذا كنت أرغب في مقارنة هذه القيمة بقيمة أخرى ، لنقل 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, LastWriteTimeHKCU هو التنسيق المختصر لـ 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. قد تجد أيضًا صفحة 'العمل من الصفحة الرئيسية' مفيدة جدًا.
المراجع وقراءات إضافية
- العمل مع إدخالات التسجيل
- تنزيل Get-RegistryData.zip
- قم بتنزيل Add-RegKeyLastWriteTime.zip
- شرح Windows PowerShell ISE


