11
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

インフラ勉強会 Advent Calendar 2018 :star2: 6日目の記事です!

自己紹介

aochan と申します。
非IT企業のヘルプデスク & Windows クライアントPCの雛形作成・管理をしています。転職した日に客先に一人放り込まれ、未経験で技術的なことを学ぶ機会がない(引継ぎ資料もない!)現場に配属され絶望していたところをインフラ勉強会に救われた人です。

インフラ勉強会はいいぞ(宣伝)

オフラインイベントで「PowerShellワカラナイからセッションやってほしい」と言ったら、激強エンジニアさんがすぐにオンラインのインフラ勉強会でセッションしてくださいました。
初心者に優しいインフラ勉強会。非営利のコミュニティなのにこのスピード感と技術力。感謝しかありません。
ヘルプデスクなので、あまり専門性は必要とされない職種なのですが、ただ楽しくて参加してるふしがあります。インフラエンジニアでなくてもとても勉強になるコミュニティです。

##本題:PowerShell で ”Hello World” を表示させよう
インフラ勉強会の「PowerShellことはじめ」セッションで学んだ内容のアウトプットです。

###使用環境
Windows 10 Pro ver.1809
PowerShell ver.5.1.17763.134

###まずは PowerShellのエディタを起動
PowerShellの開発環境はWindowsに標準装備されています。自分で構築する必要がないので楽チンです。
「Windows PowerShell ISE」を起動します。64bit版OSだと、32bit版と64bit版の両方がインストールされているので、何もなければ64bit版を起動します。
PS01.png

メッセージボックスで”Hello World”

たった2行です。簡単すぎてすみません。

helloWorld

Add-Type -Assembly System.Windows.Forms
[System.Windows.Forms.MessageBox]::Show("Hello World!!", "ハロー")

PS02.png

1行目:Add-Type -Assembly

PowerShellでは.NET Frameworkのライブラリを使用することができますが、数が膨大なので読み込まないと使えない機能があります。ここではWindowsのメッセージボックスを使うために、.NETアセンブリをメモリに読み込む処理を行います。

2行目:[System.Windows.Forms.MessageBox]::Show

MessageBoxクラスは 静的クラス なので、以下のように記述します。

# [クラス名]::メソッド名

参考:静的なクラスとメソッドの使用

###Showメソッドのパラメーター

Show(text, title, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton)

パラメーター
text 文字列
title 文字列
MessageBoxButtons OK, OKCancel など *1
MessageBoxIcon Information, Warning など *1
MessageBoxDefaultButton Button1, Button2 など *1

*1:省略可

###ダブルクリックで実行できるように、ファイルに保存

コマンドを白いエディタの部分に書いて保存します(拡張子は.ps1)。
PS03.png

ダブルクリックすると…あれ?スクリプトなのにメモ帳が開く??

###PowerShellの実行ポリシー
PowerShellはデフォルトだと全てのスクリプトの実行が禁止されています。バッチファイルのようにダブルクリックで実行するにはレジストリを変更する必要があるのですが、常に実行を許可するのはセキュリティ上よくないです。実行するスクリプトだけ一時的に許可する方法は、以下の記事がとても参考になります。

PowerShellのExecutionPolicyのスコープとかについて詳しく -Qiita

###ショートカットを作ってダブルクリックで実行

Hello.ps1 のショートカットを作成し、プロパティのリンク先を以下のように変更、作業フォルダーは空欄にします。

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy RemoteSigned -File Hello.ps1

aru01.png

実行時の大きさを最小化しておくと、黒い画面が開かなくてよい感じになりました!

###参考リンク

11
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?