Windows Server 2008 R2 からは Server Core でも .NET Framework がサポートされ、Server Core の IIS7.5 で ASP.NET アプリケーションを実行できるなど、Server Core 活用の幅が広がっています。

しかしこの Server Core での .NET Framework サポートはサブセットのみであり、どのネームスペースがサポートされないかが重要になります。その情報が TechNet Blog に掲載されていましたので紹介します。

  • Microsoft.Aspnet.Snapin
  • Microsoft.Ink
  • Microsoft.ManagementConsole.*
  • Microsoft.StylusInput.*
  • Microsoft.VisualBasic.Compatibility.VB6
  • Microsoft.Windows.Themes
  • Microsoft.WindowsCE.Forms
  • Microsoft.WindowsMobile.DirectX.*
  • System.ComponentModel.Design.*
  • System.Data.Design
  • System.Deployment.Application
  • System.Diagnostics.Design
  • System.Media
  • System.Messaging.*
  • System.Speech.*
  • System.Web.UI.Design.*
    (design time support in this namespace is unavailable, runtime support for expression builders is supported)
  • System.Windows.*
  • UIAutomationClientsideProviders

また妥当なところといえば妥当なところでしょうか。

.NET 2.0 and Server Core in Windows Server 2008 R2
http://blogs.technet.com/server_core/archive/2008/11/25/net-2-0-and-server-core-in-windows-server-2008-r2.aspx

Currently rated 3.0 by 112 people

  • Currently 2.991071/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

netsh コマンドを使ってネットワークインターフェースにアドレスを設定する場合、
IP アドレスはもちろんのこと DNS サーバのアドレス等も設定します。

DNS サーバの IP アドレスと DNS サーバのアドレスを設定するには

> netsh int ipv4 set add name="ローカル エリア接続" static address="192.168.0.2" mask="255.255.255.0" gateway="192.168.0.1" gwmetric=0
> netsh int ipv4 set dns name="ローカル エリア接続" static 192.168.0.1

といった形で指定します。

このとき、指定できる DNS サーバのアドレスはひとつだけになります。
通常の Windows Server では複数の DNS サーバを指定することが可能です。
複数の DNS サーバのアドレスを netsh コマンドで設定したいときは下記のコマンドを利用します。

> netsh int ipv4 add dns name="ローカル エリア接続" address="192.168.0.11" index=2 

こうすると、既存の DNS サーバのアドレスに加えて、ここで指定した新しい DNS サーバのアドレスが設定に追加されます。

Currently rated 3.0 by 26 people

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Windows Server 2008 Server Core をファイルサーバにしたい場合は、デフォルトの状態でファイルサーバのロールがインストールされているため、必要なのは追加サービスのインストールやファイル共有の設定になります。

ファイルサーバとして設定するために、すべてローカルコンソールでコマンドを打つのは大変なため、リモートからMMCを使って Server Core を管理できるようにします。

> netsh adv set currentprofile settings remotemanagement enable
> netsh adv fi set rule name="リモート管理 (RPC)" new enable=yes
> netsh adv fi set rule name="リモート管理 (RPC-EPMAP)" new enable=yes
> netsh adv fi set rule name="リモート管理 (NP 受信)" new enable=yes
> netsh adv fi set rule name="リモート ボリューム管理 - 仮想ディスク サービス (RPC)" new enable=yes
> netsh adv fi set rule name="リモート ボリューム管理 - 仮想ディスク サービス ローダー (RPC)" new enable=yes
> netsh adv fi set rule name="リモート ボリューム管理 (RPC-EPMAP)" new enable=yes
> netsh adv fi set rule name="ファイルとプリンタの共有 (SMB 受信)" new enable=yes

以上のコマンドを Server Core で実行することにより、リモートコンピュータから、Windows ファイアウォールの設定および各種 MMC での接続ができるようになります。
共有フォルダの設定などは、接続できるようになった MMC 経由で設定することになります。
またリモートボリューム管理を有効にすることにより、物理ディスクの管理もリモートから可能になります。

