2012-03-26 7 views
13

この種のスクリプトを使用して新しいプロジェクトを計画するとき、PowershellとVBScriptの主な違いは何ですか?VBScriptではなくPowershellを実行する利点は何ですか?

+2

驚くべき質問、私は本当にこれについて知る必要がありました。 SOのポリシーのいくつかを絶対に嫌う。 –

+0

この質問は建設的です... –

答えて

14

VBScriptはPowerShellに比べてかなり制限されています。 PowerShellはすべての.NETライブラリにアクセスできるため、C#やVB.NETなどの言語でできることをすべて利用できます。任意の.NET DLLを読み込み、コードプレックスにあるようなサードパーティのライブラリを利用することもできます。

PowerShellにはいくつかの制限がありますが、ほとんど実行されません。 Powershellは単一のスレッド上で動作するので、BackgroundWorkerのような新しいスレッドを作成する.NETライブラリを呼び出そうとすると問題が発生します。つまり、VBScriptを使用して同時に処理することはできません。 PowerShellでは、少なくともバックグラウンドジョブがあります。

PowerShellも対話型です。これにより、最初にコンソールで試してみたり、もっと複雑なスクリプトに統合することができます。

PowerShellには、多くの開発ツールとデバッグツールが用意されています。実際にISEと呼ばれるものが付属しています。もう一つはPowerGUIというQuestから入手可能です。 VBScriptに似たものが必要な場合は、Visual Studioのようなものを使用してcscript //Xでスクリプトを起動するか、高価なPrimalScriptのようなものを使用する必要があります。

PowerShellでは、多くの場合、VBscriptに比べて多くのことを行うことができます。場合によっては、PowerShellで数百行から数十行までのVBスクリプトを減らすことができます。

BASHスクリプトを読んでいる人がいれば、PowerShellを習得した後の使い慣れたことに驚くかもしれません。構文も同様です。また、PowerShellコードをC#に変換したり、その逆も簡単です。これは素晴らしいことです。PowerShellで直接何かを行う方法の例が見つからない場合は、C#で例を見つけてPowerShellに簡単に変換できます。

2

Powershellは、MicrosoftがOSとアプリケーションの自動化のために設計したものではないという強い理由がない限り、そうではありません。ただし、Microsoft PowerShellのサイトで詳細をお読みください。リモートでの実行やセキュリティなど、vbscriptがやらなければならないことはたくさんあります。

関連する問題