5 Användbara VB Windows-skript för att automatisera datorns användning

5 Användbara VB Windows-skript för att automatisera datorns användning / Programmering

Oavsett om du är en IT-analytiker eller en vanlig datoranvändare, finns det många uppgifter som du kanske behöver göra ofta på datorn. VB-skript är nedskalade Visual Basic-program som fungerar som Windows-skript som kan göra allt från att dra upp viktig information om datorns maskinvara, stoppa och starta tjänster eller återställa ditt nätverkskort.

Det är möjligt att lära sig hur man gör alla dessa enskilda saker på normalt sätt, eller gör dem med hjälp av satsvisa filer. Men VB-skript är bättre än batchskript Bättre än Batch: En Windows Scripting-värdstudie Bättre än Batch: En Windows Scripting Host-handledning Läs mer eftersom de är mer flexibla. Om du lagrar följande skript på en gemensam plats som är snabb att komma till när du behöver det, kan du utföra dessa uppgifter under en bråkdel av tiden. Du dubbelklickar bara på skriptet, svarar på en snabb och uppgiften är klar.

Ta en titt på följande VB Windows-skript och om du ser något du vill använda, kopiera och klistra in skriptet i anteckningsblock eller annat kodningsverktyg 7 Bästa noteringsverktyg för programmerare 7 Bästa noteringsverktyg för programmerare Goda noteringskunskaper är nyckeln till att hålla sig organiserade som programmerare. Här är de bästa noteringstagen som är utformade med kodare och utvecklare i åtanke. Läs mer och spara det som en WSF-fil.

Förbered dina Windows-skript

Var och en av de beskrivna skripten kommer att köras med bara ett dubbelklick så länge du har namngivit filen med .WSF-tillägget, och du har också bifogat koden i början med:

  

Detta säkerställer att Windows kommer att känna igen språket ditt skript är skrivet i och bearbeta det ordentligt.

1. Använd Windows-skript för datorinformation

Windows erbjuder något som heter WMI eller Windows Management Instrumentation, som ger ditt skript ett gränssnitt för åtkomst till komponenter i operativsystemet. Du kan faktiskt köra frågor mot WMI för att få aktuell liveinformation om ditt system. Microsoft erbjuder en fullständig lista över alla kategorier av frågor du kan göra mot systemet.

Vi har täckt hur du använder VBA för att dra datorinformation till Excel Så här ser du all din datorinformation med hjälp av en enkel Excel VBA-script Så här ser du all din datorinformation med hjälp av en enkel Excel VBA Script Excel och 10 minuters arbete ger dig mer detaljerad information om din dator än vad du någonsin trodde möjligt. Låter för bra för att vara sant? Det är Windows, om du vet hur du använder den. Läs mer, men du kan göra samma sak med ett enkelt VB-skript utanför Excel.

I det här exemplet kommer vi att fråga systemet för processorinformation (familj, tillverkare och antal kärnor), batteriinformation Så här sparar du batterilivslängd i Windows 10 med strömspänning Hur man sparar batterilivslängd i Windows 10 med strömavbrott Microsoft introducerad power throttling som ger Windows-användare mer kontroll över hur enskilda appar hanterar batteriförbrukning när de körs i bakgrunden. Läs mer (beskrivning och status) och logisk diskinformation Så här sparar du diskutrymme i Windows 10 Så här sparar du diskutrymme i Windows 10 När det gäller diskutrymme krävs Windows 10 rättvis Att slösa 20 GB på en liten SSD kan vara frustrerande. Lyckligtvis kan du minska Windows 10-fotavtrycket och återvinna något av det här utrymmet. Läs mer (namn, ledigt utrymme kvar och övergripande storlek). Då ska vi utföra all denna information till en CSV-fil för enkel visning.

Det första steget är att konfigurera FileSystemObject som du ska använda för att mata ut till CSV-filen och skapa filen:

Ange oFSO = CreateObject ("Scripting.FileSystemObject") sFile1 = "MyComputerInfo.csv" Ange oFile1 = oFSO.CreateTextFile (sFile1, 1)

Nästa steg är att ställa in WMI-frågan och utföra det:

strQuery = "SELECT Familj, Tillverkare, NumberOfCores FRÅN Win32_Processor" Ange colResults = GetObject ("winmgmts: //./root/cimv2"). ExecQuery (strQuery)

Slutligen sortera igenom resultaten och mata ut informationen till CSV-filen. Om du vill ha det, förord ​​detta med ett par rader för att göra din utdatafil ser bättre ut:

