Windows Server 2012 R2をより便利に利用する12のコマンド

2016/03/01 サーバー構築

Windows-powershell-cmd-12
Windowsを利用している環境だと、GUIに頼ってしまいませんか。WindowsのGUIは直観的に操作でき便利ですが、PowerShellが実装された最近のWindowsは便利なコマンドが用意されています。更に言うと、コマンドからしかできない操作も多い。

スポンサーリンク


ここでは実際に利用してみて、覚えておくと便利な12のコマンドを紹介します。特にドキュメントの作成や、ちょっとしたホストの調査などに役立つコマンドをピックアップしました。例えば、コマンドを使うと、貼り付けが難しいGUIでの出力結果も、簡単にとることが出来ます
スクリーンショットで撮って張り付けるよりも、コマンドで出力結果をテキストで張り付けたほうが、後々の加工もしやすいし、構成変更時のドキュメント修正も簡単です。

上記は一例ですが、それ以外にも、利用する価値のあるコマンドばかりを記載しましたので、是非、実際の利用してみて、使えそうなものは、今後の業務や運用に役立てて下さい。

1.コマンドを実行する環境

1-1.PowerShellとコマンドプロンプト

Windowsのコマンド実行環境はWindows7から実装されたコマンド PowerShellと、通常のコマンドプロンプト(DOS窓と呼ばれるアレ。)
の二つがあります。今回は両方の環境を利用しています。
基本的にはPowerShellで全て事足りますが、馴染みのあるコマンドプロンプトも使いたいところですよね。

1-2.対象のOS

OSはWindows8.1(8.1と記載がある場合、8も含まれます。)とWindows Server 2012 R2にて動作確認を行っています。
(確認はしていませんが、殆どのコマンドはWindows Server 2008でも利用できると思います。)
上記OSのPowerShellバージョンは4.0です。
Windows7 SP1の場合、PowerShellのバージョンはデフォルトで2.0です。
PowerShellはバージョンによって実装されている機能が少し異なります。
また、クライアントとサーバーOSでは利用できるコマンドが異なりますので、コマンドの紹介項目に対応OSを記載しています。

2.PowerShellの起動

2-1.Windows8.1/Windows Server

Windows8.1でのPowerShellの起動方法は、スタートメニューから「アプリ」へと移動してPowerShellをクリックします。
Windows Server2012 R2の場合、スタートメニューにPowerShellへのリンクがあります。
「アプリ」画面にはPowerShellはISEが付与されたものと通常のものが二つ用意されています。
ISEはPowerShellの開発環境になります。コマンドレットやモジュールが表示され、PowerShellでスクリプトをガシガシ書く方向けです。
今回は通常のPowerShellを利用します。

2-2.Windows7での起動方法

Windows7では、「スタート」「全てのプログラム」「管理ツール」の中にPowerShellモジュールがあります。これをクリックすることで起動します。
画面が表示されれば、PowerShellは起動しています。
アイコンを右クリックすると、「管理者として実行」がありますが、本記事は管理権限をもつアカウントでの実行を前提としていますので、普通に起動して頂くだけです。
管理権限を持たないアカウントの場合、一部のコマンドが実行できませんので、その場合は「管理者として実行」から起動してください。(管理者のパスワードが必要になります。)
また、コマンドプロンプトを起動して、

と入力することでもPowerShellを起動することができます。
この場合は、コマンドプロンプトに PS が付く形で表示されます。

2-3.PowerShellの補完機能

PowerShellはtabキーで補完が出来ますので、コマンドを忘れてしまった場合、tabキーから候補を見つけることもできます。
Linuxなどシェルを利用されている方は、bashなどに同じ機能がありますので、理解しやすいと思います。

3.Windowsコマンド、12の機能と詳細

それでは、利用してほしいWindowsコマンド、12の機能と詳細を紹介していきます。
1~9までがPowerShellのみで実行できるコマンド、10~12がコマンドプロンプトでも利用できるコマンドになります。

3-1.Windows Serverの「機能と役割」一覧を表示

対応OS:Windows Server
利用頻度が高く、便利だと思うコマンドが、この”Get-WindowsFeature”です。
Get-WindowsFeatureコマンドはWindowsにインストールされた「役割と機能」の一覧を表示します。
実行すると、実装されている全ての「機能と役割」が表示されます。
インストールされている「機能と役割」にはXでチェックされます。
以下はオプションを付与せずに、そのまま実行した結果になります。

get-windowsfeatureオプションを付けると以下のような出力が可能です。

3-1-1.Get-WindowsFeature で特定の役割のみを確認する。

[使い方]
Get-WindowsFeature -name <役割/機能名>
例 ) telnet-serverを確認してみます。

以下が主力される結果になります。
get-windowsfeature-name-telnet-server

3-1-2.Get-WindowsFeature で機能/役割の詳細を確認する。

[使用方法]
Get-WindowsFeature -name <役割/機能名> | format-list
例 ) telnet-clientを確認してみます。

