世の中では、少ない労力で多くの成果を上げるのがよいこととされているが、IT業界も例外ではない。多くのデバイスを管理している小さなチームでは、何十万台ものデバイスを管理できるPowerShellのスキルを習得すれば、優秀なスタッフが何人も増えたのと同じ効果がある。
では、まずPowerShellの機能を最大限に活かすために必要な環境について確認したあと、さっそく、リモートから効率的にネットワーク上のデバイスやサービスの管理できるようになる、10の便利なコマンドを紹介しよう。
必要環境
- Windows Vista以降がインストールされているPC
- Windows Server 2008以降がインストールされているサーバ
- PowerShell 5.0
- 管理者権限
1.PowerShellセッションの作成
コマンド:Enter-PSSession
例:Enter-PSSession -ComputerName リモートコンピュータ名 -Credential ユーザー名
PSSessionを作成することで、管理者がリモートからネットワーク上のコンピュータに接続し、そのデバイスで任意の数のPowerShellコマンドを実行できるようになる。セッション中は、そのマシンにローカルからアクセスしている時と同じコンソールアクセスが利用でき、リモートから複数のコマンドを実行できる。
2.コマンドの実行
コマンド:Invoke-Command
例:Invoke-Command -Computer リモートコンピュータ名 -ScriptBlock {PowerShellコマンド}
1番目のコマンドと同じく、PowerShellでInvoke-Commandを実行すると、リモートからセッションを実行できる。ただし、Invoke-Commandコマンドでリモートから実行できるコマンドは、1度に1つだけだ。このため、複数のコマンドを一度に実行するには、.PS1ファイルにそれらのコマンドを保存して、そのスクリプトを実行する必要がある。
3.コンピュータの再起動
コマンド:Restart-Computer
例:Restart-Computer -ComputerName リモートコンピュータ名 -Force
インストールや設定を正常に完了するために、コンピュータを再起動しなければならない場合がある。あるいは、コンピュータのリソースを一度まっさらな状態に戻す必要があって、再起動することもあるだろう。このPowerShellコマンドは、対象デバイスが1台であろうが100台であろうが、一度にその作業ができる。