windows - Hvad er fordelene ved at køre Powershell i stedet for VBScript?

Indlæg af Hanne Mølgaard Plasc

Problem



Hvad er de vigtigste forskelle mellem Powershell og VBScript, som ville få mig til at vælge fra den ene til den anden, når jeg planlægger et nyt projekt med denne slags scripts?

Bedste reference


VBScript er ret begrænset i hvad det kan gøre i forhold til PowerShell. PowerShell har adgang til alle .NET biblioteker, så du kan udnytte alt du kunne med et sprog som C # eller VB.NET. Du kan også indlæse enhver .NET DLL og drage fordel af tredjepartsbiblioteker som dem, der findes på codeplex.


PowerShell har nogle begrænsninger, men du vil sjældent komme ind i dem. Powershell kører på en enkelt tråd, så hvis du forsøger at påberåbe sig .NET biblioteker, der opretter en ny tråd som BackgroundWorker, vil du få problemer. Når det er sagt, kan du ikke foretage en samtidig behandling med VBScript. I PowerShell har du i det mindste baggrundsjob.


PowerShell er også interaktiv. Dette giver dig mulighed for at prøve ting på konsollen først og integrere dem i større mere komplicerede scripts.


Der er også en række gratis udviklings- og fejlfindingsværktøjer til rådighed for PowerShell. Det kommer med en, der faktisk hedder ISE. En anden er tilgængelig fra Quest kaldet PowerGUI. Hvis du vil have noget lignende i VBScript, skal du bruge noget som Visual Studio og starte dit script med cscript //X eller bruge noget som PrimalScript, hvilket er dyrt.


PowerShell giver dig ofte mulighed for at gøre mere med mindre sammenlignet med VBscript. I nogle tilfælde kan du reducere VBscripts, der er hundredvis af linjer til kun titus linjer i PowerShell.


Hvis du finder dig selv at læse et BASH-script på et tidspunkt, kan du blive overrasket over, hvordan det er kendt, efter at du har hentet PowerShell. Syntaxen er ens. Det er også nemt at konvertere PowerShell-kode til C # og vise versa. Det er godt, fordi hvis du ikke kan finde et eksempel på, hvordan du gør noget direkte med PowerShell, kan du bare finde et eksempel i C #, og det kan konverteres til PowerShell temmelig let.

Andre referencer 1


PowerShell, medmindre du har stærk grund til ikke, simpelthen fordi det er hvad Microsoft har designet til OS og applikationsautomatisering på tværs af alle sine platforme. Du vil muligvis gerne læse for detaljer på Microsoft PowerShell-webstedet. Det har mange ting, som vbscript ikke gør eller meget svært at gøre, såsom ekstern eksekvering, sikkerhed osv.