oFile1.WriteLine "Processorinformation" oFile1.WriteLine "------" För varje objResult i colResults strResults = "Familj:" + CStr (objResult.Family) oFile1.WriteLine strResults strResults = "Tillverkare:," + CStr (objResult.Manufacturer) oFile1.WriteLine strResults strResults = "Antal kärnor:," + CStr (objResult.NumberOfCores) oFile1.WriteLine strResults Nästa

Om du kör din kod nu är det här vad din produktion kommer att se ut:

För de följande två delarna av din kod kommer du bara att repetera och ändra frågan för att leta efter ytterligare information. Här är informationen om batteriinfo:

oFile1.WriteLine "" strQuery = "VÄLJ Beskrivning, Status FRÅN Win32_Battery" Ange colResults = GetObject ("winmgmts: //./root/cimv2") .ExecQuery (strQuery) oFile1.WriteLine "Batteriinformation" oFile1.WriteLine "- ---- "För varje objResultat I colResults strResults =" Status:, "+ CStr (objResult.Description) oFile1.WriteLine strResults strResults =" Beskrivning:, "+ CStr (objResult.Status) oFile1.WriteLine strResults Nästa

Och här är nästa avsnitt för den logiska diskfrågan:

oFile1.WriteLine "" strQuery = "Välj namn, FreeSpace, Size from Win32_LogicalDisk" Ange colResults = GetObject ("winmgmts: //./root/cimv2"). ExecQuery (strQuery) oFile1.WriteLine "Diskinformation" oFile1.WriteLine " ------ "" Identifiera den logiska diskutrymmet för varje objResult i colResults strResults = "Name:," + CStr (objResult.Name) oFile1.WriteLine strResults strResults = "Fritt utrymme:," + CStr (objResult.FreeSpace ) oFile1.WriteLine strResults strResults = "Diskstorlek:," + CStr (objResult.Size) oFile1.WriteLine strResults Nästa

Slutligen kom ihåg att stänga koden genom att stänga filen och ställa in objekten till “Ingenting”:

oFile1.Close Set oFile1 = Inget satt colResults = Inget strResults = ""

Sätt all den koden i din nya .WSF-fil, kör den, och här ser du hur din produktion ska se ut:

Byt bara upp frågorna ovan för andra datoranordningar eller programvaror som du vill få information om, och du kan få en fullständig systemrapport. Hur man skapar ett automatiserat datorhälsounpporteringssystem. Hur man skapar ett automatiserat datorhälsounpporteringssystem Du är ute äta lunch som din mobil varnar dig till en viktig text. SMS läser: "Hemdatorvarning: 3 hackningsförsök". Detta är inte fiktion! Låt oss visa dig hur du gör det här! Läs mer när du vill med bara ett musklick.

2. Stoppa och starta tjänster

Det kommer att finnas tillfällen när vissa tjänster har problem, och kräver bara en snabb omstart för att få igång igen. Detta gäller speciellt i IT Innan du studerar IT, vet vad du kommer in innan du studerar IT, vet vad du kommer till informationsteknologi (IT) har blivit ett så utbrett karriärval. Men få människor vet faktiskt vad det är och vad dess disciplin medför. Läs mer när du är tvungen att köra serverns programvara som ibland är lite buggy.

Om du vill raka en minut eller så bort från omstartsprocessen för tjänster, behåll bara följande skript någon plats bekväm. Det kommer att uppmana dig att skriva in namnet på den tjänst du vill starta om, och då kommer det att göra exakt det.

Eftersom stopp och starttjänster kräver administrativa behörigheter måste du placera följande kod i början av ditt skript för att ge ditt skript förhöjda behörigheter:

Om inte WScript.Arguments.Named.Exists ("elevate") CreateObject ("Shell.Application"). ShellExecute WScript.FullName _, "" "" & WScript.ScriptFullName & "" "/ elevate", "", " runas ", 1 WScript.Quit End If

När det här är gjort, lägg till resten av koden för att köra inmatningsrutan för användarinmatning, starta kommandofönstret och skicka det till “nätstopp” och “nätstartkommandon”:

Ange cmdShell = CreateObject ("WScript.Shell") strServiceName = Inputbox ("Inter Service to Stop", "Input Required") cmdShell.Run "cmd.exe" WScript.Sleep 1000 cmdShell.SendKeys "netstopp" + strServiceName cmdShell. SendKeys "Enter" WScript.Sleep 1000 cmdShell.SendKeys "netstart" + strServiceName cmdShell.SendKeys "Enter" WScript.Sleep 1000 cmdShell.SendKeys "Exit" cmdShell.SendKeys "Enter"

