Uncategorized

定番の Windows コマンド備忘録

こんにちは。

ご存じの通り Server Core は、Windows Server 2008 R2 で .NET 開発者にとっても無関係なものではなくなりました。いままでは “Developer” エバンジェリストの私としては遠くから見ていた Server Core でしたが、そんなわけで、この環境で開発者の皆様向けに配置 / 開発 / デバッグ などのノウハウをいつかお届けすべく格闘しています。

自分はコマンド大好き人間で結構使ってきた “つもり” でしたが、甘かったです。「コマンド縛り」 というのがこんなにやっかいなものであることに痛感です。例えば「怖いから、まずは Windows Update を当ててからにしよう !」と思った瞬間に、「で、Windows Update を強制的に当てるにはどうしたら良いの ???」、「当たったかどうかどこで確認するの ???」といった具合。
「リモートから管理ツールとかでつないで UI で管理すれば ?」と言われるかもしれませんが、一度その味をしめるとまた同じ時に悔しい思いをするので意地になって調べることにしました。

奥主 が記載した「Windows Server Core と IIS」や、安納ブログServer Core のチームブログ なども参考にメモしてみた、Server Core の設定で出くわした、もしくは出くわしそうなコマンド (メモ) を私なりに以下にまとめておきます。

  • マシンをシャットダウン :
    shutdown /s
  • マシンを再起動 :
    shutdown /r
  • ログオフ :
    logoff
  • コンピュータ名の変更 (ワークグループの場合) :
    netdom renamecomputer <current computername> /NewName:<new computer name>
  • コンピュータ名の変更 (ドメイン参加の場合) :
    netdom renamecomputer <current computername> /NewName:<new computer name> /UserD:<domain><username> /PasswordD:*
  • マシンをドメインに参加させる :
    netdom join <current computername> /domain:<domain> /userd:<domain><username> /password:*
  • ドメインから抜ける :
    netdom remove
  • 役割の追加 :
    Start /w ocsetup <RolePackage>

    <RolePackage> については下記を参照
    http://blogs.technet.com/server_core/archive/2006/06/02/431995.aspx

  • 機能の追加 :
    Start /w ocsetup <OptionalFeaturePackage>

    <OptionalFeaturePackage> については下記を参照
    http://blogs.technet.com/server_core/archive/2006/06/02/431995.aspx
    http://blogs.technet.com/server_core/archive/2008/11/25/net-2-0-and-server-core-in-windows-server-2008-r2.aspx
    http://blogs.technet.com/server_core/archive/2008/12/19/net-3-0-and-3-5-in-windows-server-2008-r2-server-core.aspx

  • 役割と機能の一覧 :
    oclist
  • アカウント (ユーザー) の一覧 :
    net user
  • アカウント (ユーザー) の情報 (所属グループ、など) :
    net user <accountname>
  • アカウント (ユーザー) の追加 :
    net user <accountname> <password> /add 
  • アカウント (ユーザー) のパスワード変更 :
    net user <accountname> <new_password>
  • アカウント (ユーザー) の名前の設定 :
    net user <accountname> /fullname:<fullname>
  • アカウント (ユーザー) のパスワードを無期限にする (2012/01/10 修正、下記コメント参照) :
     net user <accountname> /expires:never wmic useraccount where "Name='<accountname>'" set PasswordExpires=FALSE

    (ただし、domain account (Active Directory) の場合には不可。Group Policy 設定で、既定のドメイン ポリシーの [Maximum password age] を 0 に設定するなどしてください)

  • アカウント (ユーザー) の削除 :
    net user <accountname> /delete
  • アカウント (ユーザー) をグループに追加する :
    net localgroup <groupname> /add <domain><username>

    (domain group への追加方法については下記参照)

  • Active Directory でドメイン グループを追加する。例えば、example.com ドメインの Users に、「Test Group」のグループ (グローバルのセキュリティ グループ) を作成する場合は下記の通り :
    dsadd group cn="Test Group",cn=Users,dc=example,dc=com -scope g
  • Active Directory のドメイン グループにユーザーを追加する。例えば、example.com ドメインの Domain Admins グループにドメイン ユーザー testuser を追加する場合は下記の通り :
    dsmod group "cn=Domain Admins,cn=Users,dc=example,dc=com" -addmbr cn=testuser,cn=Users,dc=example,dc=com
  • ネットワークの設定の確認/変更 :
    netsh interface ipv4

    (IPv6 の場合は「ipv6」) で使用できるコマンドをご確認ください (すみません、ここでは、説明省略します)

  • ファイアウォールを無効にする :
    netsh firewall set opmode disable
  • リモートデスクトップ接続を有効にする :
    cscript %windir%\system32\SCRegEdit.wsf /ar 0cscript %windir%\system32\SCRegEdit.wsf /cs 0
  • スクリーンセーバーをオフにする :
    echo y | reg add "HKCU\Control Panel\Desktop" /v ScreenSaveActive /d 0
  • 画面サイズを変更する :
    下記の安納のブログを参照してください。
    http://blogs.technet.com/junichia/archive/2008/07/04/change-resolution-of-Server-Core-on-Hyper_2D00_V.aspx
  • 地域と言語のオプションを確認/設定 :
    control intl.cpl
  • システムのプロパティを確認/設定 :
    control sysdm.cpl
  • システム情報の表示 :
    systeminfo
  • 電源オプションの確認 :
    powercfg /listpowercfg /query <上記で表示される GUID>

    (一覧の見方 : AC は電源に接続, DC はバッテリー駆動. 表示は 16 進数)

  • 電源オプションの設定変更 (Vista 以降のスリープのタイムアウト設定含む) :
    「電源接続」の値の場合 :

    powercfg /setacvalueindex <Scheme GUID> <Sub GUID> <Setting GUID> <10 進の value>

    「バッテリー駆動」の値の場合 :

    powercfg /setdcvalueindex <Scheme GUID> <Sub GUID> <Setting GUID> <10 進の value>
  • 日付と時刻の確認 / 設定 :
    control timedate.cpl
  • インストールされているアプリケーションの一覧 :
    wmic product get name /value
  • アプリケーション (.msi) のインストール :
    msiexec /i <MsiName>
  • インストールされているアプリケーションのアンインストール :
    wmic product where name="<ApplicationName>" call uninstall
  • Windows Update の自動更新 (午前 3 時) の有効化 :
    cscript c:\windows\system32\scregedit.wsf /au 4net stop wuauservnet start wuauserv

    (詳細は http://blogs.technet.com/server_core/archive/2007/01/26/windows-update-and-more-wmic-samples.aspx を参照)

  • Windows Update の強制確認/インストール :
    wuauclt /detectnow

    (詳細は http://blogs.technet.com/server_core/archive/2007/01/26/windows-update-and-more-wmic-samples.aspx を参照)

  • Windows Update の実行結果の確認 :
    notepad c:\windows\windowsupdate.log
  • 更新 / ホットフィックスの適用 :
    wusa <MsuName> /quiet
  • インストールされているサービスの一覧 (イコールのあとに空白があるので注意 !) :
    sc query state= all
  • サービスの開始 :
    net start <servicename>
  • サービスの停止 :
    net stop <servicename>
  • サービスのスタートアップ (起動) 方法を設定 (下記、イコールのあとに空白があるので注意 !) :
    sc config <servicename> start= autorem-- 自動の場合sc config <servicename> start= demandrem-- 手動の場合sc config <servicename> start= disabledrem-- 無効化の場合
  • インストールされているドライバの一覧 (イコールのあとに空白があるので注意 !) :
    sc query type= driver
  • イベントログの確認 :
    wevtutil qe /f:text <system/application/etc>

    (詳細は、http://blogs.technet.com/server_core/archive/2006/09/25/458931.aspx を参照)

  • OS のアクティベーションをする :
    cscript slmgr.vbs -ato
  • OS のアクティベーションを確認する :
    cscript slmgr.vbs -did
  • 共有の開始 :
    net share <共有名>=<フォルダのフルパス> /grant:everyone,full

    (ここでは、共有の権限として Everyone にフルコントロールの権限を設定)

  • 共有の停止 :
    net share <共有名> /delete
  • ネットワークドライブの割り当て :
    net use <ドライブ> <共有フォルダ>
  • ネットワークドライブの切断 :
    net use <ドライブ> /delete
  • 特定のディレクトリ下のファイルをファイル名で検索 :
    dir /s "<ディレクトリー>" /b | findstr /c:"<検索文字列>" /i
  • 特定のディレクトリ下のファイルに含まれる文字列で検索 :
    findstr /c:"<検索文字列>" /i /s "<ディレクトリー>*"

    (ただし、大文字・小文字を区別する場合、/i は不要)

 

Categories: Uncategorized

Tagged as: ,

5 replies»

  1. 松崎 剛 Blog からです。 コマンド備忘録 (開発者も、Server Core へのご準備を) 既に閲覧されてる方も多いかと思いますが、MS エバンジェリストの松崎さんが投稿されているコマンド防備録が非常に参考になります。自分も

    Like

  2. はじめまして。
    こちらの情報を参考に構築していたところ、下記の誤りを発見しました。
    (誤)
    •アカウント (ユーザー) のパスワードを無期限にする : net user <accountname> /expires:never
     →これは、アカウントを無期限にするコマンドでした。
    調べたところ、アカウント(ユーザー)のパスワードを無期限にする場合は、こちらでした。
     wmic useraccount where "Name='アカウント名'" set PasswordExpires=FALSE
    今後もたくさんの方がこのブログを参考にすると思いますので、修正していただけると幸いです。
    そして、このたびは大変お世話になりました。m(_ _)m

    Like

  3. ご指摘、ありがとうございます!(誤った情報、失礼いたしました。)
    早速、上記、修正しておきます。

    Like