ラボの回答キー:PowerShell パイプラインの使用
演習 1:オブジェクトの列挙
タスク 1: コンピューターのドライブ E にあるファイルのリストを表示する
- LON-CL1 で、 [スタート] を選択して、「powersh」と入力します。
- 検索結果で、 [Windows PowerShell] を右クリックするか、そのコンテキスト メニューをアクティブにしてから、 [管理者として実行] を選択します。
-
[管理者:Windows PowerShell] ウィンドウで、次のコマンドを入力し、Enter キーを押します。
Get-ChildItem -Path E: -Recurse
-
コンソールで、次のコマンドを入力して Enter キーを押します。
Get-ChildItem -Path E: -Recurse | Get-Member
注: TypeName: System.IO.DirectoryInfo の下にあるリストの GetFiles メソッドに注目してください。
-
コンソールで、次のコマンドを入力して Enter キーを押します。
Get-ChildItem -Path E: -Recurse | ForEach GetFiles
タスク 2: 列挙を使用して 100 の乱数を生成する
-
コンソールで、次のコマンドを入力して Enter キーを押します。
help *random*
注: Get-Random コマンドに注目してください。
-
コンソールで、次のコマンドを入力して Enter キーを押します。
help Get-Random –ShowWindow
注: -SetSeed パラメーターに注目してください。
- [Get-Random ヘルプ] ウィンドウを閉じます。
-
コンソールで、次のコマンドを入力して Enter キーを押します。
1..100
-
コンソールで、次のコマンドを入力して Enter キーを押します。
1..100 | ForEach { Get-Random –SetSeed $PSItem }
タスク 3: Windows Management Instrumentation (WMI) オブジェクトのメソッドを実行する
- Windows PowerShell コンソール以外のすべてのアプリケーションを閉じます。
-
コンソールで、次のコマンドを入力して Enter キーを押します。
Get-WmiObject –Class Win32_OperatingSystem -EnableAllPrivileges
-
コンソールで、次のコマンドを入力して Enter キーを押します。
Get-WmiObject –Class Win32_OperatingSystem -EnableAllPrivileges | Get-Member
注: Reboot メソッドに注目してください。
注: 次のコマンドでは、実行しているコンピューターを再起動します。
-
コンソールで、次のコマンドを入力して Enter キーを押します。
Get-WmiObject –Class Win32_OperatingSystem -EnableAllPrivileges | ForEach Reboot
演習 1 の結果
この演習を完了すると、パイプライン内の複数のオブジェクトを操作するコマンドを作成したことになります。
演習 2:オブジェクトの変換
タスク 1: Active Directory のユーザー情報を更新する
注: このラボでは、通常、長いコマンドがいくつかの行に表示されます。 これは、コマンドの途中で意図しない改行が行われないようにするのに役立ちます。 しかし、これらのコマンドを入力するときは、1 行として入力する必要があります。 その行は、画面上で複数の行に折り返される場合がありますが、コマンドは引き続き機能します。 コマンド全体を入力した後にのみ、Enter キーを押します。
- パスワード Pa55w.rd を使用して、Adatum\Administrator として LON-CL1 にサインインします。
- LON-CL1 で、[スタート] を選択して、「powersh」と入力します。
- 検索結果で、 [Windows PowerShell] を右クリックするか、そのコンテキスト メニューをアクティブにしてから、 [管理者として実行] を選択します。
-
[管理者:Windows PowerShell] ウィンドウで、次のコマンドを入力し、Enter キーを押します。
Get-ADUser -Filter * -Properties Department,City | Where {$PSItem.Department -eq ‘IT’ -and $PSItem.City -eq ‘London’} | Select-Object -Property Name,Department,City| Sort Name
-
[管理者:Windows PowerShell] ウィンドウで、次のコマンドを入力し、Enter キーを押します。
Get-ADUser -Filter * -Properties Department,City | Where {$PSItem.Department -eq ‘IT’ -and $PSItem.City -eq ‘London’} | Set-ADUser -Office ‘LON-A/1000’
-
[管理者:Windows PowerShell] ウィンドウで、次のコマンドを入力し、Enter キーを押します。
Get-ADUser -Filter * -Properties Department,City,Office | Where {$PSItem.Department -eq ‘IT’ -and $PSItem.City -eq ‘London’} | Select-Object -Property Name,Department,City,Office | Sort Name
タスク 2:IT 部門内の Active Directory ユーザーを一覧表示するファイルを生成する
-
コンソールで、次のコマンドを入力して Enter キーを押します。
help ConvertTo-Html –ShowWindow
- [ConvertTo-Html ヘルプ] ウィンドウを閉じます。
-
コンソールで、次のコマンドを入力して Enter キーを押します。
Get-ADUser -Filter * -Properties Department,City,Office | Where {$PSItem.Department -eq 'IT' -and $PSItem.City -eq 'London'} | Sort Name | Select-Object -Property Name,Department,City,Office | ConvertTo-Html –Property Name,Department,City -PreContent Users | Out-File E:\UserReport.html
-
HTML ファイルを確認するには、次のコマンドを入力してから、Enter キーを押します。
Invoke-Expression E:\UserReport.html
-
コンソールで次のコマンドを入力し、Enter キーを押します (これにより、Web ブラウザー ウィンドウが自動的に開きます)。
Get-ADUser -Filter * -Properties Department,City,Office | Where {$PSItem.Department -eq 'IT' -and $PSItem.City -eq 'London'} | Sort Name | Select-Object -Property Name,Department,City,Office | Export-Clixml E:\UserReport.xml
- Web ブラウザー ページに表示されたレポートを確認し、Web ブラウザー ウィンドウを閉じます。
-
コンソールで、次のコマンドを入力して Enter キーを押します。
Get-ADUser -Filter * -Properties Department,City,Office | Where {$PSItem.Department -eq 'IT' -and $PSItem.City -eq 'London'} | Sort Name | Select-Object -Property Name,Department,City,Office | Export-Csv E:\UserReport.csv
- エクスプローラーを開き、エクスプローラー ウィンドウで、E:\ に移動し、UserReport.csv を右クリックするか、そのコンテキスト メニューをアクティブにして、 [プログラムから開く] を選択してから、 [メモ帳] を選びます。
- [メモ帳] ウィンドウで、ファイルの内容を確認します。
演習 2 の結果
この演習を完了すると、Active Directory ユーザーに対してクエリを実行し、そのユーザーに関する情報を変更し、さらに Active Directory ユーザー オブジェクトをさまざまなデータ形式に変換しています。