Windows PowerShell とは何か。アップグレードの機能と利点

Windows 10Windows PowerShell 5.0を搭載しています。最新バージョンは現在PowerShell 7.0です。Windows 8.1にはWindows PowerShell 4.0がインストールされています。新しいバージョンには、言語をよりシンプルで使いやすくし、一般的なエラーを回避するように設計された多くの新機能が搭載されています。Windowsオペレーティングシステムで以前のバージョンのPowerShellを使用している場合、このバージョンのWindows PowerShellに移行すると多くの利点があります。システム管理者がWindows Server OSのあらゆる側面を管理できるだけでなく、SQL、Exchange、Lyncベースのサーバーも制御できます。

PowerShellとは

PowerShellはコマンドラインシェルとスクリプティング言語です。PowerShellを使用してスクリプトの自動化、コマンドのバッチ実行、クラウドのリソース制御などを行うことができます。現在、Linux、macOS、Windows OSで動作するPowerShell Coreがあります。詳細については、microsoft.comでPowerShellの紹介を確認して、素晴らしい学習を行うことができます。

使用しているPowerShellのバージョン

使用しているPowerShellのバージョンを確認するには、次の手順を実行します。

PowerShellウィンドウを開き、次のコマンドのいずれかを入力してEnterキーを押します。

get-host|Select-Object version
$psversiontable
$host.version

これの詳細については、Windows 10でPowerShellのバージョンを確認する方法を参照してください。

  • Windows Server 2012、Windows Server 2008 R2、Windows Server 2008 SP2、Windows 8、SP1搭載のWindows 7のユーザーは、Windows PowerShell 3.0を使用できます。
  • Windows Server 2012 R2、Windows Server 2012、Windows Server 2008 R2、SP1搭載のWindows 8.1、Windows 7のユーザーは、Windows PowerShell 4.0を使用できます。
  • Windows 10にはWindows PowerShell 5.0が搭載されています。

Windows PowerShellの機能

Windows PowerShell 3.0には、次のような新しい機能が導入されました。

  • Windows PowerShellワークフロー

  • CIMコマンドレット

  • オブジェクト上のコマンドレット(CDXML)

  • Windows PowerShell Webアクセス

  • モジュールの自動読み込み

  • 更新可能なヘルプ

  • 堅牢で切断されたセッション

  • スケジュールされたジョブ

Windows PowerShell 4.0には、次のような機能が追加されました。

  • Desired State Configuration(DSC)

  • Windows PowerShell Webアクセスの改善

  • ワークフローの強化

  • Windows PowerShell Webサービスの新しい機能

  • Save-Help

Windows 10に含まれるWindows PowerShell 5.0には、次のような機能が導入されています。

  • 機能でクラスを定義できます

  • DSCの強化

  • すべてのホストで利用可能なトランスクリプション

  • Windows PowerShellジョブのデバッグ機能を含む、デバッグの主要な強化

  • ネットワークスイッチモジュール

  • OneGetによるソフトウェアパッケージの管理

  • OneGetによるWindows PowerShellモジュールの管理のためのPowerShellGet

  • COMオブジェクトを使用する場合のパフォーマンスの向上

Windows PowerShell 6.0は、クロスプラットフォーム(Windows、macOS、Linux)、オープンソースであり、異種環境とハイブリッドクラウド向けに構築されています。

  • .NET Frameworkから.NET Coreに移行しました

  • 実行時として.NET Core 2.0を使用します。

  • PowerShell Coreを複数のプラットフォーム(Windows、macOS、Linux)で動作させます。

  • .NET Coreと.NET Frameworkで共有されるAPIは、.NET Standardの一部として定義されています。

Windows PowerShell 7.0には、次のような多くの新機能が搭載されています。

  • パイプラインの並列化

  • 新しい演算子

  • ConciseViewとGet-Errorコマンドレット

  • 新しいバージョンの自動通知

  • PowerShell 7から直接DSCリソースを呼び出します

  • 互換性レイヤー。

TechNet Libraryでは、これらの機能を詳しく説明しています。そのうちのいくつかを簡単に見てみましょう。

Windows PowerShellワークフロー:この機能により、Windowsワークフローファウンデーションの機能がWindows PowerShellに組み込まれます。ワークフローはXAMLまたはWindows PowerShell言語で記述でき、コマンドレットを実行するのと同じように実行できます。

既存のコアコマンドレットとプロバイダーの改善:Windows PowerShell 3.0には、簡略化された構文や、–Computerコマンドレット、CSVコマンドレット、Get-ChildItem、Get-Command、Get-Content、Get-History、Measure-Object、Securityコマンドレット、Select-Object、Select-String、Split-Path、Start-Proces、Tee-Object、Test-Connection、および.Add-Memberなどのコマンドレットの新しいパラメーターを含む、既存のコマンドレットの新しい機能が含まれています。

リモートモジュールのインポートと検出:Windows PowerShell 3.0は、リモートコンピューターでのモジュールの検出、インポート、および暗黙のリモート機能を拡張します。

モジュールコマンドレット:Windows PowerShellリモートを使用して、リモートコンピューター上のモジュールをローカルコンピューターにインポートする機能があります。

新しいCIMセッションのサポート:リモートコンピューターで暗黙的に実行されるコマンドをローカルコンピューターにインポートすることで、CIMとWMIを使用してWindows以外のコンピューターを管理するための権限が付与されます。

オートコンプリート機能:入力時間を節約し、タイプミスを減らします。

PowerShell 3.0 IntelliSense:波線の下にマウスポインターを置くと、犯したエラーを赤で下線で表示し、修正案を提案します。

Update-Helpコマンドレット:これにより、組み込みのドキュメントの多くの小さなエラーや厄介なタイプミスが修正されます。

強化されたコンソールホストエクスペリエンス:Windows PowerShellコンソールホストプログラムを基盤とする変更は、PowerShell 3.0でデフォルトで有効になっています。さらに、エクスプローラーの新しい「PowerShellで実行」オプションを使用すると、右クリックするだけで制限のないセッションでスクリプトを実行できます。

RunAsと共有ホストのサポート:Windows PowerShellワークフロー用に設計されたRunAs機能により、セッション構成のユーザーは、共有ユーザーアカウントの権限で実行されるセッションを作成できます。一方、SharedHost機能により、複数のコンピューターの複数のユーザーがワークフローステージに同時に接続して、ワークフローの進捗状況を注意深く追跡できます。

特殊文字の処理の改善:Windows PowerShell 3.0をざっと見てみると、プログラムが特殊文字を解釈して正しく処理する能力が向上していることがわかります。パス内の特殊文字を処理するLiteralPathパラメーターは、新しいUpdate-HelpおよびSave-Helpコマンドレットを含む、パスパラメーターを持つほとんどすべてのコマンドレットで有効です。

PowerShellを使用すると、Windowsサービスのリストを生成したり、無効な機能のリストを生成したり、デバイスドライバをエクスポートおよびバックアップしたり、システムの稼働時間を検索したり、Windows Defenderの定義を更新したり、ドライブをリストしたり、インストールされているドライバのリストを取得したり、Windowsストアアプリをアンインストールしたり、デスクトップのコンテキストメニューに項目を追加したり、システムイメージを作成したり、ファイルをダウンロードしたりすることができます。