Server Coreの最近のブログ記事

Server CoreでFirewallを無効にするには?

|

無効にしちゃっていいのかどうかは別として、
これをやると通信ができない場合の切り分けにはなります。

> netsh advfirewall set currentprofile state off 

もうFirewallなんていらないのなら、全部きってしまいます。

> netsh advfirewall set allprofiles state off 

"profile(s)"が、単数、複数の区別があるので注意してください。


 

ServerCoreでは、notepad.exe(メモ帳)が使えるので、 これを利用して、テキストの設定ファイルを編集できますが、
>notepad.exe hoge.xml
とやってファイルを開き、編集、上書き保存をすると、 文字コードがShift-JISになってしまいます。

xmlファイルはUnicodeになっていなければならないので、
これでは正しいxmlファイルとして読み込まれません。

なので、正しくは、
>notepad.exe /W hoge.xml
とします。

Hyper-Vの設定ファイルなどを編集するときに気を付けてください。

なお、Shift-JISになってしまったxmlファイルを
ServerCore上でUnicodeに直す方法はわかりません。

ファイル共有をして、
外のマシンからTeraPad(UTF-8対応)などで開くしかないと思います。

【後日談】
notepad.exe /Wで開いても、保存のときはShift-JISになっちゃいました。
なので、無理です。

ServerCoreでもSDI(Single Document Interface)もののアプリケーションならば使用できると思う(※)ので、TeraPadなどをインストールしたほうがよいです。

TeraPadをインストールして、PATHを通します。
>setx Path "%Path%;c:\Program Files (x86)\TeraPad"
Pathは一回logoffして、次回のlogon時から有効になります。

※wgetのwindows版や、TeraTermPro(ttermpro.exe)、FFFTPなどが使用できました。

 

環境変数の設定

|
>setx Path "%Path%;c:\bin"
というようにやる。

この""(ダブルコーテーション)で必ず囲ってやる必要があるです。

path %Path%;c:\bin
だと、そのシェルだけのコマンドパスになるので注意


さらに、GUIの時の"あの画面"で設定することを、
直接コマンドラインでやりたいという人は、

# # まずは現在のPathをGETで確認します。 # # ※これらのキーワードが知りたい人は、 # C:\wmic /? # C:\wmic environment /? # C:\wmic environment list # などと、手繰っていってください。 #
C:\>wmic environment WHERE Name='Path' GET VariableValue

C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;

# # 次に、設定したいPathを既存のPathにつなげて、SETします #

C:\>wmic environment Where Name='Path' SET VariableValue='C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;;C:\Program Files (x86)\NTP\bin;C:\Program Files (x86)\TeraPad;C:\Program Files (x86)\GnuWin32\bin;C:\Program Files (x86)\ffftp;C:\Program Files\Lhaca';

'\\VM-2008\ROOT\CIMV2:Win32_Environment.Name="Path",UserName=""' のプロパティを更新しています

プロパティは正しく更新されました。

設定したPathが有効になるのは、相変わらず次回のログオン時からなのですが、
これはなんとか現在のログオン時に有効にさせる方法はないものでしょうか。

Windows Updateの自動更新の設定

|

これもSCregEdit.wsfを使用します。

c:\Windows\System32>cscript SCregEdit.wsf /AU [/v][値]
  /v  現在の自動更新の設定を表示します
  値  設定する値を指定します

  オプション:   4 - 自動更新を有効にします   1 - 自動更新を無効にします

というので、
c:\Windows\System32>cscript SCregEdit.wsf /AU 4
レジストリが更新されました。
これでOK。

ターミナルサービスの接続を許可するときにも使用しましたが、
scregedit.wsfというスクリプトはServerCoreの基本設定に役立ちます。

そして、ServerCoreの有用なコマンドヘルプもこのスクリプトで表示できます。

c:\Windows\System32>cscript SCregEdit.wsf /cli

■ライセンス認証を行うには:
  Cscript slmgr.vbs -ato