以下のように実行結果が出力されます。
get-windowsfeature-name-fomat-listこのコマンドは主にドキュメントを作成するときに重宝します。
有効になっている機能・役割の一覧を表示させ、コピーアンドペーストで張り付けるだけで、機能・役割の項目が完成します。
インストールされている機能・役割の詳細を追記するときは、Get-WindowsFeature -name <役割/機能名> | format-list で取得、同じくコピー&ペーストで完成です。

3-2.「機能と役割」をコマンドでインストール

対応OS:Windows Server
「機能と役割」はGUIからインストールできますが、コマンドから実行する場合、Install-WindowsFeatureを利用します。
例えばバッチファイルなどに組み込んでOSのセットアップなどを自動で行う場合に利用できそうです。
利用方法は
Get-WindowsFeature -name <役割/機能名> -computer <コンピューター名> -restart
※-restartは再起動が必要な場合に指定します。
になります。
例)telnetサーバーをインストール。
Get-WindowsFeature から telnet-serverが役割・機能名だとわかりますので

と実行します。
コマンドが正常に完了(Success)すると、以下のサマリが表示されます。
install-windowsfeature-success

3-3.「機能と役割」をコマンドでアンインストール

対応OS:Windows Server
項目2のInstall-WindowsFeatureとは逆に、Uninstall-WindowsFeatureコマンドは「機能と役割」をアンインストールします。
Installのほうは、それほど利用機会がありませんが、Uninstallは思ったより利用します。
GUI「機能と役割」でアンインストールしたい項目がグレーアウトされて削除できないような場合、Uninstall-Windows-Featureコマンドでアンインストールが出来る場合があります。
例)telnet-clientを削除します。

実行結果は以下になります。
uninstall-windowsfeatureSuccessと表示されれば、telnet-clientは正常に削除されています。
機能や役割が削除できない場合は、コマンドでの実行を試してみて下さい。

3-4.日付と時刻の表示

対応OS:Windows7/Windows8.1/Windows Server
コマンドで日付や時刻を確認したい時があります。
Get-Dateは日付と時刻を表示するコマンドです。
単純に日付を表示・取得するだけですが、日付や時刻の確認をするためにマウスを動かすより、早く確認できます。
例)日付と時刻を取得

以下は実行結果になります。
get-date

3-5.コマンドレットのヘルプを表示

対応OS:Windows7/Windows8.1/Windows Server
Get-Helpはコマンドレットの機能を表示します。
PowerShellの使い方やコマンドレットが分からないときに利用すると便利です。
関連するコマンドレットの一覧を表示する機能もあるため、まずは一覧を表示させて、コマンドレットの詳細を確認するというパターンが多いかと思います。
例として、上記パターンでヘルプを参照します。
[利用方法]
例)WindowsFeatureが付与されたコマンドの一覧と機能を表示させる。

以下が実行結果となります。
get-help_windowsfeature
[利用方法2]
例)コマンドレットの詳細を表示させる。

以下が実行結果となります。
get-help_get-windowsfeaturePowerShellのコマンドレットは覚えるのが、大変なのでヘルプをうまく使ってもらえれば
どのようなコマンドも使えるようになります。

3-6.hotfixや修正パッチの適用リストを表示する。

対応OS:Windows7/Windows8.1/Windows Server
修正パッチの一覧など、作成が面倒なリストは、本コマンドで一覧を取得、コピー&ペーストで簡単に
作成できます。クライアント・サーバー共に利用できます。
[利用法]

以下が出力結果の参考になります。
win32_quickfix

3-7.利用しているPCのプロパティを表示する。

対応OS:Windows7/Windows8.1/Windows Server
コマンドを実行したPCのプロパティを表示します。
取得できる情報はそれほど多くありませんが、スクリプトなどで利用機会が多いのではないかと思います。
[利用方法]

以下が出力結果になります。
get-wmiobject

3-8.Linuxのtailコマンドと同様に、出力をトレースしたい。

対応OS:Windows8.1/Windows Server
Linuxのtailコマンドは非常に便利なのに、どうしてWindowsで同じことができないの?
と疑問に思ったことはありませんか。
PowerShell 3.0ではGet-Contentコマンドレットにtailオプションが追加され、Linux同様にログのトレースなどが出来ます。
(注意)本コマンドはPowerShellが3.0以上で動作します。(Tailオプションが3.0以上で実装されたため)
Windows7はデフォルトでPowerShellのバージョンが2.0のため、利用するにはPowerShellのバージョンアップが必要となります。

[利用方法]

例)カレントフォルダにあるtest.logをトレースします。
読み取り行は任意ですが、数字を変更しても挙動が変わらないように見えます。

3-9.PowerShellのバージョンを表示する。

対応OS:Windows7/Windows8.1/Windows Server
PowerShellのバージョンを取得します。
[利用方法]

例)バージョン出力の結果
psversiontable

ここまではPowerShellで実行可能なコマンドになります。
以下はPowerShellだけでなく、コマンドプロンプトからでも利用できるコマンドです。

