PowerShellを使ってみよう【実行ポリシーの変更】

Code

※本サイトではアフィリエイト広告を利用しております。

※本サイトではアフィリエイト広告を利用しております。

Windows PowerShell

読み方:ウィンドウズパワーシェル
別名:PowerShell
Windows PowerShellとは、Microsoftが開発したオブジェクト指向のスクリプト言語の名称である。開発コード名は「Monado」(モナド)だった。
Windows PowerShellは、.NET Frameworkの技術をベースとするスクリプト環境であり、従来のWindowsにおけるスクリプト環境であったcmd.exeやWSH(Windows Scripting Host)に比べてもはるかに柔軟で幅広い機能が利用可能となっている。
Windows PowerShellに組み込まれているコマンドは、コマンドレット(Cmdlet)と呼ばれる。コマンドレットの多くは「動詞-目的語」という方式で命名されており、それぞれのコマンドレットがどのようなオブジェクトを呼び出すのか容易に把握できる。
また、Windows PowerShellはUNIXで扱われるコマンドとの共通化などにも配慮されている他、エイリアス(別名)によって同じを複数の名前で指定できるようになっている。
Windows PowerShellは、2006年に正式に公開された。Windows XP以降のWindows系OSに対応しており、Windows Server 2008には標準で搭載されている。Windows PowerShellが使用されているアプリケーションとしてはExchange Server 2007などを挙げることができる。

Weblio辞書より引用






スポンサーリンク

スポンサーリンク

スポンサーリンク

はじめに

ここ数年、インフラ(Windows系)の仕事に従事していますと、Windows PowerShellというワードをよく耳にしました。実際に使ってみますとかなり便利です。

今回は、Windows PowerShellを使うための準備として、実行ポリシーの変更についてをまとめていきたいと思います。

便利なWindows PowerShell

Windows PowerShellが登場するまで、Windowsに対し簡易的に命令を行う場合、Windows コマンドを使用していました。
Windows コマンドを使用しているとなにかと不便に感じることが多かったと思います。例えば、うるう年を含む日付を計算する処理などがあげられると思います。
Windows PowerShellではあらかじめ関数が用意されていますので、ユーザーはうるう年などを意識することなく日付を計算することができます。
以下は、Windows PowerShellでの翌日取得処理です。

(Get-Date).AddDays(1)


例に挙げましたように、Windows Powershellは、Windows コマンドに比べて非常に便利になっています。

コマンド【command】
命令。指令。コンピューターで、処理装置に指示する特定の文字列。
キーボード入力を主とするCUIのオペレーティングシステムやアプリケーションソフトなどにおいて使われる命令語を指す。

Weblio辞書より引用


アーキテクチャ

Windows PowerShellには「32ビット版」と「64ビット版」があります。
以下に、Windows PowerShellの種類をまとめています。

名前 説明
Windows PowerShell 64ビット版のWindows PowerShell
Windows PowerShell (x86) 32ビット版のWindows PowerShell
Windows PowerShell ISE 64ビット版のWindows PowerShell 統合スクリプティング環境
Windows PowerShell ISE (x86) 32ビット版のWindows PowerShell 統合スクリプティング環境

ISE(アイス)は、Integrated Scripting Environmentの略です。Windows PowerShellの統合スクリプティング環境、開発ツールです。ISE上で実行させることで、PowerShellのデバッグが可能です。

基本的には、32ビットのアプリケーションからは、32ビット版のWindows PowerShellが呼び出され、64ビットのアプリケーションからは、64ビット版のWindows PowerShellが呼び出されます。
32ビットのアプリケーションから、64ビット版のWindows PowerShellを呼び出すことも可能です。

32ビット版のWindows PowerShellは「SysWOW64」の中に配置されています。また、64ビット版のWindows PowerShellは「System32」に中に配置されています。


OSのエディションとバージョン

今回は以下のOSエディションとバージョンをターゲットとし、PowerShellを実行いたします。

OS

エディション:Windows 10 Home

バージョン:20H2


PowerShellの実行ポリシー変更

Windows 10 HomeにてPowerShell(拡張子=「.ps1」)を実行するには、PowerShell実行ポリシーを変更する必要があります。

PowerShell実行ポリシーの変更につきましては、Microsoftのサイト「第 1 章 – PowerShell の概要」で説明されています。


Windowsのメニューから [Windows Powershell] → [Windows Powershell] を選びます。その際、ポップアップメニューから [管理者として実行する] をクリックします。

画像クリックで拡大画像を表示します

管理者として実行していない場合、PowerShellの実行ポリシーは変更できません。


Windows PowerShellが表示されます。
以下のコマンドレットを入力し、[Enter] キーを押します。

Get-ExecutionPolicy

画像クリックで拡大画像を表示します

デフォルトのPowerShell実行ポリシーは [Restricted] です。


PowerShell実行ポリシーを変更するため、以下のコマンドレットを入力し、[Enter] キーを押します。また、変更確認メッセージが表示されますので [Y] を入力し、[Enter] キーを押します。

Set-ExecutionPolicy RemoteSigned
画像クリックで拡大画像を表示します


PowerShell実行ポリシーの変更を確認するため、以下のコマンドレットを入力し、[Enter] キーを押します。

Get-ExecutionPolicy

画像クリックで拡大画像を表示します

PowerShell実行ポリシーが [RemoteSigned] に変更されています。

ISEから実行

PowerShellの実行ポリシーが変更されましたので、ISEから簡単なPowerShellスクリプトを実行してみます。

Windowsのメニューから [Windows Powershell] → [Windows Powershell ISE] をクリックします。下図では [管理者として実行する] をクリックしていますが、管理者として実行していなくてもPowerShellスクリプトを実行することは可能です。

画像クリックで拡大画像を表示します


[Hello-Powershell.ps1] を開き実行ボタン(緑色の右三角ボタンです)をクリックします。[Hello Powershell] が表示されました。PowerShellの実行ポリシーが [RemoteSigned] に変更されていますので、スクリプトが正常に実行されます。

画像クリックで拡大画像を表示します


PowerShellの実行ポリシーを変更せず [Restricted] のままスクリプトを実行した場合、実行時エラーとなります。

画像クリックで拡大画像を表示します


まとめ

ISEからPowerShellスクリプトを実行する場合は、実行ポリシーを変更してください。また、PowerShellスクリプトが実行できない場合は、実行ポリシーを確認してみましょう。しないと実行時エラーとなります。必ず、実行ポリシーを変更しましょう。

なお、PowerShellの実行ポリシーの種類に関してましては、Microsoftのサイト「実行ポリシーについて」を確認してください。


最後までお読みいただきありがとうございます。


では。



スポンサーリンク

スポンサーリンク

Code
スポンサーリンク
たまおをフォローする
スポンサーリンク
タイトルとURLをコピーしました