■ライセンス認証に KMS ボリューム ライセンスを使用するには:
  KMS ボリューム ライセンスを構成します:
    cscript slmgr.vbs -ipk [ボリューム ライセンス キー]
  KMS ライセンスのライセンス認証を行います
    cscript slmgr.vbs -ato
  KMS DNS SRV レコードを設定します
    cscript slmgr.vbs -skma [KMS FQDN]

■次のいずれかでコンピュータ名を決定します:
  Set c
  Ipconfig /all
  Systeminfo.exe または Hostname.exe

■Server Core コンピュータの名前を変更します:
  ドメインに参加している場合:
   Netdom renamecomputer %computername% /NewName:変更後の名前 /UserD:ドメイン ユーザー名 /PasswordD:*
  ドメインに参加していない場合:
   Netdom renamecomputer %computername% /NewName:変更後の名前

■ワークグループを変更します:
  Wmic computersystem where name="%computername%" call joindomainorworkgroup name="[変更後のワークグループ名]"

■役割またはオプション機能をインストールします:
  Start /w Ocsetup [パッケージ名]
  注意: Active Directory では、応答ファイルを指定して Dcpromo を実行します。

■役割およびオプション機能のパッケージ名と現在のインストール状態を表示します:
  oclist

■タスク マネージャのホットキーを起動します:
  ctrl-shift-esc

■ターミナル サービス セッションのログオフ:
  Logoff

■ページ ファイル サイズを設定するには:
  システム ページ ファイル管理を無効にします:
    wmic computersystem where name="%computername%" set AutomaticManagedPagefile=False
  ページ ファイルを構成します:
    wmic pagefileset where name="C:\\pagefile.sys" set InitialSize=500,MaximumSize=1000

■タイムゾーンまたは日時の構成:
  control timedate.cpl

■地域と言語のオプションの構成:
  control intl.cpl

■管理ツールまたはエージェントを手動でインストールします:
  Msiexec.exe /i [msi パッケージ]

■インストールされている MSI アプリケーションの一覧を表示します:
  Wmic product

■msi アプリケーションのアンインストール:
  Wmic product get name /value
  Wmic product where name="[name]" call uninstall

■インストールされているドライバを一覧表示するには:
  Sc query type= driver

■一覧にないドライバをインストールします:
  ドライバ ファイルを Server Core にコピーします
  Pnputil -i -a [パス]\[ドライバ].inf

■ネットワーク アダプタ名を変更します:
  netsh interface set interface name="ローカル エリア接続" newname="PrivateNetwork"

■ネットワーク アダプタを無効にします:
  netsh interface set interface name="ローカル エリア接続 2" admin=DISABLED

■ファイルのバージョンを判別します:
  wmic datafile where name="c:\\windows\\system32\\ntdll.dll" get version

■インストールされている修正プログラムの一覧を表示します:
  wmic qfe list

■修正プログラムをインストールします:
  Wusa.exe [修正プログラム名].msu /quiet

■プロキシを構成します:
  Netsh winhttp set proxy [プロキシ名]:[ポート]

■レジストリ値を追加、削除、または照会します:
  reg.exe add /?
  reg.exe delete /?
  reg.exe query /?


 

サーバーのライセンス認証

|

基本的に、%windir%\System32にあるslmgr.vbsというスクリプトを使用する。

まず、プロダクトキーを入力する。
c:\Windows\System32>cscript slmgr.vbs -ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
プロダクト キー XXXXX-XXXXX-XXXXX-XXXXX-XXXXX を正常にインストールしました。
ただし、今回はボリュームラインセンスキーでも、これだけでは完全にライセンス認証されたことにならない。 ためしに、ライセンス情報を表示させてみる。
c:\Windows\System32>cscript slmgr.vbs -dli
名前: Windows Server(R), ServerEnterpriseCore edition
説明: Windows Operating System - Windows Server(R), VOLUME_MAK_B channel
プロダクト キーの一部: XXXXX
ライセンスの状態: 最初の猶予期間
残り時間: 83880 分 (58 日))
なので、ライセンス認証を行う。
c:\Windows\System32>cscript slmgr.vbs -ato
Windows Server(R), ServerEnterpriseCore edition (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxx
xxxxx) のライセンス認証を行っています...
製品は正常にライセンス認証されました。
そして、再びライセンス認証の情報を見てみると、、、
c:\Windows\System32>cscript slmgr.vbs -dli
名前: Windows Server(R), ServerEnterpriseCore edition
説明: Windows Operating System - Windows Server(R), VOLUME_MAK_B channel
プロダクト キーの一部: 7R9Y9
ライセンスの状態: ライセンスされています

