PowerShell

【PowerShell】PowerShellの紹介と使い方について

2018年5月13日


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 が使われていると思います。

 

  1. GUI より早くタスクを完了させる事ができるという点です。ここがとても重要かと思います。例えばタスクスケジューラーから 100 個タスクを作成するとします。GUI でひとつずつ実施すると非常に時間がかかりますよね。
  2. 監査という点でも良いと思われます。PowerShell で作ったタスクを「いつ、どのユーザーが、何のタスクを実行したか」や、結果やエラー内容が分かります。
  3. タスクの自動化や監査で見える化をする事により、システム管理を改善する事ができます。(上の 1 と 2 とまとめた感じですかね)
  4. タスクスケジューラーで実行ステータスを確認する事ができますので、リアルタイムに管理する事ができます。
  5. 大規模の環境でも管理する事ができます。

 

 

 

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

https://docs.microsoft.com/ja-jp/powershell/scripting/setup/windows-powershell-system-requirements?view=powershell-6

 

 

では、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. 実行画面から直接入力して実行する(直接入力するだけなので操作方法は省略します。)

 

 

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 製品以外でも活用する事ができますので、活用している企業も増えてきているかと思われます。

 

では最後までお読みいただきありがとうございました!

 

 

おすすめの本はこちら ↓↓↓

 

  • この記事を書いた人

そーまん

セキュリティエンジニアやってます。
ブログ歴3年。PVは月15万PV程度。
趣味はボクシング、筋トレ、登山です。
穏やかで人見知りな性格です。

人気記事

1

こんにちは!そーまんです。 今回は、PC に適用されている GPO を確認する方法について書きました。 本題に入る前に、一応参考までにGPOの適用タイミングについての記事をここに貼りましたので、必要に ...

2

こんにちは!そーまんです。 今回は sysprep について、全体的に PC をセットアップする観点から書いてみました。長々と書いてあります。まずは前置きからです。 まずはじめに 組織では PC のラ ...

3

こんにちは!そーまんです。 今回は、グループポリシー (GPO) を使って、特定のコンピューターに対して、ドメインユーザーに ローカル管理者権限 (以下は特権と記載) を付与する方法について書きました ...

4

こんにちは!そーまんです。 今回は、Windows サインイン後に一時ユーザープロファイルが読み込まれてしまった場合の解決方法について書きました。 Windows 10 の検証環境をいじってたらサイン ...

5

こんにちは!そーまんです。 今回は、ユーザープロファイルを削除する方法について書いてみました。 企業の場合よくあることですが、1 台の PC を共有 PC として複数人で使ったり、また余り無いかもしれ ...

6

こんにちは!SE ブログの相馬です。       今回は、繰り返し文について書いてみました。PowerShell では他のプログラミング言語同様、繰り返し処理を行うことが ...

7

コマンドを使って CPU とメモリの使用率をデータで取得してみましたので、例えば PC のトラブルシューティングで問題を再現させる際にデータを取得しておくと、原因の特定に役立つ場合があるかと思います。

8

既存の PC と同じ構成で別のメーカーの PC でマスターイメージを作る際、インストールされているアプリを同一にする為に必要になるかと思います。

9

企業で多くの GPO が適用されている環境では、PC に GPO が適用されなかったりする問題が発生する場合があるかと思います。その中でも、コンピューターの構成またはユーザーの構成のどちらかで、...

10

こんにちは!そーまんです。 今回は、Windows Server 2019 で NTP サーバーと同期する方法について書きました。 NTP サーバーの必要性や時刻同期の重要性を理解することは社内のシス ...

-PowerShell
-, ,


Warning: Trying to access array offset on value of type null in /home/r5652521/public_html/soma-engineering.com/wp-content/plugins/amazonjs/amazonjs.php on line 637

Warning: Trying to access array offset on value of type null in /home/r5652521/public_html/soma-engineering.com/wp-content/plugins/amazonjs/amazonjs.php on line 637

Warning: Trying to access array offset on value of type null in /home/r5652521/public_html/soma-engineering.com/wp-content/plugins/amazonjs/amazonjs.php on line 637