Powershell 基礎
お手軽に何か新しい言語を学びたいな。
簡単に学べて、
面倒な実行環境など不要で、
化石になっていない言語とかがいいな・・・。
→PowerShellをオススメします!!!!!
PowerShellは、Microsoftが開発した言語。
(=Windowsであれば大体使える、Linuxだと動作が少し怪しいところある)
Windowsユーザであれば、誰でも簡単に開発できます。
Powershellを実際に動かしてみる
3.ソースを記述する
実行環境1:(メモ帳)★とりあえず動かしてみたい人向け
メモ帳に以下を記述して保存する。
Write-Host("Hello")
Read-Host("end")
[ 解説 ]
Write-Host
コンソール出力します。
Read-Host
コンソールを勝手に閉じないようにします。
Enterなどを押すとコンソールが閉じます。
4.PowerShell実行
test.ps1を右クリック→PowerShellで実行をクリック
〇実行権限などでエラーが出る場合
(1)私用PCで、自分が作ったPowerShellを実行する場合
実行ポリシーの変更の変更を行う。
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は癖が強い!!
でも、その分愛着も沸きます。
もう少し、いろんなことしてみます。
#コメントはこう書きます。
#[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付き)
test.ps1を右クリック→PowerShellで実行をクリック
Powershell雑談
#パターン1
[String]$private:power = "Power"
#パターン2
[String]$power = "Power"
#パターン3
$private:power = "Power"
#パターン4
$power = "Power"
これって、言ってしまえばほぼ同じ。
型無しでもよいし、privateスコープを付けずに
どこから参照できるようにしても良いのです。
打つ量が減るので、パターン4が1番良くない?と思いますか・・・?
私は、開発するのであれば「パターン1」の書き方が一番好ましいと思います。
開発規模によると思いますが、プログラムが長くなればなるほど「型」が重要になります。
可読性、後々の修正コストを考えて、型やスコープを明記することをお勧めします。
最後に
Powershellの技術を身に着けて、損はないと思います。
インストール制限が厳しい現場で、Powershellを使うという選択肢もあるのではないでしょうか。
プログラミングはじめましての方にも、複雑な実行環境が不要なので
挑戦しやすいのではないかな、と思います。
次回、私の気力があれば、 Powershellでエクセルを操作する入門編の記事を書きたいと思っています。