PowerShellとは
PowerShellはWindowsのシェル言語です。
従来コマンドプロンプトが担っていた役割は、徐々にPowerShellに移行されています。
加えてActiveDirectoryやExchangeといったミドルウェアの管理や
office365やAzure等のパブリッククラウドをPowerShellを用いたコマンドレットで指示を出せます。
最近では「.NET Core」としてLinuxへの環境でも動くようになっています。
PowerShellの基本部分
PowerShellの参考書を読むと、一番最初に出てくるコマンドレットは以下のようなものです。
Get-ChildItem -Path 'C:\Users\xxxx' #ダブルクオーテーション内にフォルダを指定#
動詞+指示対象の組み合わせがPowerShellのコマンドレットの基本的な構成です。
動詞部分には、「Add」「New」「Make」「Export」等があります。
Visual Studio CodeにPowerShellの拡張機能をインストールすれば、
インテリセンスでコード補完してくれます。
「New...」と入力すると、その後に続く候補のコマンドがレコメンドされます。
サイズが大きいファイルを一覧で出力する
冒頭でPowerShellのポテンシャルに触れましたが、ActiveDirectoryに日常的に関わる人はそう多くありません。
PowerShellの可能性を多くの方に知ってもらいたいので、私自身がよく使うスクリプトを紹介します。
今回は簡単にファイルをリストアップして、サイズの大きい順にCSVに出力する例を以下に示します。
PCに蓄積した不要なファイルを棚卸しする目的で時々実行するととても便利です。
$Directory = "C:\Users\xxxx" #検索先ディレクトリ
$Output = "C:\Users\xxxx" #csv出力先フォルダ
$GetDate = Get-Date -Format "yyyy年MM月dd日"
Get-ChildItem -Path $Directory -Recurse -File `
| Select-Object Name,Extension,Length,FullName,CreationTime,LastWriteTime `
| Sort-Object -Descending Length `
| Export-Csv -Path "$Output\Output_$GetDate.csv" -NoTypeInformation -Encoding Default -Append
今後も定期的にPowerShellの情報を発信していきます。