5 Kapaki-pakinabang na VB Windows Script upang I-automate ang Iyong Paggamit ng Computer

5 Kapaki-pakinabang na VB Windows Script upang I-automate ang Iyong Paggamit ng Computer

Kung ikaw man ay isang IT analista o isang regular na gumagamit ng computer, maraming mga gawain na maaaring kailangan mong gawin nang madalas sa iyong PC. Ang mga VB Script ay na-scale down na Visual Basic na mga programa na nagsisilbing mga script ng Windows na maaaring gumawa ng anupaman mula sa pagkuha ng mahahalagang impormasyon tungkol sa iyong computer hardware, sa pagtigil at pagsisimula ng mga serbisyo o pag-reset ng iyong network card.





Posibleng malaman kung paano gawin ang lahat ng mga indibidwal na bagay sa normal na paraan, o gawin ang mga ito gamit ang mga file ng batch. Pero Ang mga VB script ay mas mahusay kaysa sa mga script ng pangkat dahil mas may kakayahang umangkop ang mga ito. Kung naiimbak mo ang mga sumusunod na script sa isang pangkaraniwang lugar na mabilis na makarating kapag kailangan mo ito, maaari mong magawa ang mga gawaing ito sa isang maliit na bahagi ng oras. I-double click mo lang ang script, sagutin ang isang prompt, at tapos na ang gawain.





Tingnan ang sumusunod na mga script ng VB Windows at kung makakita ka ng anumang nais mong gamitin, kopyahin lamang at i-paste ang script sa Notepad o iba pang tool sa mga tala ng coding at i-save ito bilang isang WSF file.





Ihanda ang Iyong Mga Windows Script

Ang bawat isa sa mga script na detalyado sa ibaba ay tatakbo sa isang pag-click lamang hangga't pinangalanan mo ang file na may extension na .WSF, at isinama mo rin ang code sa simula sa:


At isara ang code sa:



WScript.Quit

Tinitiyak nito na makikilala ng Windows ang wikang nakasulat sa iyong script, at iproseso ito nang maayos.

1. Gumamit ng Windows Scripts para sa Impormasyon sa Computer

Nag-aalok ang Windows ng isang bagay na tinatawag na WMI, o Windows Management Instrumentation, na nagbibigay ng iyong script ng isang interface upang ma-access ang mga bahagi ng operating system. Maaari mo talagang patakbuhin ang mga query laban sa WMI upang makakuha ng kasalukuyang live na impormasyon tungkol sa iyong system. Nag-aalok ang Microsoft ng isang buong listahan ng lahat ng kategorya ng mga query maaari mong gawin laban sa system.





Sinakop namin kung paano gamitin ang VBA upang hilahin ang impormasyon ng computer sa Excel, ngunit magagawa mo ang parehong bagay na ito gamit ang isang simpleng script ng VB sa labas ng Excel.

Sa halimbawang ito ay tatanungin namin ang system para sa impormasyon ng processor (pamilya, tagagawa, at bilang ng mga core), impormasyon ng baterya (paglalarawan at katayuan), at impormasyong lohikal na disk (pangalan, natitirang libreng puwang, at pangkalahatang laki). Pagkatapos ay ilalabas namin ang lahat ng impormasyong ito sa isang CSV file para sa madaling pagtingin.





Ang unang hakbang ay upang i-set up ang FileSystemObject na gagamitin mo upang mag-output sa CSV file, at likhain ang file:

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

Ang susunod na hakbang ay upang i-set up ang query ng WMI at ipatupad ito:

gaano kainit ang makukuha ng isang CPU
strQuery = 'SELECT Family,Manufacturer,NumberOfCores FROM Win32_Processor'
Set colResults = GetObject('winmgmts://./root/cimv2').ExecQuery( strQuery )

Panghuli, pag-uri-uriin ang mga resulta at output ang impormasyon sa CSV file. Kung nais mong maging magarbong, paunang salita ito sa isang ilang mga linya upang makatulong na gawing mas mahusay ang iyong output file:

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

Kung patakbuhin mo ang iyong code ngayon, ito ang magiging hitsura ng iyong output:

Para sa susunod na dalawang seksyon ng iyong code, uulitin mo lamang at babaguhin ang query upang maghanap para sa karagdagang impormasyon. Narito ang query sa impormasyon ng baterya:

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