Det är allt som finns där. Inget behov av att jaga efter tjänsteverktyget. Kör bara det här skriptet och sluta och starta någon tjänst på några sekunder.

3. Ändra registerinställningar, standardadministratörslösenord

Med följande manus ska vi döda två fåglar med en sten. Det här skriptet visar hur du redigerar registret 5 Windows 10 Registry Tweaks för att förbättra och låsa upp funktioner 5 Windows 10 Registry Tweaks för att förbättra och låsa upp funktioner Registry Editor är det enda sättet att aktivera vissa av Windows 10: s dolda funktioner. Här visar vi dig enkla tweaks som möjliggör det mörka temat eller döljer mappar. Läs mer med ett VB-skript. Det ger dig också ett skript som låter dig ställa in standard Windows användarnamn och lösenord genom att redigera dessa registerinställningar.

Så här fungerar det. Först, eftersom redigering av registret kräver administratörsrättigheter måste du konfigurera förhöjda behörigheter för ditt skript:

Om inte WScript.Arguments.Named.Exists ("elevate") CreateObject ("Shell.Application"). ShellExecute WScript.FullName _, "" "" & WScript.ScriptFullName & "" "/ elevate", "", " runas ", 1 WScript.Quit End If

Först kör två inmatningsrutor för att fråga användaren vilket användarnamn och lösenord som ska användas:

strUserName = Inputbox ("Ange standard användarnamn", "Input Required") strPassword = Inputbox ("Ange standardlösenordet", "Input Required")

Därefter ska du konfigurera skalobjektet och skriva dessa värden till lämpliga registernycklar:

Ange wshShell = CreateObject ("WScript.Shell") wshShell.RegWrite "HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon \ DefaultUserName", strUserName, "REG_SZ" wshShell.RegWrite "HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon \ DefaultPassword ", strPassword," REG_SZ "Ange wshShell = Ingenting

Och det är allt som finns där. De “RegWrite” metod kan du skriva något värde till någon registernyckel med ett VB Windows-skript. Allt du behöver veta är rätt väg.

Kör skriptet och svara på instruktionerna.

De värden du anger kommer att sättas in direkt i de registerinställningar du har ställt in i skriptet.

Spela runt med manuset och tweak det till din smak. Du kan redigera alla registernycklar du gillar, så var kreativ!

4. Återställ din nätverksanslutning

Återställa din nätverksanslutning med VB-skript Så här skriver du ett Windows-skript för att ändra nätverksinställningar på flyget Så skriver du ett Windows-skript för att ändra nätverksinställningar på flyget I många kontor eller arbetsmiljöer kan du behöva omdefiniera nätverksinställningarna för att ansluta till olika nätverk. Jag befann mig ofta i denna situation och blev så trött på att surfa till ... Läs mer är något vi har täckt för här på MakeUseOf. Följande version av detta är faktiskt nedskalad och mycket enklare att genomföra. I stället för att fråga om individuella nätverkskort, återställer det alla dina aktiva anslutningar som förhoppningsvis skulle lösa eventuella nätverksproblem som du kanske har.

Som med andra skript som behöver administratörsrättigheter måste du lägga till avsnittet i början av förhöjda behörigheter. Kopiera den koden från skriptet ovan.

Skapa sedan WMI-objektet och fråga det för en lista över aktiverade nätverksadaptrar på ditt system:

strComputer = "." Ange objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ CIMV2") Ange colItems = objWMIService.ExecQuery (_ "VÄLJ * FRÅN Win32_NetworkAdapter Where NetEnabled = 'True'")

Slutligen slinga igenom alla aktiverade adaptrar och återställ dem:

För varje objekt i kolumner objItem.Disable WScript.Sleep 1000 objItem.Enable Next

Detta kommer att återställa alla dina aktiva nätverkskort 8 CMD-kommandon för att hantera (trådlösa) nätverk i Windows 8 CMD-kommandon för att hantera (trådlösa) nätverk i Windows Om du vill ha fullständig och absolut kontroll över ditt nätverk måste du börja använda Command Prompt. Här är de mest användbara kommandon för hantering och felsökning av ditt hemnätverk. Läs mer, vilket ofta är det snabbaste sättet att lösa irriterande nätverksproblem. Håll det här skriptet praktiskt och prova det första gången du har ett långsamt nätverk eller andra konstiga nätverksproblem.