3-10.Linuxのgrepのように該当するワードを抽出したい。

Linuxのgrepのように、表示結果をパイプして、指定した文字列や結果が含まれる行を表示するコマンドがfindstrになります
Linuxと同様にパイプで繋いで、利用します
[利用方法]

例)Get-WindowsFeatureからtelnet文字列を抽出する
以下が出力結果になります。
findstr

3-11.ログインしているアカウント名の表示

現在ログインしているアカウント名を知りたいっていう場面、多いと思います。
whoamiコマンドは現在、ログインしているユーザーアカウント名を表示します。
使い方は簡単

と入力するだけです。
以下のようにログインしているアカウント名が表示されます。
whoami
whoamiコマンドはログインしているマシンSIDとユーザーのRIDを確認することもできます。
「Windows Server 2012 R2でSysprepを実行してゲストOSを初期化してみる」記事でも記載していますが、SIDを確認する場合 /userオプションを付与して実行します。
以下は/userオプションを付けてwhoamiコマンドを実行した場合の結果になります。

3-12.コンピューター名の表示

クラスタ環境や複数のマシンをセットアップしているときに、どのマシンを操作しているか
わからなくなる時があります。
hostnameコマンドはコンピューター名を表示するコマンドです。

と入力するだけで、ホスト名が表示されます。
hostname

4.まとめ

本記事ではPowerShellのコマンドとして

  • Windows Serverの「機能と役割」一覧を表示
  • 機能と役割をコマンドでインストール
  • 機能と役割をコマンドでアンインストール
  • 日付と時刻の表示
  • コマンドレットのヘルプを表示
  • hotfixや修正パッチの適用リストを表示する
  • 利用しているPCのプロパティを表示する
  • Linuxのtailコマンドと同様に、出力をトレース
  • PowerShellのバージョンを表示する

コマンドプロンプトからも実行できるコマンドとして

  • Linuxのgrepのように該当するワードを抽出
  • ログインしているアカウント名の表示
  • ホスト名の表示

を紹介しました。
Windowsのコマンドレットは、この他にも数えきれないほど多くの機能が実装されています。
その中でも特に有用だと思われるものに絞って、12のコマンドを紹介しました。

WindowsのコマンドはLinuxなどと違い、覚えにくいコマンドレットが殆どなので、各自が必要だと思うコマンドをいくつか覚えておくような形が良いのでは、と考えています。
そんなときに本記事が参考になれば幸いです。

システムでお困りのお客様

もし、貴社で、

  • サポート切れのサーバやネットワーク機器の入れ替えをしたいが、どうしたらよいかわからない
  • サーバやネットワークの管理を行う社員がいないため困っている
  • 業務に利用している機器のセキュリティが大丈夫か心配
  • 機器の障害で、業務への影響が発生している
  • 社内の要望に対して、どのようなシステムを導入したらよいか解らない

など、サーバーやネットワーク、セキュリティでお悩みの方、新規のシステム導入を検討中の方。
多くのシステム構築を行い、成功させてきた実績をもつ弊社が、その問題を解決します。
お気軽にお問い合わせ頂き、貴社の問題解決にお役立てください。

お問い合わせ・ご相談はこちらから

Facebookでのご購読が便利です。

Twitter・Feedlyでもご購読できます。

Twitterでフォローする Feedlyでフォローする

関連する情報

windows2012-settings-11

Windows Server 2012 R2を利用する前に始める11の作業

以前の記事「Windows Server 2012 R2をインストールする手順」でセットアップし

activedirectory-first

Windows Server 2012 R2へActive Directoryをインストール・構成する

以前の記事「Windows server 2012 R2を利用する前に始める10の作業」でWin

ad-dsadd

CSVを利用してActive Directoryにユーザーを一括登録するコマンド

WindowsのActive Directoryに一括してユーザーを追加したい場合がありますよね

win2008-sysprep-top

Windows Server 2008 R2で仮想マシンを初期化、sysprepの実行手順

仮想化環境(ここでは主にVMWare ESXiやマイクロソフトのHyper-Vなどのhyperv

HP-sas-key-install

HP Proliant DLシリーズのgen8にSAS License Keyを投入する

ここ最近のHPサーバを構築していて思うことは、手間がかかるということです。 何かとLicens

solaris-4commands

Solarisサーバを管理することになったとき使う4つの基本操作

Solarisと言えば、Sun。 私は企業としてSunが非常に好きでした。 そんなSunです

Windows-trobule

Windows Update後に2012 R2 が再起動を繰り返す不具合の原因と対応

先日、弊社で行っていたWindows Storage Server 2012 R2 のセットアッ

Windows_add-dc

Windows Server 2012 R2でActive Directoryにドメインコントローラーを追加する手順

以前の記事「Windows Server 2012 R2へActive Directoryをイン

dns-reverse

Active Directoryをインストールした後に、必要なDNSの逆引きを設定する

「Windows Server 2012 R2へActive Directoryをインストール・

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

  • スポンサーリンク