At narito ang susunod na seksyon para sa lohikal na query sa disk:

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

Panghuli, tandaan na isara ang code sa pamamagitan ng pagsara ng file at itakda ang mga bagay sa 'Wala':

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

Ilagay ang lahat ng code na iyon sa iyong bagong file na .WSF, patakbuhin ito, at narito kung ano ang magiging hitsura ng iyong output:

Ipagpalit lamang ang mga query sa itaas para sa anumang iba pang mga computer device o software na nais mong makakuha ng impormasyon, at maaari kang makakuha ng isang buong ulat ng system anumang oras na gusto mo sa isang pag-click lamang ng mouse.

2. Huminto at Magsimula ng Mga Serbisyo

Mayroong mga oras kung kailan may mga isyu ang ilang mga serbisyo, at nangangailangan ng isang mabilis na pag-restart lamang upang muling tumakbo nang maayos. Ito ay lalo na totoo sa IT kapag napilitan kang magpatakbo ng server software na minsan ay isang maliit na buggy.

Kung nais mong mag-ahit ng isang minuto o higit pa sa proseso ng pag-restart ng serbisyo, iimbak lamang ang sumusunod na script ng ilang lugar na maginhawa. Hihikayat ka nito na mag-type sa pangalan ng serbisyo na nais mong i-restart, at pagkatapos ay eksaktong gagawin nito.

Dahil ang paghinto at pagsisimula ng mga serbisyo ay nangangailangan ng mga pribilehiyong pang-administratibo, kailangan mong ilagay ang sumusunod na code sa simula ng iyong script upang maibigay ang iyong script nakataas na mga pribilehiyo :

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

Kapag tapos na ito, idagdag ang natitirang code upang patakbuhin ang input box para sa input ng gumagamit, ilunsad ang window ng utos, at ipadala ito sa 'net stop' at 'net start Command':

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}'

Iyon lang ang mayroon dito. Hindi kailangang manghuli para sa tool ng serbisyo. Patakbuhin lamang ang script na ito at huminto at simulan ang anumang serbisyo sa ilang segundo.

3. Baguhin ang Mga Setting ng Registry, Default na Password ng Admin

Sa sumusunod na script, papatayin namin ang dalawang ibon na may isang bato. Ipapakita sa iyo ng script na ito kung paano i-edit ang pagpapatala na may isang script na VB. Bibigyan ka din nito ng isang script na hahayaan kang itakda ang default na Windows username at password sa pamamagitan ng pag-edit ng mga setting ng registry.

Narito kung paano ito gumagana. Una, dahil ang pag-edit sa rehistro ay nangangailangan ng mga karapatan sa admin, kakailanganin mong i-set up ang matataas na mga pribilehiyo para sa iyong script:

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

Patakbuhin muna ang dalawang mga kahon ng pag-input upang tanungin ang gumagamit kung anong gagamitin ang pangalan ng gumagamit at password:

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

Susunod, i-set up ang shell na bagay, at isulat ang mga halagang iyon sa naaangkop na mga key ng pagpapatala:

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

At iyon lang ang mayroon dito. Hinahayaan ka ng pamamaraang 'RegWrite' na sumulat ng anumang halaga sa anumang key ng rehistro gamit ang isang VB Windows script. Ang kailangan mo lang malaman ay ang naaangkop na landas.

Patakbuhin ang script at sagutin ang mga senyas.

Ang mga halagang ipinasok mo ay maipapasok mismo sa mga setting ng pagpapatala na na-set up mo sa script.

Maglaro sa paligid ng script at i-tweak ito ayon sa gusto mo. Maaari mong i-edit ang anumang mga key ng rehistro na gusto mo, kaya't maging malikhain!

4. I-reset ang iyong Koneksyon sa Network

Ang pag-reset sa iyong koneksyon sa network gamit ang VB scripting ay isang bagay na sakop namin dati dito sa MakeUseOf. Ang sumusunod na bersyon ng ito ay talagang na-scale down at mas simple na ipatupad. Sa halip na mag-prompt para sa mga indibidwal na network card, i-reset nito ang lahat ng iyong mga aktibong koneksyon na sana ay lutasin ang anumang mga isyu sa network na maaaring mayroon ka.

