知識マップ: PowerShellコマンドの基本 ── まず覚える操作と安全な使い方
記事「PowerShellコマンドの基本 ── まず覚える操作と安全な使い方」の主張を、概念と関係(エッジ)に分解した知識グラフの全体です。各関係には根拠・確認日・確度が付いています。
PowerShellはコマンド結果を文字列ではなくオブジェクトとして扱うシェルで、Get-Command・Get-Help・Get-Memberによる調べ方と、Where-Object・Select-Objectを組み合わせたパイプラインが基本になる。画面表示用のFormat-*系コマンドレットは最後に使うべきもので、これをExport-CsvやConvertTo-Jsonの前に挟むとCSV・JSON出力に表示用の情報が混ざってしまう。.ps1スクリプトの実行には実行ポリシーの許可が必要で、会社PCではグループポリシーによって制御されていることがある。削除・停止・変更のような変更系コマンドは、対象をWhere-Objectで絞り込みExport-Csvで証跡を残したうえで、-WhatIfによる予行を経てから実行するという安全な手順を徹底することが、この記事全体の結論になっている。
flowchart LR
accTitle: PowerShellコマンドの基本の知識マップ
accDescr: PowerShellのオブジェクト指向パイプライン、Get-Command・Get-Help・Get-Memberによる調べ方、Format系コマンドレットとCSV・JSON出力の関係、実行ポリシーとグループポリシーの関係、安全な変更手順における-WhatIfの位置付けを示す図
powershell["PowerShell"]
powershell_pipeline["パイプライン"]
safe_change_workflow["安全な変更手順(見る→絞る→記録する→予行する→実行する)"]
where_object["Where-Object"]
select_object["Select-Object"]
get_member["Get-Member"]
get_command["Get-Command"]
get_help["Get-Help"]
format_cmdlets["Format-*系コマンドレット"]
csv_cmdlets["Import-Csv/Export-Csv"]
json_cmdlets["ConvertTo-Json/ConvertFrom-Json"]
execution_policy["PowerShell実行ポリシー"]
group_policy["グループポリシー"]
ps1_script[".ps1スクリプトファイル"]
whatif_parameter["-WhatIfパラメーター"]
get_winevent["Get-WinEvent"]
powershell -->|"利用する"| powershell_pipeline
powershell_pipeline -.->|"利用する"| where_object
powershell_pipeline -.->|"利用する"| select_object
powershell_pipeline -.->|"利用する"| get_member
get_command -->|"より先に行うべき"| get_help
get_help -->|"より先に行うべき"| get_member
format_cmdlets -->|"用いるのは非推奨"| csv_cmdlets
powershell -->|"利用する"| csv_cmdlets
powershell -->|"利用する"| json_cmdlets
powershell -->|"利用する"| execution_policy
execution_policy -.->|"で構成できる"| group_policy
ps1_script -->|"前提とする"| execution_policy
safe_change_workflow -->|"利用する"| where_object
safe_change_workflow -->|"利用する"| select_object
safe_change_workflow -->|"利用する"| csv_cmdlets
safe_change_workflow -->|"利用する"| whatif_parameter
powershell -->|"利用する"| get_winevent
powershell -->|"利用する"| get_command
powershell -->|"利用する"| format_cmdlets
powershell -->|"利用する"| ps1_script
概念間の関係(全20件)
図と同じ関係を文章でも列挙します。表示している文と機械可読な意味データ(RDFa)は同じ要素に載っています。確度が「確立した関係」のものは直接の関係として、「条件付きの関係」のものは成立条件つきの言明(rdf:Statement)として表現しています。
- PowerShellはパイプラインを利用します。
- パイプラインはWhere-Objectを利用します。
- パイプラインはSelect-Objectを利用します。
- パイプラインはGet-Memberを利用します。
- Get-CommandはGet-Helpより先に行うべきです。
- Get-HelpはGet-Memberより先に行うべきです。
- Format-*系コマンドレットをImport-Csv/Export-Csvに用いることは推奨されません。
- PowerShellはImport-Csv/Export-Csvを利用します。
- PowerShellはConvertTo-Json/ConvertFrom-Jsonを利用します。
- PowerShellはPowerShell実行ポリシーを利用します。
- PowerShell実行ポリシーはグループポリシーで構成できます。
- .ps1スクリプトファイルはPowerShell実行ポリシーを前提とします。
- 安全な変更手順(見る→絞る→記録する→予行する→実行する)はWhere-Objectを利用します。
- 安全な変更手順(見る→絞る→記録する→予行する→実行する)はSelect-Objectを利用します。
- 安全な変更手順(見る→絞る→記録する→予行する→実行する)はImport-Csv/Export-Csvを利用します。
- 安全な変更手順(見る→絞る→記録する→予行する→実行する)は-WhatIfパラメーターを利用します。
- PowerShellはGet-WinEventを利用します。
- PowerShellはGet-Commandを利用します。
- PowerShellはFormat-*系コマンドレットを利用します。
- PowerShellは.ps1スクリプトファイルを利用します。
主要概念の定義
機械可読データ
このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。