Server Core のFireWallのログ

|

■FireWallのログを出力するには

たとえば、dropされたログを出力するようにするのは、

c:\>netsh firewall set logging droppedpackets=ENABLE

これで、設定を確認すると、、、

>netsh firewall show log

ログの構成: ------------------------------------------------------------------- ファイルの場所 = C:\Windows\system32\LogFiles\Firewall\pfirewall.log 最大のファイル サイズ = 4096 KB ドロップされたパケット = Enable 接続 = Disable

設定が変更されている。

ログを見てみると、、、

c:\>type C:\Windows\system32\LogFiles\Firewall\pfirewall.log

#Version: 1.5 #Software: Microsoft Windows Firewall #Time Format: Local #Fields: date time action protocol src-ip dst-ip src-port dst-port size tcpflags tcpsyn tcpack tcpwin icmptype icmpcode info path 2008-01-17 22:28:07 DROP UDP 192.168.0.254 192.168.0.255 138 138 229 - - - - - - - RECEIVE

このように出力されてます。


■現在のFireWallの状態を見る

c:\>netsh firewall show state

ファイアウォールの状態: ------------------------------------------------------------------- プロファイル = STANDARD 操作モード = Enable 例外モード = Enable マルチキャスト/ブロードキャスト応答モード = Enable 通知モード = Disable グループ ポリシーのバージョン = Windows ファイアウォール リモート管理モード = Disable

すべてのネットワーク インターフェイスで開いているポート: Port Protocol Version Program ------------------------------------------------------------------- すべてのネットワーク インターフェイスで開いているポートは現在ありません。


この「リモート管理モード」がDisableの状態だと、
外部のPCからMMC管理ツールで接続できません


■他のマシンから管理ツールで接続できるようにFireWallを設定する

netsh advfirewall firewall set rule group="リモート管理" new enable=yes
netsh advfirewall firewall set rule group="Windows ファイアウォール リモート管理" new enable=yes
netsh advfirewall firewall set rule group="リモート ボリューム管理" new enable=yes
(まだよく理解してません)

この設定をすると、下記のような状態になって、
他のPCのWindows Vistaなどの管理ツールから
Server Coreを設定できるようになります。

が、Vistaのふつうの管理ツールからでは完全には設定できません。 W2K8に入っている(別途Vista用が配布される予定のある)RSATというツールを使って接続する必要があります。 別のServerCoreではないW2K8のコマンドプロンプトで、
>C:\windows\system32\ServerManagerCmd.exe -install  RSAT
とすると、そのW2K8からはすべての管理ツールが使えるようになります。

ファイアウォールの状態:
-------------------------------------------------------------------
プロファイル                              = STANDARD
操作モード                                = Enable
例外モード                                = Enable
マルチキャスト/ブロードキャスト応答モード = Enable
通知モード                                = Disable
グループ ポリシーのバージョン             = Windows ファイアウォール
リモート管理モード                        = Enable

すべてのネットワーク インターフェイスで開いているポート: Port Protocol Version Program ------------------------------------------------------------------- すべてのネットワーク インターフェイスで開いているポートは現在ありません。

※参考にさせていただきました。
【Windows Server 2008】Server Core の管理をリモートのMMCから行うための準備

 

サーバーの役割をインストールするには、ocsetup.exeを使用する。
ちなみに、引数のサーバー役割名は大文字、小文字を区別する
oclist.exeを使用して正しい引数を確認すること。

使い方としては、普通に実行すると、
C:\>ocsetup.exe DHCPServerCore
C:\>
このようにすぐにバックグラウンドタスクになってしまい、 いつ終了したかがよくわからなくなってしまう。 しかも、並行して複数のインストールが進められるわけでもない。 そこで、
C:\>start /w ocsetup DHCPSeverCore
とやると、インストールが終了まで、 コマンドの制御が帰ってこないので、終了がわかりやすい。