Tulad ng ibang mga script na nangangailangan ng mga karapatan sa admin, kakailanganin mong idagdag ang seksyon sa simula para sa mataas na mga pribilehiyo. Kopyahin ang code na iyon mula sa script sa itaas.

Susunod, likhain ang WMI object at i-query ito para sa isang listahan ng mga pinapagana na mga adaptor ng network sa iyong system:

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

Panghuli, i-loop ang lahat ng pinagana na mga adaptor at i-reset ang mga ito:

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

Ire-reset nito ang lahat ng iyong mga aktibong adaptor ng network , na kung saan ay madalas na pinakamabilis na paraan upang malutas ang nakakainis na mga isyu sa network. Panatilihing madaling gamitin ang script na ito at subukan muna ito anumang oras na mayroon kang isang mabagal na network o iba pang mga kakatwang problema sa network.

5. Mga Device ng Ping o Website

Nai-save ko ang aking paboritong script ng VB windows para sa huli. Ito ang isa na talagang na-set up ko bilang isang naka-iskedyul na gawain sa aking computer sa bahay at patakbuhin ito nang maraming beses sa isang araw upang suriin lamang kung ang aking website ay aktibo. Mayroon akong script sa email sa akin kung ang site ay mababa. Maaari mong gamitin ang parehong script na ito upang subaybayan ang mahahalagang mga server o computer sa iyong network at i-email ang iyong sarili sa anumang oras na hindi ma-ping ng iyong script ang aparato.

Una, i-set up ang script para sa target na nais mong i-ping, likhain ang shell object, at pagkatapos ay patakbuhin ang ping command.

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

Gumamit ng isang Pahayag na pahayag ng Kaso upang patakbuhin ang mga resulta ng Ping at tumugon nang naaayon. Kung ang mga resulta ay babalik bilang zero, alam mo na ang site (o server) ay online at wala kang dapat gawin. Kung nagbabalik ito ng isang '1' pagkatapos ay nabigo ang ping at kailangan mong gumawa ng isang bagay. Sa aking kaso, nagpapadala ako ng isang email gamit ang object ng 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

Sa sandaling tumakbo ang script at hindi ma-ping ang aparato o website, nakakuha ka ng instant na mensahe.

Mabilis at madali, at bawat mahusay!

Paggamit ng VB Windows Scripts upang Makontrol ang Iyong Computer

Ito ay ilan lamang sa mga halimbawa ng ilang mga cool na bagay na maaari mong gawin sa VB scripting upang streamline ang paggamit ng iyong computer. Maraming iba pang mga bagay na maaari mong gawin tulad ng mga awtomatikong pag-backup sa VB at Synctoy, pag-automate ng mga utos ng telnet, o kahit na buksan at kontrolin ang mga window ng application.

Ano ang ilan sa mga bagay na na-automate mo sa iyong computer gamit ang isang Windows script? Isusulat mo ba ang iyo gamit ang VB, o gumamit ng iba pang tool tulad ng PowerShell ?

Magbahagi Magbahagi Mag-tweet Email Narito Bakit Naglabas ang FBI ng Babala para sa Hive Ransomware

Nag-isyu ang FBI ng isang babala tungkol sa isang partikular na hindi magandang pagsasama ng ransomware. Narito kung bakit kailangan mong maging maingat lalo na sa Hive ransomware.

Basahin Susunod
Mga Kaugnay na Paksa
  • Programming
  • Pag-aautomat ng Computer
  • Pag-iskrip
Tungkol sa May-akda Ryan Dube(942 Mga Artikulo Nai-publish)

Si Ryan ay may kursong BSc sa Electrical Engineering. Nagtrabaho siya ng 13 taon sa automation engineering, 5 taon sa IT, at ngayon ay isang App Engineer. Isang dating Managing Editor ng MakeUseOf, binigkas siya sa mga pambansang kumperensya sa Data Visualization at naitampok sa pambansang TV at radyo.

Higit pa Mula kay Ryan Dube

Mag-subscribe sa aming newsletter

Sumali sa aming newsletter para sa mga tip sa tech, pagsusuri, libreng ebook, at eksklusibong deal!

Mag-click dito upang mag-subscribe