【PowerShell入門】簡単3ステップでプログラミングを実行してみよう

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る
                   

「プログラムって何?よくコードのサンプルは見るけれど、実際どうやったら動くのかわからない。コーディングして実際にプログラムを動かすプログラミングの一連の流れを知りたい。」というプログラミング初心者の方、あるいはPowerShellを勉強しているというPowerShell入門者の方向け。
プログラミングの流れはたったの3ステップ。PowerShellを使ったプログラミングで解説します。

スポンサーリンク

本記事は下記の5本立てです。

本記事の内容

  • 【PowerShell入門】PowerShellとは?
  • PowerShellを学ぶメリット、できること
  • 【PowerShell入門】簡単3ステップでプログラミングを実行してみよう
  • 複数行のPowerShellをコーディングしたい場合
  • 保存したファイルから実行するとエラーが出る原因と解決法

【PowerShell入門】PowerShellとは?

まず最初に「PowerShellとは何ぞや?( ゚д゚)ポカーン」を簡単に解説します。

PowerShellはMicrosoftが提供するWindowsシステム管理用のソフトウェアです。

使用言語はPowerShellというスクリプト言語(アプリケーションを作成するための簡易プログラミング言語)。

Windows7以降のOSにデフォルトで入っているので、Windows7以降を利用しているユーザーは誰でも使えます。

PowerShellを学ぶメリット、できること

Windowsの操作をほぼなんでも自動化できることが最大のメリット。

例えば…

  • スクショした画像を自動で保存する
  • テキストの中にNGワードがないかチェックする
  • メールの大量一斉送信
  • WindowsUpdateによる再起動と更新プログラムインストールの自動化

などなど。

Windowsを使って業務をしている会社は業務を自動化して効率化できます。

【PowerShell入門】簡単3ステップでプログラミングを実行してみよう

  1. PowerShellを起動する
  2. プログラムコードを書く(コーディング)
  3. プログラムを実行する

たったのこれだけです。

では実際にやってみましょう。

PowerShellを起動する

左下にある『Windowsメニュー』→『Windows PowerShell』→『Windows PowerShell』の順にクリック。

PowerShellを起動する方法その1

メニューにない場合、見つからない場合は、左下の検索ウィンドウに「PowerShell」と入力すれば出てきます。

PowerShellを起動する方法その2

クリックすると、PowerShellが起動します。

PowerShellを起動する

プログラムコードを書く(コーディング)

簡単なプログラムコードを書いてみましょう。

下記コードをそのままPowerShellに書き込んでみて下さい。

echo "初めてのPowerShellに挑戦!"

『「初めてのPowerShellに挑戦!」と表示せよ。』という命令です。

もっと詳しく解説すると…

『echo』は、表示させるためのコマンド。
『”(ダブルクォーテーション)』”プログラミング”のようにダブルクォーテーションで囲うことで、システムに「これは文字列ですよ」と教えてあげる。

です。

プログラムを実行する

プログラムコードを入力したら、リターンキーを押下します。

すると、プログラムが実行されて、『初めてのPowerShellに挑戦!』が表示されます。

PowerShell実行結果

簡単ですね^^

複数行のPowerShellをコーディングしたい場合

実際プログラムでシステムを作ろうとした場合、先ほどの例のように、コーディングが1行で「はい、終わり!」という場合はほぼ皆無。

システムによっては何百、何千行というコーディングになる場合があります。

ちなみに元SE・プログラマーの私のシステムエンジニアデビュー初めての実務は、何千行にもわたるVB.NETというプログラミング言語で書かれたコードの修正でした。

このように複数行にわたるコーディングの場合は、

  1. Windows PowerShell ISEを起動。
  2. Windows PowerShell ISEにコーディング。
  3. Windows PowerShell ISEでプログラムを実行。

という3ステップがプログラミングの流れになります。

ではこれも実際にやってみましょう。

Windows PowerShell ISEを起動