※コマンドプロンプトのウィンドウの裏に、エラーダイアログが出現している場合もあるので注意

インストールが終了したと思われたら、確認のためにoclist.exeを実行する。
C:\>oclist.exe | findstr DHCP
  インストール済み:DHCPServerCore
と出る。 もちろん、
C:\>oclist.exe | findstr "インストール済み"
    インストール済み:DHCPServerCore
    インストール済み:DNS-Server-Core-Role
    インストール済み:FailoverCluster-Core
    インストール済み:TelnetClient
とやってもよい。


■サーバーの役割をアンインストールするには?

C:\>start /w ocsetup.exe DHCPServerCore /uninstall

再起動が必要な場合には、その旨のダイアログが出てくる。

再起動は自動的に行わせたいのなら、
C:\>start /w ocsetup.exe DHCPServerCore /uninstall /queit
再起動をさせたくないのなら、
C:\>start /w ocsetup.exe DHCPServerCore /uninstall /norestart

 

サーバーの役割を表示する(oclist.exe)

|

サーバーの役割を表示させるには、oclist.exeを使用する。

ただし、 表示量が多く、コマンドプロンプト上では表示がスクロールして流れてしまうので、
テキストファイルにリダイレクトさせるとか、
| more を使ったほうが良い。

例:moreを使う
>oclist.exe | more 
例:テキストファイルにリダイレクトする。   (メモ帳でテキストファイルを開ける)
>oclist.exe > hoge.txt
>notepad.exe hoge.txt

すると下記のような表示が現れる。
「未インストール」と表示されているものは、ocsetup.exe
インストールすることができる。

といっても、Server Coreで利用できるものは限定されていて、
IISの役割などはインストールできないのだが。

サーバーの役割またはオプションの機能をインストールまたはアンインストールするには、
一覧に表示された更新名を指定して ocsetup.exe を実行してください。

ocsetup.exe を使用した Active Directory の役割の追加または削除はサポートされていません。 この操作を実行した場合、サーバーが不安定な状態になる可能性があります。 Active Directory をインストールまたはアンインストールするには、 必ず Dcpromo を使用してください。

