Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

運用構築技術者の為のPSプログラミング第1回

266 views

Published on

TW社内勉強会用の資料です。内容は自社のインフラ技術者向けのPowerShellのプログラミング基礎となっています。基本的な使い方と文法の説明が中心です。

Published in: Education
  • Be the first to comment

運用構築技術者の為のPSプログラミング第1回

  1. 1. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 PowerShellの概要と基本操作、プロ グラミング基礎(その1) Time: 2015.2.6 09:30-16:00 Room: Tokyo Office 山岡 茂治 TW社内セミナー システム運用・構築技術者のためのPowerShellプログラミング 1. PowerShell(PS)の概要 2. 利用する為の前提条件 3. PSの環境とバージョン 4. PowerShellの起動 5. PowerShellの実行① 6. PowerShellの実行② 7. コマンドレットについて 8. コマンドレットの例 9. スクリプトの記述方法 10. 変数とデータ型1 11. 変数とデータ型2 12. Write-HostとRead-Host 13. 変数と値の表現、算術演算子 14. 文字の連結、変数の演算 15. ISEを利用したデバッグ 16. 条件分岐 if 17. 条件の指定と条件演算子 18. 条件分岐の例 19. 条件分岐の練習 20. 繰り返し処理 for 21. 繰り返し処理の例 22. 繰り返し処理の練習 23. 繰り返し処理 foreach 24. テキストファイルへの出力
  2. 2. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ■PowerShellの特徴 ・コマンドプロンプト(cmd.exe)、WSHに変わる技術(シェル) ・システムの管理や運用を容易にするためのスクリプト環境 ・. NET Frameworkの技術がベースとなっている ⇒ プログラミング(C#等)と同じような複雑な処理が可能 <.NET Framework 2.0の構成> 第1回 PowerShellの概要と基本操作、プログラミング基礎(その1) 1. PowerShellの概要 .NETアプリケーション Windows アプリケーション ASP.NET Web アプリケーション コンソール アプリケーション .NET開発 VB.NET、C#、 PowerShell .NET Framework クラスライブラリ 開発や利用を容易にするための機能 共通言語ラインタイム(CLR) OS(Windowsなど) ● 共通言語ランタイムが(CLR).NETで 作成されたアプリケーションやシステムを 実行する。 ● JAVAの仕組みも似たようなもの CLR と JavaVMは同じ役割。 ● C#などは、.NET Frameworkのクラス ライブラリを利用し、システムを開発するが PowerShellも同様にクラスライブラリを利用可 TW社内セミナー システム運用・構築技術者のためのPowerShellプログラミング
  3. 3. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ■利用する為の前提条件 ・Windows Serverや各種アプリケーションサーバーの知識 ⇒ Active Directory、Exchange、SharePoint等の概念、操作 ・PowerShellを使うための最低限の知識 ⇒ コマンドレットの使い方、基本的な文法 ※各種機能については覚えるのは難しいが、ドキュメントやネット等で 効率よく調べる方法を身に着けることが重要(GoogleやTechNet) 第1回 PowerShellの概要と基本操作、プログラミング基礎(その1) 2. 利用する為の前提条件 Googleで検索 「PowerShell XXXX」 TechNetではリファレンスが 参照できる TW社内セミナー システム運用・構築技術者のためのPowerShellプログラミング
  4. 4. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ■必要な環境 ・Windows 7やWindows2008 R2では標準で組み込まれている (それ以前の環境では別途インストールが必要) ・テキストエディタ(メモ帳)、付属のPowerShell ISEで作成・ 編集が可能 ■PowerShellのバージョン ・現在 PowerShell 5.0(2.0ベース、3.0ベースが主流) ・1.0=Win2008、Vista … 初期バージョン ・2.0=2008R2、Win7 … モジュール拡張、リモート実行、ISE ・3.0=2012、Win8 … WF機能、管理ツールのコマンドレット化 ・4.0=2012R2、Win8.1 … Windows版 Chef(シェフ) 機能 ・5.0=最新バージョン … OneGet(パッケージ管理システム apt-get) 第1回 PowerShellの概要と基本操作、プログラミング基礎(その1) 3. PowerShellの環境とバージョン TW社内セミナー システム運用・構築技術者のためのPowerShellプログラミング
  5. 5. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ■PowerShellの起動 ・コマンドプロンプトと似たようなCUI ・ISEでの起動 ⇒ エディタ機能が付与 ・PowerShellは対話式で1行ずつ実行する方法と、.ps1という ファイル(テキスト形式)で実行する方法がある ※Win7やWin8等で .ps1ファイルを実行するには 「Set-ExecutionPolicy RemoteSigned」の実行が必要になる場合があります。 第1回 PowerShellの概要と基本操作、プログラミング基礎(その1) 4. PowerShellの起動 PowerShellの起動 PowerShell ISE の起動 ● ISEはエディタ機能の他に、 処理を1行ごと実行(ステップ実行) するデバッグ機能を備える ●F9でブレークポイントをセットし、 F5を押し実行し、止まったところから F10を押しながら1行ずつ動作を 確認することが可能(便利です) ●ISEのアドオンを組み込み、更に エディタ機能を拡張できます 「PowerShell ISE Add-Ons」で検索 TW社内セミナー システム運用・構築技術者のためのPowerShellプログラミング
  6. 6. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ■コンソールでの入力と実行 ・処理(コマンドレット、ステートメント)を直接入力、ENTER ・ウインドウを閉じない限り、処理結果や変数の内容は記憶される ~実行例~ PS C:Usersxxxx> $YourName = Read-Host(“お名前は=“) ↲ お名前は=: (ここで名前を入力)↲ PS C:Usersxxxx> Write-Host(“おはようございます、” + $YourName + “さん!”) ↲ おはようございます、(入力した名前)さん! ※日本語以外は半角で入力します。間違えた場合は赤字で表示されます。 第1回 PowerShellの概要と基本操作、プログラミング基礎(その1) 5. PowerShellの実行① TW社内セミナー システム運用・構築技術者のためのPowerShellプログラミング
  7. 7. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ■テキストエディタまたはPowerShell ISEの利用 ・テキストエディタまたはISEにて、処理を記述し保存。 ~入力例~ $YourName = Read-Host(“お名前は=“) ↲ Write-Host(“おはようございます、” + $YourName + “さん!”) ↲ ※日本語以外は半角で入力します。間違えた場合は赤字で表示されます。 ・実行ボタン を押して実行 ⇒ 連続して実行される。 第1回 PowerShellの概要と基本操作、プログラミング基礎(その1) 6. PowerShellの実行② TW社内セミナー システム運用・構築技術者のためのPowerShellプログラミング
  8. 8. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ■コマンドレットとは ・単一機能のコマンド群(目的に応じて用意されている) ・命名規則や使い方が統一され、パイプラインで連携できる ⇒ 取得=Get-機能XXX、更新=Add-機能XXX、Update-、Delete- ・標準で3,000以上あるため、覚えることは難しい(調べて使う) <文法> コマンド名 コマンド名 パラメータ値 コマンド名 –オプション名 オプションの値 コマンド名 –オプション名 オプションの値 パラメータ値 コマンド名 パラメータ値、オプション | 結果を受け取り実行するコマンド名… ※使い方が分からない場合は 「Get-Help コマンド名 –Online」 ⇒ TechNetの該当のコマンドをブラウザで表示してくれる(便利です) 第1回 PowerShellの概要と基本操作、プログラミング基礎(その1) 7. コマンドレットについて TW社内セミナー システム運用・構築技術者のためのPowerShellプログラミング
  9. 9. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ■コマンドレットの例 通常GUIでの表示(プロパティや管理ツール)で取得する情報を PSのコマンドレットで実行すると次のようになります。 ・プロセス一覧からPowershell(コンソール)の情報を抽出 PS> Get-Process –Name PowerShell ・起動中のサービスの一覧を表示 PS> Get-Service | where Status -eq Running ・ローカルユーザーアカウントの一覧を表示 PS> Get-CimInstance -ClassName Win32_UserAccount ・BIOSの情報を表示 PS> Get-WmiObject -Class Win32_BIOS ・論理ドライブの情報を表示 PS> Get-WmiObject -Class Win32_LogicalDisk ・直近100件のイベントログ(システム)を表示 PS> Get-EventLog System -Newest 100 ・現在のフォルダのアクセス権を表示 PS> Get-Acl | fl 第1回 PowerShellの概要と基本操作、プログラミング基礎(その1) 8. コマンドレットの例 TW社内セミナー システム運用・構築技術者のためのPowerShellプログラミング
  10. 10. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ■基本的な文法(ステートメント) ・記述した内容は上から下に向かって処理される ・基本的な記述方法は以下の2種類 「変数 = コマンドレットの指定、計算などの処理」 ⇒ 処理結果を変数に格納する 「コマンドレットの指定、計算などの処理」 ⇒ 処理結果を画面に出力、結果を格納しない場合 ※処理結果を返したくない場合は[void]を付ける ~記述例~ $Now = Get-Date #現在の日時を取得(#はコメント) $Total = 1 + 2 * 3 – 4 / 5 #計算処理 Write-Host(“現在は” + $Now + “です。”) ↲ 第1回 PowerShellの概要と基本操作、プログラミング基礎(その1) 9. スクリプトの記述方法 TW社内セミナー システム運用・構築技術者のためのPowerShellプログラミング
  11. 11. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ■変数 ・データを格納する「箱」 数学の方程式 x=1 と同じ、上書きされる ・PowerShellでは $名前 と指定する ・変数の中には、文字列、数値、日時、オブジェクト(機能の 集まり)などが格納される(これらをデータ型という) ~変数の動き~ ~変数のデータ型~ SID: xxxxxx DisplayName: 山田太郎 Email: xxxx@xxxxx 第1回 PowerShellの概要と基本操作、プログラミング基礎(その1) 10. 変数とデータ型1 $Count $Count = 1 1 $Count $Count = 3 31 後の処理で上書きされる $Count = $Count + 4 3 3 + 4 $Count 上書きの前に、変数の値を 足しこんで格納(=7) $Count 1.23 数値型(整数・小数) $Text “あいう” 文字列型 $Now “2014/4/1 12:34:56” 日時型 $CsvData CSVファイルの内容 “1”, “山田太郎”, … “2”, “佐藤花子”, … “3”, “鈴木雅治”, … $AdUser ADユーザー情報(包括) TW社内セミナー システム運用・構築技術者のためのPowerShellプログラミング
  12. 12. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ■オブジェクト変数 ・変数は格納されたデータ型によって、拡張機能を持っている 拡張機能 … プロパティ(属性)、メソッド(命令) ・拡張機能にアクセスするには、「$変数.XXX」と記述する ~プロパティのアクセス例~ $Now = Get-Date #現在の日付を取得 #年(数値)と 100 ナノ秒 (1 秒の 1000 万分の 1) を表示 Write-Host $Now.Year $Now.Ticks #日時を整形して表示 Write-Host $Now.ToString(“MM月dd日(ddd)HH時mm分”) $Cred = Get-Credential #認証ダイアログを表示 $Cred.UserName #入力したユーザー名 $Cred.Password #パスワードは見えない 第1回 PowerShellの概要と基本操作、プログラミング基礎(その1) 11. 変数とデータ型2 TW社内セミナー システム運用・構築技術者のためのPowerShellプログラミング
  13. 13. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ■Write-Host(出力内容) ・指定した出力内容を画面に出力する ・変数を直接指定した場合もWrite-Hostと同じく画面に出力(詳細) ~例~ Write-Host(Get-Date) Write-Host $Now $YourName $Total “あいう” 123 ■変数 = Read-Host(“入力を促すプロンプト”) ・画面に入力された文字列を受け取り、変数等に格納する ~例~ $Count = Read-Host(“繰り返し回数=”) $Count = [int]$Count #変数に変換 for ($i=1; $i –lt $Count; $Count++) { Write-Host($i) } #回数分表示 第1回 PowerShellの概要と基本操作、プログラミング基礎(その1) 12. Write-HostとRead-Host TW社内セミナー システム運用・構築技術者のためのPowerShellプログラミング
  14. 14. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ■変数と値 ・データを格納する「箱」 、PowerShellでは $名前 と指定 ・値の表現 文字列 ⇒ “123.45” 数値 ⇒ 123.45 日付 ⇒ [DateTime]“2014/4/1” ・データ型を調べる場合 ⇒ 変数.GetType() 例)データ型を確認 $a = “2014/4/1” $b = [DateTime]”2014/4/1” #文字列を日時型に変換 $a.GetType() $b.GetType() ■算術演算子 基本的にExcel等の表計算で利用するものと同じ( + - * /) 第1回 PowerShellの概要と基本操作、プログラミング基礎(その1) 13. 変数と値の表現、算術演算子 TW社内セミナー システム運用・構築技術者のためのPowerShellプログラミング
  15. 15. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ■文字列の連結 ・文字列を連結する場合は「+」を利用 ・“1” + “1” は 2 ではなく “11”、1 + 1 は 2(データ型の違い) ・特殊文字 … タブ 「`t」改行「`n」(日本語キーボードのShift+@) ■変数の演算 ・数値の余りを求める $result = 123 % 10 ⇒ $result に 3 ・加算処理 $count = $count + 1 と $count++ が同じ(++は省略形) ・現在の日時の取得 $date = Get-Date または $date = [DateTime]::Now ・日付の加算/減算 $date = $date.AddDays(30) / $date.AddDays(-1) ・日付の差 $timespan = New-TimeSpan $変数1 $変数2 第1回 PowerShellの概要と基本操作、プログラミング基礎(その1) 14. 文字列の連結、変数の演算 TW社内セミナー システム運用・構築技術者のためのPowerShellプログラミング
  16. 16. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ■PowerShell ISE(Integrated Scripting Environmentnt)のデバッグ ・先頭にブレークポイントを挿入(.ps1を保存後、F9キー) ・実行(F5キー)すると1行目で停止する ・F10を押しながら1行ずつ実行 ・マウスをポイントすると変数の値などを確認できる 例)計算処理の途中で止めた状態 $a = 3 $b = 4 $c = $a + $b Write-Host("`$aと`$bの合計は" + $c + "です。") 第1回 PowerShellの概要と基本操作、プログラミング基礎(その1) 15. ISEを利用したデバッグ TW社内セミナー システム運用・構築技術者のためのPowerShellプログラミング
  17. 17. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ■「if」プログラムの処理を分岐させる ・if (条件…) { 条件を満たした場合(true)の処理 } else { それ以外の処理(false: 条件を満たさない) } 第1回 PowerShellの概要と基本操作、プログラミング基礎(その1) 16. 条件分岐 if 処理 条件 処理 処理 処理 条件を満たす場合 (true) 条件を 満たさない場合 (false) ● 複数の条件がある場合は elseif を利用する。 if ( 条件1… ) { 条件1を満たした場合(true)の処理 } elseif ( 条件2… ) { 条件2を満たした場合(true)の処理 } elseif ( 条件3… ) { 条件3を満たした場合(true)の処理 } else { いずれの条件にも満たない場合の処理 } TW社内セミナー システム運用・構築技術者のためのPowerShellプログラミング
  18. 18. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ■ 条件の指定方法 ・右辺と左辺が一致する(true)かどうかを記述 例)変数$ansの値が“Yes”だった場合 ⇒ if ( $ans –eq “Yes”) 例)変数$numの値が 100 未満の場合 ⇒ if ( $num –ge 100) 例)変数$dateの月が 4月~12月の場合 ⇒ if ( $date.Year –ge 4) ■ 条件の演算子 ・以下の演算子を利用して表現する(他にも –match などがあります) 第1回 PowerShellの概要と基本操作、プログラミング基礎(その1) 17. 条件の指定と条件演算子 演算子 意味 -eq 等しい= -ne 等しくない<> -like 含める(文字列) -not like 含めない(文字列) 演算子 意味 -gt 大きい > -ge 以上 >= -lt 小さい < -le 以下 <= TW社内セミナー システム運用・構築技術者のためのPowerShellプログラミング
  19. 19. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ~記述例~ $Point = Read-Host(“点数を入力してください。”) if ($Point –eq 100) { Write-Host(“満点!合格!”) ↲ } elseif ($Point –ge 60) { Write-Host(“合格!”) ↲ } else { Write-Host(“不合格!”) ↲ } 第1回 PowerShellの概要と基本操作、プログラミング基礎(その1) 18. 条件分岐の例 ●ifの部分はネスト(入れ子)も可 if ($Point –eq 100) { Write-Host(“満点!合格!”) ↲ } else { if ($Point –ge 60) { Write-Host(“合格!”) ↲ } else { Write-Host(“不合格!”) ↲ } } TW社内セミナー システム運用・構築技術者のためのPowerShellプログラミング
  20. 20. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 問題: コンソールから ”User” または “Group” を入力し、Userが入力された場合 はユーザーの一覧を、Groupが入力されたらグループの一覧を表示し、それ以外 はエラーを表示するプログラムを作成してください(practice_if.ps1) ※ユーザー一覧 ps> Get-CimInstance -ClassName Win32_UserAccount ※グループ一覧 ps> Get-CimInstance -ClassName Win32_Group <フローチャートで表した場合> 第1回 PowerShellの概要と基本操作、プログラミング基礎(その1) 19. 条件分岐の練習 コンソールから文字列を受け取る 「User/Groupを入力してください」 条件 ユーザー一覧 表示 条件 値がUserの場合 $x –eq “User” それ以外 値がGroupの場合 $x –eq “Group” それ以外 グループ一覧 表示 “エラー”を 表示 コンソールから文字列を受け取る 「User/Groupを入力してください」 条件 ユーザー一覧表示 条件 値がUserの場合 値がGroupの場合 それ以外 グループ一覧表示 “エラー”を表示 TW社内セミナー システム運用・構築技術者のためのPowerShellプログラミング
  21. 21. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ■「for」同じ処理を繰り返し実行する ・for ($i = 開始値; $i -le 終了値; $i++) { 開始値から終了の値まで処理を実行 } ←終端まで来ると $i の値が自動的に+1され、終了値を超えると処理を抜ける 第1回 PowerShellの概要と基本操作、プログラミング基礎(その1) 20.繰り返し処理 for 処理 処理x 繰り返しの条件 の間「処理x」を 何度も実行する 繰り返し開始 繰り返し終了 処理x 処理 処理 処理x 繰り返しを2つ使って 処理することも多い (外側の繰り返し1は $i を、内側の繰り返し 2は $j を利用する) 繰返1開始 繰返1終了 処理y 処理 繰返2開始 繰返2終了 TW社内セミナー システム運用・構築技術者のためのPowerShellプログラミング
  22. 22. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ~記述例~ 1から10までの和を表示する処理 $sum = 0 $sum = $sum + 1 $sum = $sum + 2 $sum = $sum + 3 … $sum = $sum + 10 Write-Host($sum) 繰り返しを使って記述した場合 $sum = 0 for ($i = 1; $i -le 10; $i++) { $sum = $sum + $i } Write-Host($sum) 第1回 PowerShellの概要と基本操作、プログラミング基礎(その1) 21.繰り返し処理の例 二重に繰り返しをおこなった場合 for ($i = 1; $i -le 10; $i++) { for ($j = 1; $j -le 10; $j++) { Write-Host(“” + $i + “,” + $j) } } 実行結果 左側が $i の値、右側が $j の値 1行ずつ$jの値が加算されていき、 10になった時点で、$iが加算される TW社内セミナー システム運用・構築技術者のためのPowerShellプログラミング
  23. 23. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 問題: 繰り返しを1回から100回までおこない、1回ごとに★を表示するプログラ ムを作成してください。(practice_for.ps1) 設問① 1行に1つ★を出力する 設問② 改行をせず、横に出力する 例)★ ★ ★ ★ ★ ★ ★… 設問③ 横に出力し、10個出力したら改行する ※Write-Hostで改行しないように出力するには、オプションに「-noNewLine」を付けます Write-Host(“xxx”) –noNewLine 、改行=空を出力 Write-Host(“”) <フローチャートで表した場合> 設問① 設問② 設問③ 回答1 回答2 第1回 PowerShellのプログラミング 22. 繰り返しの練習 条件 ★を出力 (改行あり) 繰り返し開始 $i<=100の間 繰り返し終了 ★を出力 (改行なし) 繰り返し開始 $i<=100の間 繰り返し終了 繰り返し開始 繰り返し終了 10個出力の条件 =10で割った余り (%)が0 ★を出力 空””を出力 繰返1開始 繰返1終了 繰返2開始 繰返2終了 ★を出力 空“”を出力 10回の 繰り返し 10回の 繰り返し TW社内セミナー システム運用・構築技術者のためのPowerShellプログラミング
  24. 24. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ■「foreach」対象物が「ある」だけ繰り返す=よく使います ・foreach ($取り出した値の変数 in $対象物) { 対象物があるだけ繰り返す(ない場合は処理しない) } ~利用の例~ ・配列(変数の値を並べたもの)があるだけ繰り返す。 $fruitsData = “いちご”, “みかん”, “すいか”, “バナナ” foreach ($fruitsItem in $fruitsData) { Write-Host($fruitsItem + “が好きです”) } ・起動中のサービスの一覧を取得し、名前に a があるものを出力する $services = Get-Service | where Status -eq Running foreach ($service in $services) { if ($service.Name -like “*a*”) { Write-Host($service.Name + “は`”a`”を含んでいます”) } } 第1回 PowerShellのプログラミング 23.繰り返し処理 foreach TW社内セミナー システム運用・構築技術者のためのPowerShellプログラミング
  25. 25. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ■処理・変数 | Out-File “出力するファイル名” - append ・指定したファイルにテキストを出力する ・「-append」 を指定すると追記 ・「-encoding 文字コード」で文字コード指定が可能 ※PowerShellは「UTF16LE」が標準なので注意(UTF8ではない) ~例~ Get-Process | Out-File “process一覧.txt” Start-Process “process一覧.txt” #テキストを既定のエディタで開く $total = 0 for($i=1; $i –le 10000; $i++) { $total_old = $total.ToString(“#,###”); $total = $total + $i Write-Output(“” + $total_old + “+” + $i + ”=“ + $total) | Out-File “star.txt” –append } Start-Process “star.txt” #1から100までの合計を計算式と共に出力 第1回 PowerShellの概要と基本操作、プログラミング基礎(その1) 24. テキストファイルへの出力 TW社内セミナー システム運用・構築技術者のためのPowerShellプログラミング
  26. 26. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ■問題01: 名前の表示 画面に「名前を入力:」と表示し、入力した名前を 組み合わせ「こんにちは、●●さん」と表示し、次の行に 現在は yyyy/MM/dd HH:mm:ssです」と表示してください。 <実行例> 名前を入力: 山田太郎 こんにちは、山田太郎さん 現在は 2015/4/2 08:30:00 です 第1回 PowerShellの概要と基本操作、プログラミング基礎(その1) X. 演習問題 TW社内セミナー システム運用・構築技術者のためのPowerShellプログラミング
  27. 27. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ■問題02: 四則演算 画面に「Xの値:」と「Yの値:」を表示し、入力した XとYの値の加算・減算・乗算・除算の結果を表示してください。 <実行例> Xの値: 3 Yの値: 4 X + Y = 7 X - Y = -1 X * Y = 12 X / Y = 0.75 第1回 PowerShellの概要と基本操作、プログラミング基礎(その1) X. 演習問題 TW社内セミナー システム運用・構築技術者のためのPowerShellプログラミング
  28. 28. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ■問題03: 合計と平均 値を5回入力し、合計・平均を表示してください。 <実行例> 値1: 400 値2: 700 値3: 100 値4: 800 値5: 300 合計 = 2,300 平均 = 460.00 第1回 PowerShellの概要と基本操作、プログラミング基礎(その1) X. 演習問題 TW社内セミナー システム運用・構築技術者のためのPowerShellプログラミング
  29. 29. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ■問題04: 合格判定 画面に「点数:」を表示し、入力した点数によって 以下の値を表示させてください。 点数 表示 ----------------------------------- 100点 合 格 ★★★★★ 80点以上 合 格 ★★★★☆ 60点以上 合 格 ★★★☆☆ 30点以上 不合格 ★★☆☆☆ 30点未満 不合格 ★☆☆☆☆ 第1回 PowerShellの概要と基本操作、プログラミング基礎(その1) X. 演習問題 TW社内セミナー システム運用・構築技術者のためのPowerShellプログラミング
  30. 30. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ■問題05: 1から100までの合計 実行すると1から100までの合計を表示してください。 <実行例> 1から100までの合計 5,050 ■問題06: 1からnまでの合計 1から指定された値までの合計を表示してください。 <実行例> nの値: 10 1から10までの合計 55 第1回 PowerShellの概要と基本操作、プログラミング基礎(その1) X. 演習問題 TW社内セミナー システム運用・構築技術者のためのPowerShellプログラミング
  31. 31. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ■問題07: aからbまでの合計 aからbまでの合計を表示してください。 <実行例> aの値: 5 bの値: 60 5から60までの合計 1,820 ■問題08: aからbまでの偶数の表示 aからbまでの値で偶数の値のみを1行ずつ表示してください <実行例> aの値: 5 bの値: 60 ⇒ 6, 8 , 10, 12 … が各行に表示される 第1回 PowerShellの概要と基本操作、プログラミング基礎(その1) X. 演習問題 TW社内セミナー システム運用・構築技術者のためのPowerShellプログラミング
  32. 32. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ■問題09: 合計と途中経過の表示 1から100までの合計と途中経過を表示してください。 <実行例> 0 + 1 = 1 1 + 2 = 3 3 + 3 = 6 … 合計 = 5,050 第1回 PowerShellの概要と基本操作、プログラミング基礎(その1) X. 演習問題 TW社内セミナー システム運用・構築技術者のためのPowerShellプログラミング
  33. 33. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ■問題10:星(★)の表示1 繰り返しを1回から100回までおこない、 1回ごとに★を表示するプログラムを作成してください。 ★は1行に1つずつ表示させます。 <実行例> ★ ★ ★ ★ … 第1回 PowerShellの概要と基本操作、プログラミング基礎(その1) X. 演習問題 TW社内セミナー システム運用・構築技術者のためのPowerShellプログラミング
  34. 34. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。 ■問題11:星(★)の表示2 繰り返しを1回から100回までおこない、 1回ごとに★を表示するプログラムを作成してください。 ★は各行に10個ずつ表示し改行してください。 <実行例> ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ … 第1回 PowerShellの概要と基本操作、プログラミング基礎(その1) X. 演習問題 TW社内セミナー システム運用・構築技術者のためのPowerShellプログラミング

×