Powered by
Movable Type 4.1

メインだよ(カテゴリーアーカイブ)

2008年3月12日

ServerCoreでxmlファイルを編集するときの注意

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
だと、そのシェルだけのコマンドパスになるので注意


しかし、ServerCoreでもregedit.exeは使えるので、

HKEY_CURRENT_USER\Environment\Path

の値を書き換えてしまうほうが早いとは思います。

2008年3月 6日

Windows Updateの自動更新の設定

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

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

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

というので、

c:\Windows\System32>cscript SCregEdit.wsf /AU 4
レジストリが更新されました。

これでOK。

ServerCoreを設定するのに必要なコマンドのHELPは?

ターミナルサービスの接続を許可するときにも使用しましたが、
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
ライセンスの状態: ライセンスされています

2008年1月17日

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から行うための準備

2008年1月15日

サーバーの役割をインストールする(ocsetup.exe)

サーバーの役割をインストールするには、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

とすると、「地域と言語のオプション」が表示され、
キーボードの設定などが可能

ユーザー(Administrator)のパスワードを変更する

>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

となる。

IPv4アドレスとリモートデスクトップの設定

まず、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

です。