catch-img

PowerShellの勉強の仕方(その2)

この記事は2014年1月16日に作成されました。

 

前回「PowerShellの勉強の仕方(その1) 」ではPowerShellの概要について紹介しました。

今回は、PowerShellから実行できるコマンドについてさらに詳しく紹介します。

 

 

PowerShellから実行できるコマンド

バッチファイル

PowerShellは、PowerShellで記述したスクリプトを実行できます。この時、スクリプトファイルの拡張子はps1(ピー、エス、イチ)です。しかし、BATやVBSといった今までのバッチファイルもPowerShellで実行が可能です。これにより過去の厖大なバッチファイルの資産を無駄にすることなく、PowerShellに移行できます。

 

外部コマンド

また、PowerShellはWindowsで実行できる外部コマンド(実行可能モジュール)をすべて実行できます。もちろんWindows付属のコマンドに限らず、個人運営のWebサイトからダウンロードした便利コマンドなども同じように実行できます(ウイルスも実行できるので注意してください)。

 

言い換えれば、今まで利用していた外部コマンドはすべてPowerShell上で実行できるのです。疑念を抱いている方は、PowerShellで下記の外部コマンドを実行してみてください。

 

IPCONFIG /ALL

 

コマンドプロンプトで実行したのと同様に、現在のIPアドレスが表示されたはずです(ただしIPCONFIGと/ALLの間にはスペースが必須です)。

 

内部コマンド

CMD.EXEの内部コマンドを実行することはできませんが(どうしても実行したければ 「CMD /c コマンド」と実行してください)、エイリアス設定を利用することで、コマンドの置き換えをしています。

 

エイリアスとは別名、簡単に言えばニックネームのことです。PowerShellでは本来のコマンド名(≒本名)に対して、ニックネームを付けることができます。CMD.EXEの主な内部コマンドには、あらかじめニックネームが付けられています。これにより内部コマンドもPowerShell上で実行できるようになっています。

 

試しにPowerShellで下記の内部コマンドを実行してみてください。

 

DIR

 

これもコマンドプロンプトで実行したのと同様に、フォルダやファイルの一覧が表示されたはずです。ただし、エイリアス(ニックネーム)設定されているのは、内部コマンド名のみなので、パラメーターやオプションは本名(ニックネームではない本来のスペル)でなければなりません。

 

サブフォルダのファイルも表示するオプション

参考として先程のコマンドに、サブフォルダのファイルも表示するオプションを付けて実行する例を挙げておきます。なおDIRの本名はGet-ChildItemです。

 

DIR /s

 

DIRはGet-ChildItemのエイリアスですが、PoweShellの Get-ChildItem コマンドレットは /s というオプションを認識しないのでエラーになります。

 

Get-ChildItemでは、DIRの /s に相当するオプションは -Recurse なので

 

DIR -Recurse

または

Get-ChildItem -Recurse

 

はどちらも成功します。

 

入力補完機能

コマンド名は従来通りとしても、内部コマンドに対する新しいオプションを憶えねばならないと溜息が出そうですね。でも、ハイフンを入力した後にTABキーを押すことで補完してくれるので、オプションのスペルを正確に憶える必要はありません。

 

また、普段利用しているコマンドは、拡張子exeで提供される外部コマンドがほとんどのはずです。(外部コマンドのオプションは、外部コマンドのexeファイル自身が認識するので、従来通りで新たに憶える必要はありません。)

 

そのためコマンドプロンプトで実行していたコマンドは、ほぼすべてPowerShellでも実行ができると言えるのです。

 

PowerShellとコマンドプロンプトの機能を比較

PowerShellとコマンドプロンプトの機能を比較すると下記のようなイメージになります。

 

6-Dec-14-2023-10-54-52-7822-AM

 

PowerShellはコマンドプロンプトのコマンドが、ほぼすべて意識することなく利用できます。どうせ開くなら、大は小を兼ねるでPowerShellを開くようにしてはどうでしょう。PowerShellなら、従来のコマンドだけでなく、新しいコマンド(特に追加されたコマンドレットなど)も利用可能なのですから。

 

追記

PowerShellとコマンドプロンプトの最大の違いは、実行結果がテキストではなくオブジェクトである点だと考えています。これらは機会があれば紹介しようと考えていますが、みなさんも探ってみてください。

 

Powershellを学べるトレーニング

Windows PowerShell コマンド・スクリプト入門(MSC0482V)

Windows PowerShell 実践 ~Windows Server 2016対応~(MSC0607G)   

 

Microsoft認定トレーニング

トレノケートは、2002年にMicrosoftのラーニングソリューション分野において、日本で初めてラーニング部門のゴールドパートナーに認定されました。以降、 Microsoft認定資格対応研修Windows Server 研修Microsoft Azure 研修など幅広い分野で多数の最新コースラインナップを提供し続けています。

Microsoft認定トレーニングについて

 

 

 

 

横山 哲也(よこやま てつや)

トレノケート株式会社 講師。Microsoft Certified Trainer/Microsoft Certified: Azure Solutions Architect Expert/Microsoft Certified: Azure Administrator Associate/ Microsoft Certified: Azure Fundamentals/Microsoft MVP: Cloud and Datacenter Management(2003年-2018年)/EXIN Cloud Computing Foundation/ AWS 認定クラウドプラクティショナー。1994年から現在まで、Windows Serverの全てのバージョンでコースを担当。2005年からはサーバー仮想化、2014年からMicrosoft Azure関連コースを担当。現在は、AzureとWindows Server 2016を中心に教育コースを実施しているほか、新規コースの企画・開発も担当している。趣味は写真、好きなサービスは「Active Directoryドメインサービス」、好きなアイドルは「まなみのりさ」。

無料ダウンロード

オススメコンテンツ

オススメ記事

プロジェクトマネジメント PMP AWS ビジネススキル Microsoft PMBOKⓇ 田中淳子 IT資格 人材育成 山下光洋 AMA Azure コミュニケーション 人材開発用語集 PMBOK®ガイド入門 クラウド ITスキル 新入社員 横山哲也 PMP試験問題に挑戦 re:Invent セキュリティ DX 人材育成応援ラジオ Cisco PMBOKⓇガイド 第6版 試験体験記 イベント・セミナー PMBOK®ガイド第6版の変更点 人材開発 CCIE CCNA AI(人工知能) テレワーク ネットワーク リモートワーク 研修 GCP PMP(R)試験問題 第6版対応 PMP合格体験記 Windows Server AWS_Q&A Active Directory IT人材 IT資格解説 アセスメント デジタルビジネス ヒューマンスキル リーダーシップ 人気コースランキング 大喜利 部下の育成 Conversations DX人材育成 PMの心得 キャリア グローバル人材 新入社員研修といえば IoT OJT reinvent2022 リスキリング CCNP Security Windows PowerShell クリエイティビティ プログラミング 人材トレンド 試験対策問題 PMP試験対策一問一答 コーチング プロジェクト プロトタイプビルダー 1on1 AI人材 AWS_DiscoveryDay AWSトレーニングイベント GCP無料セミナー Google Cloud Google Cloud Platform G検定 ITインフラ oVice アワード クリティカルシンキング サンプル問題 ステークホルダー ダイバーシティ ディープラーニング ワーケーション 自律 試験Tips Linux PMI Power Platform Python Teams Web会議 jawsdays2024 kintone