5 برامج نصية مفيدة VB Windows لأتمتة استخدام الكمبيوتر الخاص بك

5 برامج نصية مفيدة VB Windows لأتمتة استخدام الكمبيوتر الخاص بك

سواء كنت محلل تكنولوجيا معلومات أو مستخدم كمبيوتر عادي ، هناك الكثير من المهام التي قد تحتاج إلى القيام بها بشكل متكرر على جهاز الكمبيوتر الخاص بك. يتم تصغير البرامج النصية لـ VB برامج Visual Basic التي تعمل بمثابة برامج نصية لـ Windows يمكنها فعل أي شيء بدءًا من سحب المعلومات المهمة حول أجهزة الكمبيوتر لديك ، إلى إيقاف الخدمات وبدء تشغيلها أو إعادة تعيين بطاقة الشبكة الخاصة بك.





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





ألقِ نظرة على البرامج النصية التالية VB Windows وإذا رأيت أيًا تريد استخدامه ، فما عليك سوى نسخ البرنامج النصي ولصقه فيه المفكرة أو أداة ملاحظات الترميز الأخرى وحفظه كملف WSF.





قم بإعداد برامج Windows النصية الخاصة بك

سيتم تشغيل كل من البرامج النصية المفصلة أدناه بنقرة مزدوجة فقط طالما أنك قمت بتسمية الملف بامتداد .WSF ، وقمت أيضًا بإرفاق الكود في البداية بـ:


وأغلق الكود بـ:



WScript.Quit

يضمن ذلك أن يتعرف Windows على اللغة المكتوبة بها البرنامج النصي الخاص بك ، ويعالجها بشكل صحيح.

1. استخدم Windows Scripts لمعلومات الكمبيوتر

يقدم Windows شيئًا يسمى WMI ، أو Windows Management Instrumentation ، والذي يوفر البرنامج النصي الخاص بك بواجهة للوصول إلى مكونات نظام التشغيل. يمكنك بالفعل تشغيل استعلامات مقابل WMI للحصول على معلومات حية حالية حول نظامك. تقدم Microsoft قائمة كاملة بجميع ملفات فئات الاستعلامات يمكنك القيام به ضد النظام.





لقد قمنا بتغطية كيفية استخدام VBA لسحب معلومات الكمبيوتر إلى Excel ، ولكن يمكنك القيام بنفس الشيء باستخدام برنامج نصي بسيط VB خارج Excel.

في هذا المثال ، سنقوم بالاستعلام عن النظام للحصول على معلومات المعالج (العائلة والشركة المصنعة وعدد النوى) ، ومعلومات البطارية (الوصف والحالة) ، ومعلومات القرص المنطقي (الاسم والمساحة الخالية المتبقية والحجم الكلي). ثم سنخرج كل هذه المعلومات إلى ملف CSV لعرضها بسهولة.





الخطوة الأولى هي إعداد FileSystemObject الذي ستستخدمه للإخراج إلى ملف CSV ، وإنشاء الملف:

Set oFSO = CreateObject('Scripting.FileSystemObject')
sFile1 = 'MyComputerInfo.csv'
Set oFile1 = oFSO.CreateTextFile(sFile1, 1)

الخطوة التالية هي إعداد استعلام WMI وتنفيذه:

هل من السيء شحن هاتفك بين عشية وضحاها
strQuery = 'SELECT Family,Manufacturer,NumberOfCores FROM Win32_Processor'
Set colResults = GetObject('winmgmts://./root/cimv2').ExecQuery( strQuery )

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

oFile1.WriteLine 'Processor Information'
oFile1.WriteLine '------'
For Each objResult In colResults
strResults = 'Family:,'+CStr(objResult.Family)
oFile1.WriteLine strResults
strResults = 'Manufacturer:,'+CStr(objResult.Manufacturer)
oFile1.WriteLine strResults
strResults = 'Number of Cores:,'+CStr(objResult.NumberOfCores)
oFile1.WriteLine strResults
Next