左下にある『Windowsメニュー』→『Windows PowerShell』→『Windows PowerShell ISE』の順にクリック。

Windows PowerShell ISEを起動する方法その1

メニューにない場合、見つからない場合は、左下の検索ウィンドウに「PowerShell ise」と入力すれば出てきます。

Windows PowerShell ISEを起動する方法その2

クリックすると、Windows PowerShell ISEが起動します。

PowerShell ISEを起動する

ソースコードを書くためのエディタを開くため、下記『新規作成』ボタンをクリックします。

これでソースコードを書く準備が整いました。

PowerShellスクリプト新規作成

Windows PowerShell ISEにコーディング

今度は、『「あなたの行ってみたい国はどこですか?」と質問して、相手が答えた国について「あなたの行ってみたい国は〇〇ですね。私も行ってみたい!」と表示する』というプログラムをコーディングしてみましょうか。

上記処理をPowerShellで実現するコーディングは以下の通りです。

$question = Read-Host "あなたの行ってみたい国はどこですか?"
$answer = "あなたの行ってみたい国は" + $question + "ですね。私も行ってみたい!" 
echo $answer

Windows PowerShell ISEにコーディング

さあ、次の項目でいよいよプログラム実行です!

サンプルコードの解説

今回はWindows PowerShell ISEの使い方を解説しているのでそのまま進んでもいいのですが、「いやいや、上のコードの解説もしてくれよ( ゚д゚)ポカーン」という方のために、解説します。

1行目:$question = Read-Host “あなたの行ってみたい国はどこですか?”

『$』は変数定義です。
『$question』で、「『question』という名前の変数を定義します」という意味です。
変数の名前なので『question』じゃなくても『inputcountry』なんでもOKです。任意の変数名を設定します。

『Read-Host』は標準入力。
『$question = Read-Host 』とすることで、ユーザーの入力値を変数『question』に格納しています。

『”あなたの行ってみたい国はどこですか?”』がシェルに表示されます。
これを表示することでユーザーに「あ、国名を入力すればいいのね。」と入力を促すことができます。

2行目:$answer = “あなたの行ってみたい国は” + $question + “ですね。私も行ってみたい!”

『$question 』には1行目で受け取ったユーザーの行きたい国名が格納されています。

『+』は文字列の連結を表します。
2行目のコードだけ見るとややこしいですが、わかりやすく置き換えると3つの文字列を連結するように指定しています。
・文字列A + 文字列B + 文字列C
連結した結果を『answer』という変数に格納しているんですね。
『answer』の中には「文字列A文字列B文字列C」と結合された文字列が格納されています。

3行目:echo $answer

これはもうおわかりですね。
「『answer』の中に格納されている文字列を表示せよ」という命令です。

スポンサーリンク

Windows PowerShell ISEでプログラムを実行

さあ、ではお待たせいたしました!

いよいよプログラムを実行してみましょう。

緑の『▶』マーク(スクリプトを実行)をクリックします。

Windows PowerShell ISEでプログラムを実行

下記赤枠部分がプログラムのソースコード部分です。

Windows PowerShell ISEのソースコードが表示される

プログラム実行結果が下記の赤枠部分。

Windows PowerShell ISE実行結果その1

正しくはまだプログラムは全て実行済みではないですね。

ソースコード1行目のプログラムで相手の入力を促しているので、相手の入力を待っている状態です。

では、あなたの行ってみたい国を入力してみてください。

私は「エジプト」と入力してみました^^

Windows PowerShell ISEでプログラムを実行中

入力したらリターンキーを押下します。

Windows PowerShell ISE実行結果その2

「あなたの行ってみたい国はエジプトですね。私も行ってみたい!」と表示されましたね^^

保存したファイルから実行するとエラーが出る原因と解決法

先ほど記述したコードを「sample.ps1」というファイル名で保存しましょう。

ファイルの保存は下記ボタンをクリックですることができます。

PowerShellの保存

PowerShellのソースコードファイルが保存できました。

保存できたPowerShell