5. Ping enheter eller webbplatser

Jag har sparat min favorit VB Windows-skript för sist. Det här är en som jag faktiskt ställer upp som en schemalagd uppgift på min hemdator och har den att springa flera gånger om dagen bara för att kontrollera om min hemsida är aktiv 3 sätt att räkna ut om din favoritwebbplats är nere 3 sätt att räkna ut om din Favoritwebbplatsen är nere Det finns några webbplatser där ute som bara ägnas åt att svara på den grundläggande frågan som du så småningom kommer att fråga: "Är den här webbplatsen nere?" Här har vi tre av dessa webbplatser, och de är alla ... Läs mer. Jag har skriptet maila mig om webbplatsen är nere. Du kan använda samma skript för att övervaka viktiga servrar eller datorer i ditt nätverk och maila dig själv när ditt skript inte kan pinga enheten.

Först, sätt upp skriptet för det mål du vill pinga, skapa skalobjektet och kör sedan ping-kommandot.

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

Använd ett Select Case-meddelande för att springa igenom Ping-resultaten och svara i enlighet därmed. Om resultaten kommer tillbaka som noll, vet du att webbplatsen (eller servern) är online och du behöver inte göra någonting. Om den returnerar a “1” då misslyckades pingen och du måste göra något. I mitt fall skickar jag ett mail med Windows CDO-objektet:

Välj Case Ping Case 0 Case 1 Ställ objMessage = CreateObject ("CDO.Message") Ställ objConfig = CreateObject ("CDO.Configuration") objConfig.Load -1 Ställ in Flds = objConfig.Fields med Flds .Item ("http: // schemas.microsoft.com/cdo/configuration/smtpusessl ") = Sann .Item (" http://schemas.microsoft.com/cdo/configuration/smtpauthenticate")=1 .Item ("http://schemas.microsoft. com / cdo / configuration / sendusername ") =" [email protected] ".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. Uppdatera slut med objMessage Set .Configuration = objConfig .Subject = "Din webbplats är offline" .From = "[email protected]" .To = "[email protected]" .TextBody = "Hej, din webbplats är offline." .Sänd slut med slutval

När skriptet körs och inte kan pinga enheten eller webbplatsen får du ett snabbmeddelande.

Det är snabbt och enkelt, och alla effektiva!

Använda VB Windows-skript för att styra datorn

Det här är bara några exempel på några av de coola sakerna du kan göra med VB-skript för att effektivisera din datoranvändning. Det finns många andra saker som du kan göra som automatiserade säkerhetskopieringar med VB och Synctoy Hur man skapar ett datasäkerhetsverktyg med SyncToy & VB Script Hur man skapar ett datasäkerhetsverktyg med SyncToy & VB Script Vi har täckt en hel del backup-lösningar här på MUO, och alla dessa lösningar är bra, men om du arbetar i en miljö som är försiktig med gratis programvara från tredje part eller företag ... Läs mer, automatisera telnetkommandon Hur man automatiserar Telnet-kommandon med hjälp av VB Script Hur man automatiserar Telnet-kommandon Använda VB Script Skriva batchjobb och mer nyligen Windows-skript är en aktivitet som verkligen utgör hur stor majoriteten av nätverks- och systemadministratörer jobbar snabbare och förenklar vad som skulle ... Läs mer eller ens öppna och kontrollera applikationsfönster 3 sätt att öppna applikationer och Windows maximeras med VB Script [Windows] 3 sätt att öppna applikationer och Windows maximeras med VB Script [Windows] Om det finns en sak jag älskar att göra, det är skrivet VB-skript. Oavsett om det är en Windows Script-fil eller ett VBA-skript i en applikation, ger skript möjligheten att lägga till funktionalitet för program ... Läs mer .

Vad är några av de saker du har automatiserat på datorn med ett Windows-skript? Skriver du dina med hjälp av VB eller använder något annat verktyg som PowerShell Powershell Cmdlets som kommer att förbättra dina Windows-administrativa färdigheter Powershell Cmdlets som kommer att förbättra dina Windows-administrativa färdigheter Powershell är lika delar kommandoradsverktyg och skriptspråk. Det ger dig möjligheten att automatisera din dator via samma kommandon som du använder för att administrera den. Läs mer ?

Utforska mer om: Datautomatisering, Scripting.