إذا قمت بتشغيل الكود الخاص بك الآن ، فهذا هو الشكل الذي ستبدو عليه مخرجاتك:

بالنسبة إلى القسمين التاليين من التعليمات البرمجية ، ستقوم فقط بتكرار وتغيير الاستعلام للبحث عن المعلومات الإضافية. إليك استعلام معلومات البطارية:

oFile1.WriteLine ''
strQuery = 'SELECT Description,Status FROM Win32_Battery'
Set colResults = GetObject('winmgmts://./root/cimv2').ExecQuery( strQuery )
oFile1.WriteLine 'Battery Information'
oFile1.WriteLine '------'
For Each objResult In colResults
strResults = 'Status:,'+CStr(objResult.Description)
oFile1.WriteLine strResults
strResults = 'Description:,'+CStr(objResult.Status)
oFile1.WriteLine strResults
Next

وإليك القسم التالي لاستعلام القرص المنطقي:

oFile1.WriteLine ''
strQuery = 'Select Name, FreeSpace, Size from Win32_LogicalDisk'
Set colResults = GetObject('winmgmts://./root/cimv2').ExecQuery( strQuery )
oFile1.WriteLine 'Disk Information'
oFile1.WriteLine '------'
'Identify the Logical Disk Space
For Each objResult In colResults
strResults = 'Name:,'+CStr(objResult.Name)
oFile1.WriteLine strResults
strResults = 'Free Space:,'+CStr(objResult.FreeSpace)
oFile1.WriteLine strResults
strResults = 'Disk Size:,'+CStr(objResult.Size)
oFile1.WriteLine strResults
Next

أخيرًا ، تذكر إغلاق الكود عن طريق إغلاق الملف وتعيين الكائنات على 'لا شيء':

oFile1.Close
Set oFile1 = Nothing
set colResults = Nothing
strResults = ''

ضع كل هذا الرمز في ملف WSF الجديد الخاص بك ، وقم بتشغيله ، وإليك الشكل الذي ستبدو عليه مخرجاتك:

ما عليك سوى تبديل الاستعلامات أعلاه بأي أجهزة أو برامج كمبيوتر أخرى تريد الحصول على معلومات عنها ، ويمكنك الحصول على تقرير نظام كامل في أي وقت تريد بنقرة واحدة على الماوس.

2. إيقاف وبدء الخدمات

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

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

نظرًا لأن إيقاف الخدمات وبدء تشغيلها يتطلبان امتيازات إدارية ، فأنت بحاجة إلى وضع الكود التالي في بداية البرنامج النصي الخاص بك لمنح البرنامج النصي الخاص بك امتيازات مرتفعة :

If Not WScript.Arguments.Named.Exists('elevate') Then
CreateObject('Shell.Application').ShellExecute WScript.FullName _
, '''' & WScript.ScriptFullName & ''' /elevate', '', 'runas', 1
WScript.Quit
End If

بمجرد الانتهاء من ذلك ، أضف باقي الكود لتشغيل مربع الإدخال لإدخال المستخدم ، وقم بتشغيل نافذة الأوامر ، وأرسل إليه 'net stop' و 'أوامر net start':

Set cmdShell = CreateObject('WScript.Shell')
strServiceName=Inputbox('Inter Service to Stop','Input Required')
cmdShell.Run 'cmd.exe'
WScript.Sleep 1000
cmdShell.SendKeys 'net stop '+strServiceName
cmdShell.SendKeys '{Enter}'
WScript.Sleep 1000
cmdShell.SendKeys 'net start '+strServiceName
cmdShell.SendKeys '{Enter}'
WScript.Sleep 1000
cmdShell.SendKeys 'Exit'
cmdShell.SendKeys '{Enter}'

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

3. تغيير إعدادات التسجيل ، كلمة مرور المسؤول الافتراضية

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

وإليك كيف يعمل. أولاً ، نظرًا لأن تحرير السجل يتطلب حقوق المسؤول ، فستحتاج إلى إعداد امتيازات مرتفعة للبرنامج النصي الخاص بك:

If Not WScript.Arguments.Named.Exists('elevate') Then
CreateObject('Shell.Application').ShellExecute WScript.FullName _
, '''' & WScript.ScriptFullName & ''' /elevate', '', 'runas', 1
WScript.Quit
End If

قم أولاً بتشغيل مربعي إدخال لسؤال المستخدم عن اسم المستخدم وكلمة المرور المراد استخدامه:

strUserName=Inputbox('Enter the default User Name','Input Required')
strPassword=Inputbox('Enter the default Password','Input Required')

بعد ذلك ، قم بإعداد كائن shell ، واكتب هذه القيم إلى مفاتيح التسجيل المناسبة:

Set wshShell = CreateObject( 'WScript.Shell' )
wshShell.RegWrite 'HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogonDefaultUserName', strUserName, 'REG_SZ'
wshShell.RegWrite 'HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogonDefaultPassword', strPassword, 'REG_SZ'
Set wshShell = Nothing

وهذا كل ما في الأمر. تتيح لك طريقة 'RegWrite' كتابة أي قيمة إلى أي مفتاح تسجيل باستخدام برنامج نصي VB Windows. كل ما عليك معرفته هو المسار المناسب.

قم بتشغيل البرنامج النصي وأجب على المطالبات.

سيتم إدراج القيم التي تدخلها مباشرة في إعدادات التسجيل التي قمت بإعدادها في البرنامج النصي.

العب مع البرنامج النصي وقم بتعديله حسب رغبتك. يمكنك تحرير أي مفاتيح تسجيل تريدها ، لذا كن مبدعًا!

4. إعادة تعيين اتصال الشبكة الخاص بك

إعادة تعيين اتصال الشبكة باستخدام البرمجة النصية VB هو شيء قمنا بتغطيته من قبل هنا في MakeUseOf. الإصدار التالي من هذا هو في الواقع تصغير الحجم وأبسط بكثير في التنفيذ. بدلاً من المطالبة ببطاقات الشبكة الفردية ، فإنه يعيد تعيين جميع اتصالاتك النشطة والتي نأمل أن تحل أي مشكلات في الشبكة قد تواجهها.

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

بعد ذلك ، قم بإنشاء كائن WMI واستعلام عن قائمة محولات الشبكة الممكّنة على نظامك:

strComputer = '.'
Set objWMIService = GetObject('winmgmts:\' & strComputer & 'ootCIMV2')
Set colItems = objWMIService.ExecQuery( _
'SELECT * FROM Win32_NetworkAdapter Where NetEnabled = 'True'')

أخيرًا ، قم بإجراء تكرار عبر جميع المحولات الممكنة وأعد ضبطها:

For Each objItem in colItems
objItem.Disable
WScript.Sleep 1000
objItem.Enable
Next

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

5. أجهزة Ping أو مواقع الويب

لقد قمت بحفظ برنامج VB windows المفضل لدي أخيرًا. هذه مهمة قمت بإعدادها بالفعل كمهمة مجدولة على جهاز الكمبيوتر المنزلي الخاص بي وتشغيلها عدة مرات في اليوم فقط للتحقق مما إذا كان موقع الويب الخاص بي نشطًا. لدي البرنامج النصي عبر البريد الإلكتروني إذا كان الموقع معطلاً. يمكنك استخدام نفس البرنامج النصي لمراقبة الخوادم أو أجهزة الكمبيوتر المهمة على شبكتك وإرسال بريد إلكتروني لنفسك في أي وقت يتعذر على البرنامج النصي الخاص بك تنفيذ الأمر ping على الجهاز.

أولاً ، قم بإعداد البرنامج النصي للهدف الذي تريد اختبار اتصاله ، وأنشئ كائن shell ، ثم قم بتشغيل الأمر ping.

strTarget = 'topsecretwriters.com'
Set WshShell = WScript.CreateObject('WScript.Shell')
Ping = WshShell.Run('ping -n 1 ' & strTarget, 0, True)

استخدم عبارة Select Case لتشغيل نتائج Ping والاستجابة وفقًا لذلك. إذا كانت النتائج عائدة إلى الصفر ، فأنت تعلم أن الموقع (أو الخادم) متصل بالإنترنت ولا يتعين عليك فعل أي شيء. إذا أعاد الرقم '1' ، فهذا يعني أن اختبار الاتصال فشل وتحتاج إلى القيام بشيء ما. في حالتي ، أرسل بريدًا إلكترونيًا باستخدام كائن Windows CDO:

Select Case Ping
Case 0
Case 1
Set objMessage = CreateObject('CDO.Message')
Set objConfig = CreateObject('CDO.Configuration')
objConfig.Load -1
Set Flds = objConfig.Fields
With Flds
.Item ('http://schemas.microsoft.com/cdo/configuration/smtpusessl') = True
.Item ('http://schemas.microsoft.com/cdo/configuration/smtpauthenticate')=1
.Item ('http://schemas.microsoft.com/cdo/configuration/sendusername')='xxxxxx@gmail.com'
.Item ('http://schemas.microsoft.com/cdo/configuration/sendpassword')='xxxxxxxxxxxxxxxxx'
.Item ('http://schemas.microsoft.com/cdo/configuration/smtpserver')='smtp.gmail.com'
.Item ('http://schemas.microsoft.com/cdo/configuration/sendusing')=2
.Item ('http://schemas.microsoft.com/cdo/configuration/smtpserverport')=465
.Update
End With
With objMessage
Set .Configuration = objConfig
.Subject = 'Your site is offline'
.From = 'me@mycomputer.com'
.To = 'xxxxxx@gmail.com'
.TextBody = 'Hey, your website is offline.'
.Send
End With
End Select

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

إنه سريع وسهل وفعال!

استخدام البرامج النصية VB Windows للتحكم في جهاز الكمبيوتر الخاص بك

هذه مجرد أمثلة قليلة لبعض الأشياء الرائعة التي يمكنك القيام بها باستخدام البرمجة النصية VB لتبسيط استخدام الكمبيوتر. هناك الكثير من الأشياء الأخرى التي يمكنك القيام بها مثل النسخ الاحتياطي الآلي باستخدام VB و Synctoy ، أو أتمتة أوامر telnet ، أو حتى فتح نوافذ التطبيقات والتحكم فيها.

ما هي بعض الأشياء التي أتممت تشغيلها تلقائيًا على جهاز الكمبيوتر الخاص بك باستخدام برنامج نصي يعمل بنظام التشغيل Windows؟ هل تكتب لك باستخدام VB ، أو تستخدم بعض الأدوات الأخرى مثل PowerShell ؟

يشارك يشارك سقسقة بريد الالكتروني إليك سبب إصدار مكتب التحقيقات الفيدرالي تحذيرًا بشأن Hive Ransomware

أصدر مكتب التحقيقات الفدرالي (FBI) تحذيرًا بشأن سلالة سيئة للغاية من برامج الفدية الضارة. إليك سبب حاجتك إلى توخي الحذر بشكل خاص من Hive ransomware.

اقرأ التالي
مواضيع ذات صلة
  • برمجة
  • أتمتة الكمبيوتر
  • البرمجة النصية
نبذة عن الكاتب ريان دوبي(تم نشر 942 مقالة)

رايان حاصل على درجة البكالوريوس في الهندسة الكهربائية. لقد عمل 13 عامًا في هندسة الأتمتة ، وخمس سنوات في تكنولوجيا المعلومات ، وهو الآن مهندس تطبيقات. مدير تحرير سابق لـ MakeUseOf ، تحدث في المؤتمرات الوطنية حول تصور البيانات وتم عرضه على التلفزيون والإذاعة الوطنية.

المزيد من Ryan Dube

اشترك في نشرتنا الإخبارية

انضم إلى النشرة الإخبارية لدينا للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية!

انقر هنا للاشتراك