これらをコマンドで設定する方法を紹介しましたが、Windows ファイアウォームのリモート管理を有効にした後に、MMC経由でリモートからルールを有効化することももちろん可能です。

ファイル共有に加えて、分散ファイルシステム (DFS) を利用する場合は、下記コマンドでロールを追加できます。

> ocsetup DFSN-Server
> ocsetup DFSR-Infrastructure-ServerEdition

Currently rated 3.0 by 142 people

  • Currently 3.021127/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Server Core をメンバサーバとしてドメインとして参加させるには、
NETDOM コマンドを使ってドメインに参加させます

> netdom join {ホスト名} /domain:{参加するドメイン名} /UserD:{ドメインに追加するためのユーザアカウント} /PasswordD:* /SecurePasswordPrompt

なお、自身のホスト名を確認する場合は Hostname コマンドを、
コンピュータ名を変更するには netdom renamecomputer コマンドを利用します

Currently rated 4.8 by 40 people

  • Currently 4.75/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Windows Server 2008 セットアップ時にプロダクトキーを入力せず
そのまま Server Core な状態でインストールを終了していると
ログイン後にコマンドでプロダクトキーを入力して、ライセンス認証をする必要があります。

Server Core でプロダクトキーをインストールするには、

> cscript \Windows\System32\slmgr.vbs -ipk {XXXXX-...-XXXXX}

と、プロダクトキーを指定することで可能になります

プロダクトキーをインストールした後は、
同じく slmgr.vbs を使ってライセンス認証を行うことができるようになります
LINK: ライセンス認証をコマンドで行う

Currently rated 3.0 by 5 people

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Windows Server 2008 を既存の Active Directory に追加しようとした時に
Active Directory のスキーマを更新する必要がある場合があります

その場合には、Windows Server 2008 のインストールメディアにある adprep を
既存のドメインコントローラで実行して、スキーマを更新します

Active Directory のスキーマ マスタになっている既存のドメインコントローラで、
権限のあるアカウントを使用して、Windows Server 2008 インストールメディアの /sources/adprep/ にある
adprep.exe をコマンドプロンプトから実行します

> adprep /forepstPrep

これでフォレストのスキーマを更新できます

同様にドメインの更新には

> adprep /domainPrep
> adprep /domainPrep /gpprep 

といったコマンドが利用可能です

Currently rated 3.0 by 5 people

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

DNS サービスを Windows Server 2008 の Server Core にインストールするには

> ocsetup DNS-Server-Core-Role

として DNS サービスの役割をインストールします。
これで DNS サービスはインストールが完了しますが、
DNSサーバ自身がローカルのDNSから名前解決をするようにするためには
netsh などを使ってローカルのDNSサーバを使って名前解決するように設定を変更する必要があります

> netsh int ipv4 set dns name="InternalNIC" static address="192.168.0.1"
> netsh int ipv4 add dns name="InternalNIC" address="192.168.0.2" index=2

こう指定することによって、自らのDNSサービスを使って名前解決をするようになります
また、add dns を使うことによって、名前解決に使う複数の DNS サーバを指定することも可能です

そして dnscmd を使ってセカンダリゾーンを追加するためには

> dnscmd /zoneadd newdoamin.local /Secondary 192.168.0.2

とゾーン転送してくるDNSサーバを指定し、セカンダリゾーンを構成します。
なおプライマリゾーンでは、セカンダリDNSサーバのレコードを指定しゾーン転送を許可するなどの指定が、あらかじめ必要です。

DNS サーバに設定されたゾーンの設定を確認したい時などは

> dnscmd /enumzones
> dnscmd /zoneinfo domain.local
> dnscmd /zoneprint domain.local

といったコマンドで、ゾーンの情報を調べることが可能です

DNSCmd の詳しい解説は、下記のサイトも参考にしてみてください
http://support.microsoft.com/kb/286041/ja
http://technet.microsoft.com/en-us/library/cc756116.aspx
http://www.microsoft.com/japan/technet/windowsserver/2008/library/e7f31cb5-a426-4e25-b714-88712b8defd5.mspx?mfr=true

