2012-03-26 14 views
13

Jakie są główne różnice między pakietami Powershell i VBScript, które pozwoliłyby mi wybierać między sobą podczas planowania nowego projektu za pomocą tego rodzaju skryptów?Jakie są zalety korzystania z Powershell zamiast VBScript?

+2

Awesome pytanie, naprawdę potrzebowałem wiedzieć o tym. Absolutnie nienawidzę niektórych zasad SO. –

+0

To pytanie jest konstruktywne ... –

Odpowiedz

14

VBScript ma dość ograniczone możliwości w porównaniu do PowerShell. PowerShell ma dostęp do wszystkich bibliotek .NET, dzięki czemu możesz wykorzystać wszystko, co możesz, używając języka C# lub VB.NET. Możesz również załadować bibliotekę .NET DLL i skorzystać z bibliotek stron trzecich, takich jak te znalezione w codeplex.

PowerShell ma pewne ograniczenia, ale rzadko się na nie napotykasz. Powershell działa na jednym wątku, więc jeśli spróbujesz wywołać biblioteki .NET, które utworzą nowy wątek, taki jak BackgroundWorker, będziesz mieć problemy. Powiedział, że nie można wykonywać żadnego współbieżnego przetwarzania za pomocą VBScript. W PowerShell masz co najmniej zadania w tle.

PowerShell jest również interaktywny. Pozwala to na wypróbowanie rzeczy na konsoli i zintegrowanie ich w większe, bardziej skomplikowane skrypty.

Dostępnych jest również wiele darmowych narzędzi programistycznych i narzędzi do debugowania dla programu PowerShell. Pochodzi z tak zwanym ISE. Kolejny jest dostępny w Quest zwany PowerGUI. Jeśli chcesz czegoś podobnego w VBScript, musisz użyć czegoś takiego jak Visual Studio i uruchomić swój skrypt z cscript //X lub użyć czegoś takiego jak PrimalScript, który jest drogi.

PowerShell często pozwala robić więcej za mniej w porównaniu do VBscript. W niektórych przypadkach możesz zredukować litery VBs, które są setkami linii do zaledwie kilkudziesięciu linii w PowerShell.

Jeśli w pewnym momencie czytasz skrypt BASH, możesz być zaskoczony jego znajomością po przejrzeniu PowerShell. Składnia jest podobna. Łatwo też konwertować kod PowerShell na C# i na odwrót. Jest to świetne, ponieważ jeśli nie możesz znaleźć przykładu, jak zrobić coś bezpośrednio z PowerShell, możesz po prostu znaleźć przykład w języku C# i można go przekonwertować do PowerShella dość łatwo.

2

Powershell, o ile nie masz uzasadnionego powodu, aby tego nie robić, ponieważ Microsoft zaprojektował to dla systemu operacyjnego i automatyzacji aplikacji na wszystkich platformach. Możesz jednak przeczytać szczegóły na stronie Powerhell firmy Microsoft. Ma wiele rzeczy, których vbscript nie robi lub jest bardzo trudny do wykonania, takich jak zdalne wykonywanie, bezpieczeństwo itp.

Powiązane problemy