保存した直後にもう一度緑の『▶』マーク(スクリプトを実行)をクリックしてプログラムを実行してみましょう。

保存したPowerShellの実行

すると、なんと!!下記エラーが出てプログラムが実行できない!!

PowerShellの実行エラー

「なんで!?Σ(゚Д゚)」とびっくりしますよね。

私も始めてみたときはたまげました。

だって、コード一切変えてないのに、ファイルを保存した途端、プログラムが実行エラーになるんですもの。

プログラム実行エラーの原因

Windowsにデフォルト搭載されているPowerShellですが、Windowsの初期設定ではPowerShellのスクリプトの実行ポリシーがデフォルトでは無効になっているんです。

ファイルを保存する前はただのコマンドのみでしたが、ファイルを保存することで拡張子「.ps1」がついたことにより、Windowsが「あ!PowerShellのスクリプトを実行しようとしてやがるな!こんにゃろう!」と気が付いてしまったのです。

シェル(PowerShellの画面)からのソースコードの実行は可能だけれど、スクリプトの実行は不可なんですね。

PowerShellの現在の実行ポリシーを確認してみましょう。

シェル上に、下記コマンドを入力します。

Get-ExecutionPolicy

PowerShellの現在の実行ポリシーの確認

『Restricted』がスクリプト実行無効の状態です。

デフォルトで無効になっている理由は、セキュリティのためです。

PowerShellはWindowsのシステムに影響するプログラムの実行が可能なため、PowerShellを悪用したウイルスやハッカーによって攻撃されるのを防ぐためです。

PowerShellのスクリプトを実行するためには、実行ポリシーを変更すればOKです。

今回のPowerShell起動中に限って、スクリプト実行を可能にします。

下記コマンドをシェルに入力します。

Set-ExecutionPolicy RemoteSigned -Scope Process

なんだか恐ろしいメッセージが表示されますが、「はい」をクリックします。

PowerShell実行ポリシーの変更

それではもう一度下記コマンドを入力して、実行ポリシーが変更できたかどうかを確認します。

Get-ExecutionPolicy

PowerShellの実行ポリシーがRemoteSignedに変更されたことを確認

RemoteSigned となっています。

RemoteSigned の状態で、ローカル上のスクリプトの実行が可能になります。

この状態で、緑の『▶』マーク(スクリプトを実行)をクリックしてプログラムを実行してみましょう。

PowerShell実行ポリシーをRemoteSignedに変更後スクリプトを実行

プログラムが実行できましたね^^

まとめ

それでは今回の記事のまとめです。

まとめ
PowerShellはMicrosoftが提供するWindowsシステム管理用のソフトウェア。
Windows7以降デフォルト装備、だれでも使える。
Windows PowerShell ISEを使ったプログラミングのステップは下記5ステップ。

  1. Windows PowerShell ISEを起動。
  2. Windows PowerShell ISEにコーディング。
  3. スクリプトを保存
  4. Windows PowerShellの実行ポリシーを『RemoteSigned』に変更
  5. スクリプトを実行

今回のPowerShell記事は、会社で必要になったため、自分自身の備忘録として記事にしようと思ったのがきっかけ。

私も「PowerShell?何それ?おいしいの?(°∀°)?」という状態でしたwww

せっかく勉強したのでPowerShell初心者へ向けた内容にしようかと思ったのですが、プログラミングに興味のある方が「プログラミングとは何ぞや?」というのがわかるような内容にしてみようかなと思ってまとめてあります。

プログラミングの仕組みはほとんどの言語で同じなので、この記事理解してもらえれば、仕組み、考え方は他の言語でも応用可能。

なので、PowerShell初心者の方はもちろん、プログラミング初心者の方にもプログラミング入門として勉強になる内容ですよ^^

さて、私も10年以上ぶりの仕事としてのプログラミング、頑張るぞい♪

元SE・プログラマーのゆかこでしたノシ

スポンサーリンク

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

SNSでもご購読できます。

コメントを残す

*