Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548
Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548
Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548
Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548
こんにちは!
今回は PowerShell が何なのか、どうやって使うのかという事について、簡単にまとめてみました。
今後は PowerShell の記事も増やしてゆきたいと思いますので、体系的にまとめられればと思い、まず概要から書いてみました。
PowerShell を使った事が無い方は、まずはこちらを読んでくだると幸いです。
では早速説明から入ってゆきます。
PowerShell の概要
PowerShell とは
Microsoft が提供するタスクベースのコマンドラインの shell で、オブジェクトベースのスクリプト言語になります。
主にシステム管理にデザインされており、システム管理者やパワーユーザーがタスクを自動化する為によく使われています。
PowerShell の歴史
PowerShell は 2006 年に登場し、バージョンは PowerShell 1.0 としてリリースされました。
当時の対象 OS は Windows XP SP2 や Windows Vista、Windows Server 2003 SP1 でした。
PowerShell のバージョンについては Wikipedia に詳しく書いてあります。
Windows PowerShell | Wikipedia
https://ja.wikipedia.org/wiki/Windows_PowerShell
PowerShell が登場する前は、コマンドやバッチ、 Visual basic script が使用されていました。
Unix 系では shell が使われていましたが、Windows ではそういったものがありませんでした。
そういう意味では PowerShell は Microsoft 初の shell という事になります。
何故、PowerShell が使われているのか
PowerShell を使う理由は色々あるかと思いますが、私は以下の理由によって PowerShell が使われていると思います。
- GUI より早くタスクを完了させる事ができるという点です。ここがとても重要かと思います。例えばタスクスケジューラーから 100 個タスクを作成するとします。GUI でひとつずつ実施すると非常に時間がかかりますよね。
- 監査という点でも良いと思われます。PowerShell で作ったタスクを「いつ、どのユーザーが、何のタスクを実行したか」や、結果やエラー内容が分かります。
- タスクの自動化や監査で見える化をする事により、システム管理を改善する事ができます。(上の 1 と 2 とまとめた感じですかね)
- タスクスケジューラーで実行ステータスを確認する事ができますので、リアルタイムに管理する事ができます。
- 大規模の環境でも管理する事ができます。
PowerShell のシステム要件・インストール
OS の要件
Windows Server 2016 や Windows 10 では、PowerShell が初期状態でインストールされて使えます。
Windows Server 2012 R2 / Windows 7 では、Windows Management Framework をダウンロードしてインストールする必要があります。
-
Windows Server 2016 / Windows 10 (既定でインストール済み)
-
Windows Server 2012 R2 / Windows 7 (Windows Management Framework 5.0 をインストールして Windows PowerShell 5.0 を実行します
Microsoft .NetFramework の要件
- Windows PowerShell 5.0 には Microsoft .NET Framework 4.5 のフル インストールが必要です。
- Windows 8.1 と Windows Server 2012 R2 には、既定で Microsoft .NET Framework 4.5 が付属しています。
- Windows PowerShell 4.0 には Microsoft .NET Framework 4.5 のフル インストールが必要です。
- Windows 8.1 と Windows Server 2012 R2 には、既定で Microsoft .NET Framework 4.5 が付属しています。
詳細については、Microsoft の以下のリンクで確認できます。
Windows PowerShell のシステム要件 | Microsoft
では、PowerShell を実際使ってみましょう!
PowerShell の使い方
以下は Windows Server 2016 を基に使っています。Windows 10 も基本的には同じ画面で使えると思います。
PowerShell の起動
1. スタートメニューをクリックし、[ファイル名を指定して実行] をクリックします。
2. powershell と入力して Enter キーを押します。
3. PowerShell のウィンドウが表示されます。
PowerShell のバージョン確認
PowerShell のバージョンを確認する事ができます。
現在( 2018 年 5 月時点ではバージョンは 5.1 が最新となっています。)
[code language="powershell"]
PS C:\Users\Administrator> $PSVersionTable
[/code]
ここでは、PowerShell のバージョンが 5 である事が確認できます。
PowerShell のバージョンが古い場合は、以下のリンクから PowerShell をダウンロードして、バージョン 5.1 にする事ができます。
Windows Management Framework 5.1 | Microsoft
https://www.microsoft.com/en-us/download/details.aspx?id=54616
それでは、PowerShell のコンソールではない、PowerShell ISE を使ってみましょう。
PowerShell ISE とは
Windows PowerShell のホスト型アプリケーションになります。コマンドを実行・編集・テスト・デバッグを GUI 上で使えます。
PowerShell ISE の利点
PowerShell ISE は PowerShell を使うという点では全く同じですが、コンソール画面とは使える機能が異なります。
- コピーや貼り付け
コンソールでコマンドをコピーする事は意外と面倒です。PowerShell ISE であれば、エディタ内にある必要なコマンドを テキストエディタのようにコピー・張り付ける事もできます。
- コンソール画面へのスイッチ
必要な時にボタンをクリックすれば、コンソールを起動する事ができます。
- 入力補完
コマンドを入力すると、コマンドやパラメーターの候補が表示されます。
- Syntax highlighting
Syntax highlight(シンタックスハイライト) の機能があります。
テキストエディタの機能であり、テキスト中の一部分をその分類ごとに異なる色やフォントで表示する事ができますので視認性において優れています。
- タブ機能
処理内容によって、タブを切り替える事ができ、管理がしやすくなります。
- 拡大表示機能
エディタや実行画面のサイズを変更する事ができますので、文字が大きくしたい場合や処理内容をフォーカスしたい場合に便利です。
PowerShell ISE でコマンドを使う
それでは PowerShell を実際使ってみましょう。
1. スタートメニューをクリックし、[ファイル名を指定して実行] をクリックします。
2. powershell_ise と入力して Enter キーを押します。
3. PowerShell ISE が起動します。
PowerShell ISE でコマンドを実行する
それではコマンドを実行しましょう。
実行方法は主に 2 種類あります。
- エディタから入力して実行する(以下に操作方法を書きました。)
- エディタ内の処理を全て実行する
- 指定した処理のみ実行する
- 実行画面から直接入力して実行する(直接入力するだけなので操作方法は省略します。)
1. エディタの場合は、まずはエディタに処理内容を入力します。
2. 実行ボタンは 2 あります。
スクリプトエリアにある処理を全て実行する方法と、指定したスクリプトのみ実行する方法があります。
左のボタンがスクリプトエリアにある処理を全て実行する
右のボタンが指定したスクリプトのみ実行する
3. 左のボタンを押すと、エディタ内の処理が全て実行されます。
4. 右のボタンの場合は、実行したい処理内容の行をクリック(または選択)してから、ボタンを押すと実行されます。
PowerShell ISE を活用する①
上記以外にも、PowerShell ISE には活用できる機能があります。
ここでは、PowerShell ISE の GUI を活用、ローカルコンピューターの サービスを一覧表示してみます。
1. エディタに Get-Service と入力し、上メニュー内の [コマンド ウィンドウの表示] をクリックします。
2. Computer Name に localhost と入力します。
3. ここで [実行] をクリックしますと、以下の処理が実行されます。
ここでは、[コピー] をクリックして、エディタに張り付けたいと思います。
[code language="powershell"]
PS C:\Users\Administrator> Get-Service -ComputerName localhost
[/code]
4. エディタに Ctrl + V で張り付けました。ここでも処理内容が確認できますので、内容を確認してから実行したい場合はこの方法が良いですね。
PowerShell ISE を活用する②
今度は、GUI のコマンド一覧からコマンドを検索して、処理を作る方法をやってみたいと思います。
1. 画面右側を使います。モジュールは [すべて] になっている事を確認します。
2. モジュールの [すべて] をクリックし、一覧の中から [ActiveDirectory] を選択します。
3. すると、下に Active Directory で使える PowerShell の一覧表示されます。
4. 名前のところにはコマンドを入力します。ここでは "Get-ADC" と入力すると、コマンドの候補一覧が表示されます。
5. 一覧コマンドをクリックしますとコマンドの説明が表示されます。
選択して、コピーし、エディタに張り付けて処理内容を継続して書く事が可能です。便利ですね。
いかがでしょうか。
PowerShell が使えるようになると、システム管理が楽になりますし、現在は Windows 以外にも System Center など様々 Microsoft の製品や、また Citrix や VMware など、Microsoft 製品以外でも活用する事ができますので、活用している企業も増えてきているかと思われます。
では最後までお読みいただきありがとうございました!
おすすめの本はこちら ↓↓↓