Currently rated 3.0 by 5 people

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Server Core としてインストールした Windows Server 2008 に
IPv4 および IPv6 のアドレスを設定する場合は、netsh コマンドを利用します

> netsh int set int name="ローカル エリア接続" newname="InternalNIC"
> netsh int ipv4 set add name="InternalNIC" static address="192.168.0.10" mask="255.255.255.0" gateway="192.168.0.1" gwmetric=0
> netsh int ipv4 set dns name="InternalNIC" static 192.168.0.2
> netsh int ipv6 set add int="InternalNIC" 2008:380:e07:8d:1000::c0a8:8012
> netsh int ipv6 set add int="InternalNIC" fe80::192.168.0.10

IPv4 アドレスはもちろん、IPv6 アドレスも指定できます。
また IPv6 アドレスの場合は、各種の IPv6 アドレス表記法 (IPv4 射影アドレス等) も利用ができます

これらの設定を確認する場合には

> netsh int ipv4 show conf
> netsh int ipv6 show add

というコマンドで確認が可能です

Currently rated 3.0 by 5 people

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Windows Server 2008 の Server Core を Active Directory のドメインコントローラに設定するには、
dcpromo コマンドを使って Active Directory 機能をインストールします。

Active Directory の構成には多数の設定項目があり、オプションスイッチや無人応答ファイルを指定することで、インストールを行います。
今回は dcpromo に対して直接コマンドラインのオプションスイッチを指定して、既存の Active Directory に追加のドメインコントローラとして Join させます。

サーバを既存のドメインの追加ドメインコントローラとするには

dcpromo /ReplicaDomainDNSName:"{DOMAIN}.local"
              /ReplicaOrNewDomain:Replica
              /ConfirmGc:Yes
              /InstallDNS:Yes
              /SafeModeAdminPassword:"{NewPassword}"
              /UserName:"Administrator" /Password:* /UserDomain:"{DOMAIN}"

というようなコマンドを実行します。
それぞれのオプションの意味は

ReplicaDomainDNSName: {DOMAIN}.local = ドメインコントローラとして追加する Active Directory ドメインの DNS 名を指定する
ReplicaOrNewDomain: Replica = 追加ドメインコントローラとして構成する
ConfirmGc: Yes = グローバルカタログサーバとして構成する
InstallDNS: Yes = DNSサービスを自動的にインストールするかを決定します
SafeModeAdminPassword: {NewPassword} = Active Directory を復元するときなどに利用するパスワードを指定する
UserName: Administrator = 既存ドメインに追加するために必要なユーザ権限を持つユーザを指定する
Password: * = 先に UserName で指定したユーザのパスワードを、ダイアログを表示させて入力する
UserDomain: {DOMAIN} = 先に UserName で指定したユーザが所属するドメインを指定する
 

となっています。
また、逆にドメインコントローラからメンバサーバに降格する場合は、

dcpromo /AdministratorPassword:"{NewLocalAdminPassword}"
              /UserName:"Administrator" /Password:* /UserDomain:{DOMAIN}

といった形で、降格することができます。

dcpromo のコマンドオプションは

dcpromo /?
dcpromo /?:Promotion
dcpromo /?:Demotion 

などと指定することで、ヘルプを見ることができます。

コマンドパラメータについては、次のサイトにも詳しい説明が掲載されています
http://www.microsoft.com/japan/technet/windowsserver/2008/library/d2521765-9e7b-44b6-9021-496908f4b952.mspx?mfr=true

Currently rated 3.0 by 5 people

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Windows Server 2008 Server Core でライセンス認証の状態確認と認証実行は
あらかじめ用意されている slmgr.vbs というスクリプトで行うことができます

> cd \Windows\System32
> cscript slmgr.vbs -dlv

とすることで、現在のライセンス認証の状態が表示されます
ライセンス認証が終わっていない場合は

> cscript slmgr.vbs -ato

として、ライセンス認証を実行することができます

詳しい使い方は