=========================================================================== Microsoft-Windows-ServerCore-Package 未インストール:BitLocker 未インストール:BitLocker-RemoteAdminTool 未インストール:ClientForNFS-Base 未インストール:DFSN-Server 未インストール:DFSR-Infrastructure-ServerEdition 未インストール:DHCPServerCore 未インストール:DirectoryServices-ADAM-ServerCore 未インストール:DirectoryServices-DomainController-ServerFoundation 未インストール:DNS-Server-Core-Role 未インストール:FailoverCluster-Core 未インストール:FRS-Infrastructure 未インストール:IIS-WebServerRole | |- 未インストール:IIS-FTPPublishingService | | | |- 未インストール:IIS-FTPServer | |- 未インストール:IIS-WebServer | | | |- 未インストール:IIS-ApplicationDevelopment | | | | | |- 未インストール:IIS-ASP | | |- 未インストール:IIS-CGI | | |- 未インストール:IIS-ISAPIExtensions | | | | | | | |- 未インストール:IIS-ASP | | | | | |- 未インストール:IIS-ISAPIFilter | | |- 未インストール:IIS-ServerSideIncludes | | | |- 未インストール:IIS-CommonHttpFeatures | | | | | |- 未インストール:IIS-DefaultDocument | | |- 未インストール:IIS-DirectoryBrowsing | | |- 未インストール:IIS-HttpErrors | | |- 未インストール:IIS-HttpRedirect | | |- 未インストール:IIS-StaticContent | | | |- 未インストール:IIS-HealthAndDiagnostics | | | | | |- 未インストール:IIS-CustomLogging | | |- 未インストール:IIS-HttpLogging | | |- 未インストール:IIS-HttpTracing | | |- 未インストール:IIS-LoggingLibraries | | |- 未インストール:IIS-ODBCLogging | | |- 未インストール:IIS-RequestMonitor | | | |- 未インストール:IIS-Performance | | | | | |- 未インストール:IIS-HttpCompressionDynamic | | |- 未インストール:IIS-HttpCompressionStatic | | | |- 未インストール:IIS-Security | | | |- 未インストール:IIS-BasicAuthentication | |- 未インストール:IIS-ClientCertificateMappingAuthentication | |- 未インストール:IIS-DigestAuthentication | |- 未インストール:IIS-IISCertificateMappingAuthentication | |- 未インストール:IIS-IPSecurity | |- 未インストール:IIS-RequestFiltering | | | | | |- 未インストール:IIS-ASP | | | |- 未インストール:IIS-URLAuthorization | |- 未インストール:IIS-WindowsAuthentication | |- 未インストール:IIS-WebServerManagementTools | | | |- 未インストール:IIS-IIS6ManagementCompatibility | | | | | |- 未インストール:IIS-LegacyScripts | | |- 未インストール:IIS-Metabase | | | | | | | |- 未インストール:IIS-FTPServer | | | |- 未インストール:IIS-LegacyScripts | | | | | |- 未インストール:IIS-WMICompatibility | | | | | |- 未インストール:IIS-LegacyScripts | | | |- 未インストール:IIS-ManagementScriptingTools | 未インストール:Microsoft-Windows-RemovableStorageManagementCore 未インストール:MultipathIo 未インストール:NetworkLoadBalancingHeadlessServer 未インストール:Printing-ServerCore-Role | |- 未インストール:Printing-LPDPrintService | 未インストール:QWAVE 未インストール:ServerForNFS-Base 未インストール:SNMP-SC 未インストール:SUACore 未インストール:TelnetClient 未インストール:WAS-WindowsActivationService | |- 未インストール:WAS-ProcessModel | | | |- 未インストール:IIS-ASP | |- 未インストール:IIS-BasicAuthentication | |- 未インストール:IIS-CGI | |- 未インストール:IIS-ClientCertificateMappingAuthentication | |- 未インストール:IIS-CustomLogging | |- 未インストール:IIS-DefaultDocument | |- 未インストール:IIS-DigestAuthentication | |- 未インストール:IIS-DirectoryBrowsing | |- 未インストール:IIS-HttpCompressionDynamic | |- 未インストール:IIS-HttpCompressionStatic | |- 未インストール:IIS-HttpErrors | |- 未インストール:IIS-HttpLogging | |- 未インストール:IIS-HttpRedirect | |- 未インストール:IIS-HttpTracing | |- 未インストール:IIS-IISCertificateMappingAuthentication | |- 未インストール:IIS-IPSecurity | | | |- 未インストール:IIS-ISAPIExtensions | | | | | |- 未インストール:IIS-ASP | | | |- 未インストール:IIS-ISAPIFilter | |- 未インストール:IIS-LoggingLibraries | |- 未インストール:IIS-ODBCLogging | |- 未インストール:IIS-RequestFiltering | | | | | |- 未インストール:IIS-ASP | | | |- 未インストール:IIS-RequestMonitor | |- 未インストール:IIS-ServerSideIncludes | |- 未インストール:IIS-StaticContent | |- 未インストール:IIS-URLAuthorization | |- 未インストール:IIS-WindowsAuthentication | 未インストール:WindowsServerBackup 未インストール:WINS-SC

 

時刻、言語の設定をする

|
>control timedate.cpl
とすればよい。

コントロールパネルの「日付と時刻」のダイアログが出現して
時刻設定ができる。

ちなみに、
>control intl.cpl
とすると、「地域と言語のオプション」が表示され、 キーボードの設定などが可能
>net user administrator *
ユーザーのパスワードを入力してください:
確認のためにパスワードを再入力してください:
コマンドは正常に終了しました。

net user administartor だけなら、administratorの情報一覧が出力される。

コンピュータ名を変更する

|

普通にメディアからインストールとコンピュータ名がランダムで決定されている。

C:\windows\system32>hostname
WIN-40XM4STSVWK

むむむ。直したい。

