PowerShell هو أداة قوية للغاية لمسؤولي نظام Windows والمستخدمين على حد سواء. بشكل خاص، عندما يتعلق الأمر بتغيير إعدادات عرض النظام، يمكن أن توفر استخدام أوامر PowerShell بدلاً من واجهة المستخدم الرسومية الوقت وتمكين إنشاء سكريبتات التشغيل الآلي. سيتناول هذا المقال كيفية تغيير الإعدادات الأساسية مثل دقة العرض والتوجيه من خلال PowerShell، مما يسمح بتخصيص البيئة النظامية بشكل أكثر كفاءة وسرعة.
أساسيات إعدادات العرض
قبل تغيير إعدادات العرض باستخدام PowerShell، من المهم فهم الأوامر المتاحة واستخدامها الأساسي. في أنظمة Windows، تُستخدم cmdlets ‘Get-DisplayResolution’ و ‘Set-DisplayResolution’ بشكل أساسي لفحص وضبط دقة العرض.
فحص الدقة
لفحص دقة العرض الحالية، استخدم الأمر التالي.
Get-DisplayResolution
هذا الأمر يعرض دقة جميع الشاشات المتصلة بالنظام.
ضبط الدقة
للتغيير إلى دقة محددة، استخدم cmdlet ‘Set-DisplayResolution’ وحدد الدقة المرغوبة. على سبيل المثال، لضبط الدقة على 1920×1080، نفذ ما يلي.
Set-DisplayResolution -Width 1920 -Height 1080
هذا الأمر يغير دقة عرض النظام إلى القيم المحددة. ومع ذلك، استخدام هذا الأمر يتطلب صلاحيات المسؤول.
تغيير توجيه العرض
لتغيير توجيه العرض، قد تكون هناك حاجة إلى أدوات أو سكريبتات إضافية، ولكن بشكل عام، يتم ذلك باستخدام ‘DisplaySettings’ أو أدوات من طرف ثالث.
تبدأ تغيير إعدادات العرض باستخدام PowerShell بهذه الأوامر الأساسية. من خلال الاستفادة من هذه الأوامر، يمكنك التحكم بحرية في مختلف الإعدادات مثل الدقة وتوجيه العرض. ستشرح الأقسام التالية بالتفصيل كيفية تغيير هذه الإعدادات على وجه التحديد.
كيفية تغيير الدقة
تغيير دقة العرض باستخدام PowerShell مفيد للغاية لتخصيص النظام وإنشاء سكريبتات التشغيل الآلي. هنا، سنشرح بالتحديد خطوات تغيير الدقة باستخدام سكريبت.
ضبط الدقة بواسطة سكريبت
أولاً، قم بإنشاء سكريبت لتغيير الدقة. سيستخدم هذا السكريبت cmdlet Set-DisplayResolution
لضبط عرض النظام على الدقة المحددة. فيما يلي نموذج سكريبت لضبط الدقة على 1920×1080.
# سكريبت PowerShell لضبط الدقة على 1920x1080
try {
# التحقق من التشغيل بصلاحيات المسؤول
$currentUser = [Security.Principal.WindowsIdentity]::GetCurrent()
$windowsPrincipal = New-Object Security.Principal.WindowsPrincipal($currentUser)
$adminRole = [Security.Principal.WindowsBuiltInRole]::Administrator
if ($windowsPrincipal.IsInRole($adminRole)) {
# ضبط الدقة
Set-DisplayResolution -Width 1920 -Height 1080 -Force
Write-Host "تم ضبط الدقة على 1920x1080.";
} else {
Write-Host "مطلوب صلاحيات المسؤول لتشغيل هذا السكريبت.";
}
} catch {
Write-Error "حدث خطأ أثناء ضبط الدقة: $_";
}
يتحقق هذا السكريبت أولاً إذا كان المستخدم الحالي يمتلك صلاحيات المسؤول وإذا كان الأمر كذلك، يتم المتابعة لتغيير الدقة. يقوم المعامل -Force
بإجبار تغيير الدقة دون تأكيد المستخدم.
كيفية تشغيل السكريبت
بعد إنشاء السكريبت، افتح PowerShell بوضع المسؤول، انتقل إلى الدليل الذي تم حفظ السكريبت فيه، ثم قم بتنفيذ السكريبت. يمكنك تشغيل السكريبت باستخدام الأمر التالي.
.\ChangeResolution.ps1
إذا تم تشغيل السكريبت بنجاح، ستظهر رسالة تفيد بأن “تم ضبط الدقة على 1920×1080.” وسيتغير دقة عرض النظام إلى القيمة المحددة. إذا فشل تغيير الدقة لسبب ما، سيتم عرض رسالة خطأ.
هذه الطريقة تسمح بالتبديل السهل بين إعدادات الدقة المحددة، مما يمكن من أتمتة سير العمل وإجراء تغييرات سريعة على إعدادات النظام.
ضبط توجيه العرض
ضبط توجيه العرض باستخدام PowerShell مفيد بشكل خاص في البيئات التي تستخدم شاشات متعددة أو لمهام محددة. سيشرح هذا القسم كيفية تغيير توجيه العرض من أفقي إلى رأسي أو العكس باستخدام PowerShell.
للأسف، لا تقدم cmdlets القياسية في PowerShell وظيفة مباشرة لتغيير توجيه العرض. ومع ذلك، من خلال إنشاء سكريبتات تستدعي أدوات من طرف ثالث أو واجهة برمجة تطبيقات Windows، يمكن إنجاز هذه العملية.
استخدام DisplaySettings
إحدى الطرق تتضمن استخدام أداة سطر الأوامر من طرف ثالث تُسمى DisplaySettings. تسمح هذه الأداة بالتحكم المباشر في توجيه العرض من سطر الأوامر أو السكريبتات.
الاستخدام الأساسي لـ DisplaySettings
أولاً، قم بتنزيل وتثبيت DisplaySettings على نظامك. بعد ذلك، يمكنك تغيير توجيه العرض من خلال تنفيذ الأمر التالي.
DisplaySettings /setorientation:portrait
هذا الأمر يضبط توجيه العرض على الوضع الرأسي. بالمثل، يمكنك استخدام خيار /setorientation:landscape
لتغييره إلى الوضع الأفقي.
سكريبت باستخدام واجهة برمجة تطبيقات Windows
طريقة أخرى هي إنشاء سكريبت يستدعي مباشرةً واجهة برمجة تطبيقات Windows لتغيير توجيه العرض. هذا النهج يتطلب معرفة متقدمة ولكن يسمح بالتحكم بشكل أكثر مرونة.
# مثال: سكريبت تصوري لتغيير توجيه العرض باستخدام واجهة برمجة تطبيقات Windows
# ملاحظة: هذا الكود تصوري ولن يعمل كما هو.
Add-Type -TypeDefinition @"
using System;
using System.Runtime.InteropServices;
public class Display {
[DllImport("user32.dll")]
public static extern bool SetDisplayConfig(...);
}
"@
# استدعاء واجهة برمجة التطبيقات محددة لضبط توجيه العرض
# Display.SetDisplayConfig(...);
وهكذا، هناك طرق متعددة لضبط توجيه العرض باستخدام PowerShell. اختر الطريقة الأفضل وفقًا لبيئة عملك وأهدافك.
إدارة إعدادات العرض المتعددة
استخدام شاشات متعددة شائع في أماكن العمل الحديثة، ومن الضروري ضبط إعدادات كل عرض بكفاءة لبيئة عمل فعالة. يقدم هذا القسم طرقًا لإدارة إعدادات العرض المتعددة باستخدام PowerShell.
تحديد الشاشات المتعددة
الخطوة الأولى هي تحديد الشاشات المتعددة بدقة. باستخدام PowerShell، يمكنك استخدام cmdlet Get-WmiObject
لاسترجاع معلومات حول الشاشات المتصلة بالنظام.
Get-WmiObject -Namespace root\wmi -Class WmiMonitorID | ForEach-Object {
$monitor = $_
$name = ($monitor.InstanceName -split "\#")[2]
$serial = [System.Text.Encoding]::ASCII.GetString($monitor.SerialNumberID)
Write-Host "اسم العرض: $name، رقم السيريال: $serial";
}
هذا الأمر يعرض اسم ورقم السيريال لكل شاشة متصلة بالنظام، مما يساعد في تحديد كل واحدة منها.
ضبط ترتيب العرض
بمجرد تحديد الشاشات المتعددة، الخطوة التالية هي ضبط ترتيبها. على الرغم من أنه لا يمكن ضبط ترتيب العرض مباشرةً باستخدام PowerShell، يمكنك استخدام DisplaySwitch.exe
لتغيير ترتيب العرض من سكريبت.
# ضبط الشاشات على وضع موسع
Start-Process DisplaySwitch.exe -ArgumentList "/extend"
هذا الأمر يوجه النظام لاستخدام الشاشات المتصلة في وضع موسع. بالمثل، يمكنك استخدام الخيارات /clone
، /internal
، /external
لتغيير وضع العرض.
الإعدادات الفردية للدقة والتوجيه
في إعداد العرض المتعدد، قد ترغب في ضبط الدقة والتوجيه بشكل فردي لكل شاشة. استخدم cmdlet Set-DisplayResolution
المعرفة سابقًا وأدوات الطرف الثالث لتغيير التوجيه لتخصيص الإعدادات لكل شاشة.
تتضمن إدارة إعدادات العرض المتعددة تحديد الشاشات بدقة، ضبط الترتيب المناسب، وضبط الدقة والتوجيه لكل شاشة حسب الحاجة. من خلال استخدام PowerShell، يمكن أتمتة هذه العمليات، بناء بيئة عمل أكثر كفاءة.
مثال على التطبيق: تغيير إعدادات العرض تلقائيًا عند تشغيل تطبيقات معينة
قد يكون تعديل دقة العرض والتوجيه يدويًا في كل مرة تعمل مع تطبيق معين مملاً. يقدم هذا المثال على التطبيق طريقة لتغيير إعدادات العرض تلقائيًا عند تشغيل تطبيق، باستخدام سكريبتات PowerShell. في هذا المثال، سيقوم السكريبت بتغيير الدقة عند تشغيل التطبيق والعودة إلى الدقة الأصلية عند إغلاق التطبيق.
نظرة عامة على السكريبت
يعمل هذا السكريبت على النحو التالي:
- تشغيل تطبيق معين.
- تغيير دقة العرض إلى قيمة محددة عند تشغيل التطبيق.
- العودة إلى الدقة الأصلية بمجرد إغلاق التطبيق.
إنشاء السكريبت
فيما يلي نموذج سكريبت PowerShell يكتشف تشغيل تطبيق محدد (على سبيل المثال، Photoshop)، يغير الدقة، ويعيد الدقة إلى ما كانت عليه بعد إغلاق التطبيق.
# مسار التطبيق
$appPath = "C:\Program Files\Adobe\Adobe Photoshop\Photoshop.exe"
# الدقة الجديدة
$newWidth = 1920
$newHeight = 1080
# حفظ الدقة الأصلية
$originalResolution = Get-DisplayResolution
# تشغيل التطبيق
Start-Process $appPath
# تغيير الدقة
Set-DisplayResolution -Width $newWidth -Height $newHeight -Force
# انتظار إغلاق التطبيق
$process = Get-Process | Where-Object { $_.Path -eq $appPath }
while ($process -ne $null) {
Start-Sleep -Seconds 5
$process = Get-Process | Where-Object { $_.Path -eq $appPath }
}
# العودة إلى الدقة الأصلية
Set-DisplayResolution -Width $originalResolution.Width -Height $originalResolution.Height -Force
هذا السكريبت مصمم لتغيير الدقة تلقائيًا إلى الدقة الأمثل للعمل مع تطبيق محدد (في هذا المثال، Photoshop) والعودة إلى إعدادات المستخدم الأصلية بعد الانتهاء من العمل. يمكن أن يحسن هذا الأسلوب كفاءة العمل بشكل كبير.
استكشاف الأخطاء وإصلاحها: المشكلات الشائعة وحلولها
عند تغيير إعدادات العرض باستخدام PowerShell، قد تظهر عدة مشكلات شائعة. يقدم هذا القسم هذه المشكلات وحلولها.
عدم القدرة على تغيير الدقة
- السبب: قد لا تدعم الشاشة المستهدفة الدقة المحددة، أو أن السكريبت PowerShell لا يتم تشغيله بصلاحيات المسؤول.
- الحل: تحقق من مواصفات العرض وحدد الدقات المدعومة فقط. أيضًا، انقر بزر الماوس الأيمن على السكريبت واختر “تشغيل كمسؤول” لتنفيذه.
عدم القدرة على تغيير توجيه العرض
- السبب: قد يتطلب تغيير توجيه العرض أدوات محددة أو استدعاءات لواجهة برمجة تطبيقات Windows.
- الحل: تأكد من استخدام الأداة الصحيحة وفكر في استخدام برامج أو سكريبتات من طرف ثالث تتلاعب مباشرةً بواجهة برمجة تطبيقات Windows إذا لزم الأمر.
عدم تطابق إعدادات الشاشات المتعددة
- السبب: قد لا تكون الشاشات محددة بشكل صحيح، أو قد تكون هناك أخطاء في استخدام
DisplaySwitch.exe
. - الحل: أعد التحقق من معلومات التعريف للشاشات المتصلة وتأكد من استهداف العرض الصحيح لتطبيق الإعدادات. كذلك، راجع خيارات سطر الأوامر لـ
DisplaySwitch.exe
للتأكد من استخدام الخيارات الصحيحة.
خاتمة
تغيير إعدادات عرض النظام باستخدام PowerShell مفيد للغاية لتحسين كفاءة العمل والتشغيل الآلي. قدم هذا المقال مجموعة واسعة من التقنيات من تغييرات إعدادات العرض الأساسية إلى إدارة الشاشات المتعددة وتغيير الإعدادات تلقائيًا عند تشغيل تطبيقات معينة. كما تمت مناقشة طرق استكشاف الأخطاء وإصلاحها للمشكلات الشائعة. من خلال استخدام هذه المعرفة، يمكنك بناء بيئة عمل رقمية أكثر راحة وكفاءة. استفد من الميزات القوية لـ PowerShell لتبسيط مهامك اليومية.