3
1

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 1 year has passed since last update.

初心者でもかんたん♪ Powershell

Posted at

Powershell 基礎

お手軽に何か新しい言語を学びたいな。
簡単に学べて、
面倒な実行環境など不要で、
化石になっていない言語とかがいいな・・・。

→PowerShellをオススメします!!!!!

PowerShellは、Microsoftが開発した言語。
(=Windowsであれば大体使える、Linuxだと動作が少し怪しいところある)
Windowsユーザであれば、誰でも簡単に開発できます。

Powershellを実際に動かしてみる

1.デスクトップにメモ帳を置く
 スクリーンショット 2022-03-19 101957.png

2.ファイル名、拡張子を変える。
test.ps1
 スクリーンショット 2022-03-19 102054.png

3.ソースを記述する
実行環境1:(メモ帳)★とりあえず動かしてみたい人向け

メモ帳に以下を記述して保存する。
 Write-Host("Hello")
 Read-Host("end")

[ 解説 ]
 Write-Host
   コンソール出力します。

 Read-Host
   コンソールを勝手に閉じないようにします。
   Enterなどを押すとコンソールが閉じます。

 スクリーンショット 2022-03-19 103155.png

4.PowerShell実行
test.ps1を右クリック→PowerShellで実行をクリック

 スクリーンショット 2022-03-19 103628.png

結果
 スクリーンショット 2022-03-19 105042.png

〇実行権限などでエラーが出る場合
(1)私用PCで、自分が作ったPowerShellを実行する場合
 スクリーンショット 2022-03-19 105718.png

PowerShellを選択し、起動させます。
 スクリーンショット 2022-03-19 105834.png

実行ポリシーの変更の変更を行う。
 Set-ExecutionPolicy RemoteSigned 
(Ctrl + C でコピーして、PowerShell上で右クリックで貼り付け)

実行ポリシーは、信頼されていないスクリプトからの保護に役立ちます。実行ポリシー を変更すると、about_Execution_Policiesのヘルプ トピック (https://go.microsoft.com/fwlink/?LinkID=135170)
で説明されているセキュリティ上の危険にさらされる可能性があります。実行ポリシーを変更しますか?
[Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は "N"): y

yを押してEnterを押す。

(2)業務環境である場合
PowerShellの実行を許可しても良いか、上司に確認を取ってください。
確認を取った上で、(1)を実行してください。

---参考---
Restricted
   ★WindowsクライアントPCデフォルト設定
   PowerShellの実行:許可しない 
   インターネット:デジタル署名必要あり。
   ローカル:署名必要あり。
RemoteSigned
   ★WindowsサーバPCデフォルト設定
   PowerShellの実行:許可
   インターネット:デジタル署名必要あり。
   ローカル:署名必要なし。
  AllSigned  
   PowerShellの実行:許可      
   インターネット:デジタル署名必要あり。       
   ローカル:署名必要あり。
Unrestricted
   PowerShellの実行:許可 
   インターネット:デジタル署名必要なし。
   ローカル:署名必要なし。
Bypass
   ★何もブロックされず、警告やプロンプトは表示されない。
   PowerShellの実行:許可
   インターネット:デジタル署名必要なし。
   ローカル:署名必要なし。

Powershellの世界に、さらに踏み込む

PowerShellは癖が強い!!:disappointed_relieved:
でも、その分愛着も沸きます。
もう少し、いろんなことしてみます。

#コメントはこう書きます。
#[String] 文字列型定義(なくても良い)
#private privateスコープ(なくても良い)
#コメントはこう書きます。
[String]$private:power = "Power"
[String]$private:shell = "Shell"

[int]$private:one = 1
[int]$private:two = 2

$powershell = $power + $shell
$type = $powershell.GetType()
Write-Host($powershell)
Write-Host("文字列: " + $type)

$three = $one + $two
$type = $three.GetType()
Write-Host($three)
Write-Host("数値: " + $type)

Read-Host("end")

日本語の文字化けを防ぐために、UTF8(BOM付き)にします。
名前を付けて保存 → 文字コードをUTF8(BOM付き)

スクリーンショット 2022-03-19 114656.png

test.ps1を右クリック→PowerShellで実行をクリック
 スクリーンショット 2022-03-19 103628.png

結果
  スクリーンショット 2022-03-19 120418.png

:angel: Powershell雑談

#パターン1
[String]$private:power = "Power"

#パターン2
[String]$power = "Power"

#パターン3
$private:power = "Power"

#パターン4
$power = "Power"

これって、言ってしまえばほぼ同じ。
型無しでもよいし、privateスコープを付けずに
どこから参照できるようにしても良いのです。

打つ量が減るので、パターン4が1番良くない?と思いますか・・・?
私は、開発するのであれば「パターン1」の書き方が一番好ましいと思います。
開発規模によると思いますが、プログラムが長くなればなるほど「型」が重要になります。
可読性、後々の修正コストを考えて、型やスコープを明記することをお勧めします。

最後に

Powershellの技術を身に着けて、損はないと思います。
インストール制限が厳しい現場で、Powershellを使うという選択肢もあるのではないでしょうか。
プログラミングはじめましての方にも、複雑な実行環境が不要なので
挑戦しやすいのではないかな、と思います。

次回、私の気力があれば、 Powershellでエクセルを操作する入門編の記事を書きたいと思っています。

■参考文献
https://docs.microsoft.com/ja-jp/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.2

3
1
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
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?