C:\windows\system32>netdom renamecomputer %computername% /newname:W2K8Core
この操作では、コンピュータ WIN-40XM4STSVWK の名前が
W2K8Core に変更されます。

証明機関などの特定のサービスは、固定コンピュータ名に依存しています。 この種類のサービスが WIN-40XM4STSVWK で実行されている場合、 コンピュータ名の変更が悪影響を及ぼす可能性があります。

続行しますか (Y/N)? Y 操作を完了するには、コンピュータを再起動する必要があります。

コマンドは正しく完了しました。

C:\windows\system32>

とのことなので、コンピュータ名は早めに変更しておくべし。

■ドメインへの参加
>netdom join %computername% /domain:HOGEHOGE /userd:Administrator /passwordd:*

それで、リブートする

C:\windows\system32>shutdown /r /t 0


インターフェースの名前を変更する

|

"ローカル エリア接続"というのは
入力するのがめんどくさすぎるという時に。

C:\windows\system32>netsh
netsh>interface
netsh interface>show interface
Admin State	State	Type	Interface Name
---------------------------------------------------
有効		接続	専用	ローカル エリア接続

この、"ローカル エリア接続"というのを変えてしまいたい。
そこで

netsh interface> set interface name="ローカル エリア接続" newname="eth0"

とする。
"ローカル エリア接続"の「ローカル」と「エリア」の間に半角スペースがあるのに注意。
すると、

netsh interface>show interface
Admin State	State	Type	Interface Name
---------------------------------------------------
有効		接続	専用	eth0

となる。

まず、Administratorでログオンし、
cmd.exeの上で、IPv4アドレスとサブネットマスク、デフォルトゲートウェイを設定する。
のだが、

■間違ってコマンドプロンプトを「X」で消してしまったときには

[Ctrl] + [Shift] + [Esc] でタスクマネージャが起動できるので、
「ファイル」 -> 「新しいタスクの実行」 -> 「cmd.exe」
とする。

ところが、これがTSセッション上だったりするとなにもできなくなってしまう。
そういうときは、素直に一時的にTSセッションを切断し、
「リモートデスクトップ接続」のローカルリソースの設定で
Windowsキーの適用先を「リモートコンピュータ」に変更してから
もう一度、接続しなおして、上記の操作を実行する。


■IPv4アドレスの設定(本題)

C:\Users\Administrator>netsh.exe
netsh>interface
netsh interface>ipv4
netsh interface ipv4>
netsh interface ipv4>show config
とやると、
netsh interface ipv4>インターフェースの構成 "ローカルエリア接続"
netsh interface ipv4>・・・ 
と表示される。
netsh interface ipv4>set address name="ローカルエリア接続" static 10.0.16.1 255.255.255.0 10.0.16.254

コマンドプロンプト上に日本語入力するのは、[Alt]+[半角/全角] で、日本語入力モードになる。


■DNSサーバーの設定は、

netsh interface ipv4>set dnsserver name="ローカルエリア接続" static 10.0.16.4 primary


■netsh.exeの抜け方

netsh interface ipv4>exit
C:\Users\Administrator>


■リモートデスクトップ接続を許可する設定にする。

まず、C:\windows\system32に移動する。

C:\Users\Administrator>cd c:\windows\system32
C:\windows\system32>

ここで、scregedit.wsfというスクリプトを使用する。

C:\windows\system32>cscript scregedit.wsf /ar 0

デフォルト状態は/ar 1であり、接続できない。
現在の状態をみるには、/ar /v とする。


■Vistaよりも前のバージョンのTSクライアントからの接続も許可するには。

C:\windows\system32>cscript scregedit.wsf /cs 0

これも同様に
デフォルト状態は/cs 1であり、Vista以前のTSクライアントからは接続できない。
現在の状態をみるには、/cs /v とする。


■ログオフの仕方

一応、書いておきますが、
C:\>logoff
です。

このアーカイブについて

このページには、過去に書かれたブログ記事のうちServer Coreカテゴリに属しているものが含まれています。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Server Core: 月別アーカイブ

Powered by Movable Type 4.1