この数年、MicrosoftはPowerShellを管理ツールの中心に据えようとしている。新しいMicrosoftのサーバ製品のほとんどがPowerShellを必要としており、コマンドラインに踏み込まなければ達成できない管理タスクも多い。Windows管理者なら、PowerShellの使い方に慣れておく必要がある。この記事では、手始めに覚えるべき10のコマンドを紹介する。
1.Get-Help
すべての管理者が最初に覚えるべきPowerShellのコマンドレットは、Get-Helpだ。このコマンドを使えば、他のあらゆるコマンドのヘルプを参照できる。例えば、Get-Processコマンドをどう使えばいいかを知りたければ、次のように入力する。
Get-Help -Name Get-Process
これで、Windowsはこのコマンドの完全な構文を表示してくれる。
Get-Helpを個々の名詞や動詞に対して使うこともできる。例えば、動詞Getを使うすべてのコマンドを知りたければ、次のように入力すればよい。
Get-Help -Name Get-*
2.Set-ExecutionPolicy
誰でもPowerShellスクリプトを作って実行することはできるが、PowerShell環境で悪意を持ったコードが実行されるのを防ぐため、Microsoftはデフォルトの状態ではスクリプトを使用できないようにしている。Set-ExecutionPolicyコマンドを使えば、PowerShellスクリプト関係のセキュリティレベルをコントロールできる。利用できるのは、次の4つのセキュリティレベルだ。
- Restricted--デフォルトの実行ポリシーはRestrictedになっている。PowerShellはロックされ、コマンドは対話的にしか入力できないようになっている。PowerShellスクリプトを実行することは許されていない。
- All Signed--実行ポリシーがAll Signedに設定されている場合、信頼できる発行元によって署名されたスクリプトのみ、実行することが許される。
- Remote Signed--実行ポリシーがRemote Singedに設定されている場合、ローカルで作成されたあらゆるPowerShellスクリプトを実行することが許される。リモートで作成されたスクリプトは、信頼できる発行元が署名したものしか実行できない。
- Unrestricted--名前が示すとおり、Unrestrectedは実行ポリシーに関するすべての制約を取り除く。
Set-ExecutionPolicyコマンドの後に、ポリシーの名前を入れて実行することで、実行ポリシーを設定することができる。例えば、制約なしにスクリプトを実行したいなら、次のように入力する。
Set-ExecutionPolicy Unrestricted
3.Get-ExecutionPolicy
馴染みのないサーバで作業をする際には、スクリプトを実行する前に実行ポリシーがどうなっているかを知る必要がある。これにはGet-ExecutionPolicyコマンドを使えばいい。
4.Get-Service
Get-Serviceコマンドは、そのシステムにインストールされているすべてのサービスのリストを表示する。特定のサービスについて参照したい場合は、-Nameスイッチとそのサービスの名前を追加する(ワイルドカードも使える)。この場合、そのサービスの状態が表示される。