> cscript slmgr.vbs

と、オプションなしでスクリプトを実行すると表示されます

Currently rated 3.5 by 154 people

  • Currently 3.48052/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Windows Server 2008 - Server Core をリモートから管理するには、
リモートデスクトップでつなぐ、WinRM を使う、MMC等でサービスをリモート管理などになりますが、
もうちょっとお手軽にローカルで操作しているかのようにリモートから接続する方法があります

まずはリモートデスクトップを有効化するところから始まります
Server Core のコンソールで ScRegEdit.wsf スクリプトを /AR オプションで実行し
リモートデスクトップを有効にします

> cd \Windows\System32
> cscript SCregEdit.wsf /ar 0

さらにそのままだと、コンピュータ名の接続ができず、ping にも応答しないため
ファイアウォールのルールでポートを開き、少しセキュリティレベルを落としてしまいます

> netsh advfi fi set rule name="ファイルとプリンタの共有 (NB 名受信)" new enable=yes
> netsh advfi fi set rule name="ファイルとプリンタの共有 (エコー要求 - ICMPv4 受信)" new enable=yes
> netsh advfi fi set rule name="ファイルとプリンタの共有 (エコー要求 - ICMPv6 受信)" new enable=yes

これでほかのマシンからコンピュータ名で ping にも応答するようになったと思います

あとは RemoteApp を許可するレジストリエントリを Server Core マシンに追加します
コンソールで Notepad RemoteApp.reg などと入力してレジストリ登録ファイルを作成します
メモ帳が立ちあがったら下記のように登録するレジストリエントリを入力します

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TsAppAllowList\Applications\cmd]
"CommandLineSetting"=dword:00000000
"RequiredCommandLine"=""
"IconIndex"=dword:00000000
"IconPath"="c:\\Windows\\System32\\cmd.exe"
"Path"="c:\\Windows\\System32\\cmd.exe"
"VPath"=""
"ShowInTSWA"=dword:00000001
"Name"="cmd.exe"

入力が終わり保存したら、コンソールで RemoteApp.reg を実行して、レジストリを登録します。
RegEdit を起動して確かめると、ちゃんとエントリが登録されています。

以上でサーバ側の設定は終了です。

残るは RemoteApp を使ってリモートから管理をしたいクライアントに接続用の設定ファイルを作るだけです。
クライアント上でメモ帳をなどを使って .rdp ファイルを作成します。

full address:s:[SERVERNAME]
server port:i:3389
alternate shell:s:||cmd
remoteapplicationmode:i:1
remoteapplicationprogram:s:||cmd
remoteapplicationname:s:cmd.exe
remoteapplicationcmdline:s:

これをテキストで .rdp ファイルとして保存をして実行すれば、
RemoteApp が起動して認証情報を入力が完了すると、
Server Core のコンソールがクライアント側に表示されます。

いかがでしょうか。Server Core を管理するときに、リモートデスクトップをベースにリモートから構成ができるようになります。
MMC や WinRM も便利ではありますが、サーバの手元でコンソールを動かしている状態がそのまま使えるというのも、なかなか便利じゃないかと思います。

ちなみにこの記事は、安納さんの記事をかなり参考にしました。ありがとうございます。
http://blogs.technet.com/junichia/archive/2008/04/14/windows-server-2008-server-core-remoteapp.aspx

Currently rated 2.5 by 4 people

  • Currently 2.5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Windows Server 2008 を Server Core でインストールすると
インストールが終わって最初にログインを要求されます

このときに一体何を入力すればいいのかまったく案内がないので
うっかりしていると何をしていいのかあわててしまいます...

ここではユーザ名に Administrator を、パスワードは空白のままでログインをします
そうするとパスワードの変更をすることになり、無事に初期構成が完了します

これは結構はまりがちです

ここに至るまでは Server Core でなくともほぼ同じインストールプロセスですが
このログイン画面でいきなり違いが出てくるんですよね...

まあ、一度やってしまえばもう慣れてしまうところではありますが

Currently rated 3.0 by 5 people

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5