IT・技術研修ならCTC教育サービス

サイト内検索 企業情報 サイトマップ

研修コース検索

コラム

Inst. Tech View

CTC 教育サービス

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes 

第39回 PowerShellスクリプトの作成 2014年7月

 今回のInst. Tech Viewは、PowerShellスクリプトについての話題です。

 以下の話題に関連した内容となりますので、下記コラムをご一読いただけますとより理解が深まります。

 第33回 Windows PowerShell

 PowerShellはマイクロソフトのコマンドラインシェルですが、スクリプト言語としても利用することができます。スクリプトとは、実行したい一連のコマンドを記述したテキストファイルです。日常的に行う繰り返しの操作をスクリプト化することにより、時間短縮や人為的な操作ミスを減らすなどの効果があります。

 スクリプトの作成には任意のエディタを使用でき、簡単なスクリプトであればメモ帳(notepad.exe)でも作成することが可能です。統合スクリプト環境としては、ISE(Integrated Script Environment)がPowerShellに標準搭載されています。ISEはエディタ、デバッガなど、スクリプティングに必要なツールがまとまっています。構文が色分けされて表示されるため視認性に優れており、タブ補完によるコードの記述も可能です。またデバッグ機能がついており、ブレークポイントの設定やステップ実行を行うこともできます。

管理スクリプトを作成する大まかな流れは、以下のとおりです。

  1. シェルでコマンドレットを実行し、動作を確認
  2. 動作確認をした一連のコマンドレットをスクリプトファイルに記述
  3. 変数、パラメータを使用して汎用化
  4. エラー処理、ログ生成等、実運用レベルのスクリプトに改良
  5. 社内で共有
  6. PowerShellスクリプトは意図しない実行を防ぐため、既定でセキュアな設定になっています。

 第一に、PowerShellスクリプトファイルの拡張子である「.ps1」は、実行可能なファイルとして関連付けがされておらず、ダブルクリックでは実行されません。PowerShellコマンドウィンドウ(Powershell.exe)を起動し、スクリプトファイルのパスを入力して実行します。スクリプトファイルをPowerShellコマンドウィンドウにドラッグ&ドロップすると絶対パスが入力されますので、上手に活用してください。

 またPowerShellコマンドウィンドウにて、cdコマンドで.ps1ファイルがあるディレクトリに移動してから実行する場合、ファイル名だけの入力ではなく相対パスの形式(.\)で実行する必要があります。

 ○ .\aaa.ps1
 × aaa.ps1

 第二に、既定の状態では「実行ポリシー」により、スクリプトの実行は許可されていません。実行ポリシーは5種類用意されています。

Restricted:既定のポリシーです。スクリプトの実行を許可しません。AllSigned:デジタル署名のあるスクリプトのみ実行を許可します。RemoteSigned:スクリプトがローカルにある場合は実行を許可しますが、ネットワーク上にある場合はデジタル署名がないと実行を許可しません。
Unrestricted:スクリプトがローカルにある場合は実行を許可しますが、ネットワーク上にある場合は実行時に警告を表示します。
Bypass:全てのスクリプトを警告なしで実行許可します。

 現在の設定を確認するには、「Get-ExecutionPolicy」を実行します。また、「Set-ExecutionPolicy (実行ポリシー名)」を使用して設定を変更できます。

 今回の話題は以上となります。

 最後に告知となりますが、CTC教育サービスではPowerShellを使用してWindows Serverを管理するための基礎的な知識とスキルを学習するトレーニングコースを開催しております。
皆様のご受講を、心よりお待ちしております。

■■■ コースの詳細情報はこちら ■■■  ※価格はメルマガ配信時点の価格です。

P718: Windows PowerShell による管理の自動化(Windows Server 2012対応)
期間:2日間
価格:\90,000(税抜)

CTC教育サービスのトレーニングを今後ともよろしくお願いいたします。

 


 

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes