タグ:WindowsServer2003 ( 28 ) タグの人気記事
WindowsUpdateに失敗する(0x80070005)
WindowsServer2003 R2(x64)版で、AdministratorユーザでWindowsUpdateをかけてたんですが、どうしてもインストール出来ない更新プログラムがあります。
以下のような感じで、エラーコードは 0x80070005 になっています。
e0091163_2242844.jpg


更新プログラムを個別にダウンロードして、単体でインストールしよとしてもアクセスが拒否されたということで、インストールできません。

さて、更新プログラムのログは、C:\windows\svcpack.log に残るので、ここでエラーがあるか見てました。

....
1354.500: DoRegistryUpdates:UpdSpInstallFromInfSection Failed for ProductInstall.GlobalRegistryChanges.Install error: 0x5
....

どうやら、レジストリの更新でエラーになっているようです。

より詳細なログは C:\windows\updspapi.log にあるので、ここを見てみました。

#-086 レジストリ値 "HKLM\SOFTWARE\Wow6432Node\Microsoft\CTF\TIP\{1188450c-fdab-47ae-80d8-c9633f71be64}\LanguageProfile\0x00000000\{63800dac-e7ca-4df9-9a5c-20765055488d}\Enabled" を削除しています。
#E033 エラー 5: アクセスが拒否されました。
#E065 c:\windows\softwaredistribution\download\95a233847c7cad1a5f161c9326708999\update\update_SP2GDR.inf の DelReg セクション [Product.Del.Reg] の解析に失敗しました。 エラー 5: アクセスが拒否されました。
#E064 "c:\windows\softwaredistribution\download\95a233847c7cad1a5f161c9326708999\update\update_SP2GDR.inf" のインストール セクション [ProductInstall.GlobalRegistryChanges.Install] の解析に失敗しました。 エラー 5: アクセスが拒否されました。
#-086 レジストリ値 "HKLM\SOFTWARE\Wow6432Node\Microsoft\CTF\TIP\{1188450c-fdab-47ae-80d8-c9633f71be64}\LanguageProfile\0x00000000\{63800dac-e7ca-4df9-9a5c-20765055488d}\Enabled" を削除しています。
#E033 エラー 5: アクセスが拒否されました。
#E065 c:\windows\softwaredistribution\download\95a233847c7cad1a5f161c9326708999\update\update_SP2GDR.inf の DelReg セクション [Product.Del.Reg] の解析に失敗しました。 エラー 5: アクセスが拒否されました。
#E064 "c:\windows\softwaredistribution\download\95a233847c7cad1a5f161c9326708999\update\update_SP2GDR.inf" のインストール セクション [ProductInstall.GlobalRegistryChanges.Install] の解析に失敗しました。 エラー 5: アクセスが拒否されました。

これで、どのレジストリキーへのアクセスが失敗したかわかります。

regedit で、上記のキーのアクセス権を見てみると以下のキーにたいするアクセス許可が有りませんでした。

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\CTF\TIP

WindowsUpdateでは Administrator,SYSTEM のフルコントロールが必要なようなので、上記のキーにアクセス許可を追加することで、よーやくパッチを当てることが出来ました。


参考:
Windows/サービスパックインストール - IT: 一番的確でした。
MSサポート:Windows XP Service Pack 2 のインストール時に、アクセス拒否のエラー メッセージが表示される
MSサポート:Windows XP ベースのコンピュータで詳細ログを有効にする方法
Windows XP 知らないと怖い「プロの常識」(第3回) - Windowsセキュリティ:ITpro EFSの暗号化が原因の場合もあるようです。
[PR]
by jehoshaphat | 2014-01-12 02:21 | 豆知識 | Trackback | Comments(0)
WindowsServer2003のドメインコントローラでWindowsVista,7用のグループポリシーを使いたい
WindowsServer2003のドメインコントローラでActiveDirectoryドメインを構成しています。(ADのモードはWindows2000混在)
このドメインにWindows7搭載のPCが参加することになりました。

WindowsVista以降はグループポリシーの設定項目が増えたと聞いていたので、そのグループポリシーをWindowsServer2003のドメインコントローラで利用できるようにする方法です。

結構厄介かな と思ってましたが、やってみれば非常に簡単でした。

参考にしたのは、機能が向上したWindows Vistaのグループ・ポリシー:@ITと、Windows Server 2003 Windows Vista 対応のグループポリシーを利用する方法です。

概要としては、Windows7のPCにあるGPOの管理テンプレートを、ドメインコントローラのSYSVOLに置くだけです。
GPOの編集は、クライアントツールをWindows7が動いている端末(おそらくVistaや2008でも可だがXPや2003はNGかと..)にインストールしてそこから行います。


管理テンプレートの設置
Windows Server 2003 ドメインコントローラ上も中央ストアとなる%SYSTEMROOT%\SYSVOL\domain\policiesフォルダ内に Policydefinitions フォルダを作成し、PolicyDefinitionsフォルダの中に ja-JP フォルダを作成します。

クライアントである Windows7(またはVista) の %SYSTEMROOT%\PolicyDefinitions\ja-JP フォルダ内のファイルを、%logonserver%\SYSVOL\%userdnsdomain%\policies\PolicyDefinitions フォルダ内のコピーします。(ドメイン管理者でログオンしておかないとコピー出来ないかもしれません)

同様に、クライアントの %SYSTEMROOT%\PolicyDefinitions\ja-JP フォルダ内のファイルを、%logonserver%\SYSVOL\%userdnsdomain%\policies\PolicyDefinitions\ja-JP フォルダ内のコピーします


ポリシーの設定
上記で中央ストアに追加した分のGPOの編集や設定は、WindowsServer2003上からは行えません。
Windows7上にRSAT(リモート サーバー管理ツール)をいれてそこから行う必要があります。


RSATはhttp://www.microsoft.com/downloads/ja-jp/details.aspx?displaylang=ja&FamilyID=7d2f6ad7-656b-4313-a005-4e344e43997dからダウンロードできます。

ダウンロードしたMSUファイルをダブルクリックで、インストールし再起動します。
その後、コンパネの[プログラムと追加]で、左ペインの[Windowsの機能の有効化または無効化]で、[リモートサーバ管理ツール]で[グループポリシー管理ツール]にチェックを入れます。

これで、Windows7の端末にドメイン管理者でログオンし、管理ツールにある[グループポリシー管理ツール]から、GPOの設定ができます。
かなり細かい部分まで設定できるようになっているので、かゆいところにも手が届きそうですね。

※グループポリシー管理ツール(GPMC)をWindowsServer2008R2に追加する場合は、サーバマネージャの機能の追加で[グループ ポリシー管理コンソール]を選んで追加すればいいようです。



参考:
Windows Server 2008をリモートから管理するツール(RSAT)
シナリオ 2: ADMX ファイルを使用したドメインベースの GPO の編集
Windows7でサーバー管理ツール(RSAT)を使う方法(Gpmc等)-教えて!HELPDESK
TechNet:GPMC をインストールする(WindowsServer2008の場合)
[PR]
by Jehoshaphat | 2013-03-25 22:27 | サーバがらみ | Trackback | Comments(0)
WindowsServer2003のドメインでUSBデバイス使用禁止にするグループポリシー
ドメインコントローラがWindowsServer2003 R2 でクライアントが WindowsXP が大半のActiveDirectoryなんですが、特定のPCでUSBメモリや外付けUSBハードディスクの使用を禁止したいという要件が出てきました。

WindowsServer2008のドメインコントローラなら、標準のグループポリシーでUSBメモリを含むリムーバブルメディアの使用が抑制できるんですが、2003にはデフォルトでは使えません。
(2008のグループポリシーで設定する方法は、【Windows Server 2008 実践評価ガイド】システム運用管理コストを削減する最新管理機能の全貌 : Windows Server - Computerworld.jpが参考になります)


しかし、WindowsServer2003でもグループポリシーに管理テンプレートを追加することで、リムーバブルメディアの使用を抑制できます。
そのための設定が情報漏えい対策ガイド (Windows 編)の3章にて載せられていました。

ガイドにはかなり詳細な手順が載せられているのでそのとおりにやれば簡単にできますが、一応メモしておきます。

まず、ガイドの手順で行うと下記のデバイスに関して、各制御ができます。

USB記憶装置    使用禁止、書き込み禁止
IEEE1394記憶装置 使用禁止
フロッピー    使用禁止
SDカード     使用禁止
CD-R/RW      書き込み禁止


ただし、「USB 記憶装置の書き込み禁止」と「SDカードの使用禁止」は、Windows XP SP2 以降でのみ動作し、Windows Server 2003 SP1 では動作しないようです。



リムーバブル記憶装置がインストールされている場合
PCにリムーバブル記憶装置がインストールされている場合は、グループポリシーのカスタム管理テンプレートを使うことで各制御ができます。

1.下記のコードをメモ帳にコピペし、Unicodeで、ドメインコントローラの%SystemRoot%\inf\BlockRmStor.adm に保存します。(今回2台DCがあったので2台共に保存しました)

; Administrative template file for blocking removable storage devices
; Version: 1.0

CLASS MACHINE

CATEGORY !!DisableRemovableStorage

POLICY !!WriteProtectUsbStor
#if version >= 4
SUPPORTED !!SUPPORTED_WindowsXPSP2
#endif
EXPLAIN !!WriteProtectUsbStor_Help
KEYNAME "SYSTEM\CurrentControlSet\Control\StorageDevicePolicies"
VALUENAME "WriteProtect"
VALUEON NUMERIC 1
VALUEOFF NUMERIC 0
END POLICY

POLICY !!DisableUsbStor
EXPLAIN !!DisableUsbStor_Help
KEYNAME "SYSTEM\CurrentControlSet\Services\USBStor"
VALUENAME "Start"
VALUEON NUMERIC 4
VALUEOFF NUMERIC 3
END POLICY

POLICY !!Disable1394Stor
EXPLAIN !!Disable1394Stor_Help
KEYNAME "SYSTEM\CurrentControlSet\Services\sbp2port"
VALUENAME "Start"
VALUEON NUMERIC 4
VALUEOFF NUMERIC 0
END POLICY

POLICY !!DisableFloppy
EXPLAIN !!DisableFloppy_Help
KEYNAME "SYSTEM\CurrentControlSet\Services\Flpydisk"
VALUENAME "Start"
VALUEON NUMERIC 4
VALUEOFF NUMERIC 3
END POLICY

POLICY !!DisableSDcard
#if version >= 4
SUPPORTED !!SUPPORTED_WindowsXPSP2
#endif
EXPLAIN !!DisableSDcard_Help
KEYNAME "SYSTEM\CurrentControlSet\Services\sffdisk"
VALUENAME "Start"
VALUEON NUMERIC 4
VALUEOFF NUMERIC 3
END POLICY

POLICY !!DisableCDBurning
#if version >= 4
SUPPORTED !!SUPPORTED_WindowsXPWindowsNET
#endif
EXPLAIN !!DisableCDBurning_Help
KEYNAME "SYSTEM\CurrentControlSet\Services\ImapiService"
VALUENAME "Start"
VALUEON NUMERIC 4
VALUEOFF NUMERIC 3
END POLICY

END CATEGORY ; DisableRemovableStorage

[strings]
DisableRemovableStorage="リムーバブル記憶装置の使用制限"
WriteProtectUsbStor="USB 記憶装置デバイスへの書き込み禁止"
WriteProtectUsbStor_Help="USB 記憶装置デバイスへの書き込み禁止をコンピュータを使用するすべてのユーザーに適用します。\n\nこのポリシーを有効にすると、コンピュータを使用するすべてのユーザーは USB 記憶装置デバイスへの書き込みができなくなります。読み込み操作は可能です。"
DisableUsbStor="USB 記憶装置デバイスの使用禁止"
DisableUsbStor_Help="USB 記憶装置デバイスの使用禁止をコンピュータを使用するすべてのユーザーに適用します。\n\nこのポリシーを有効にすると、コンピュータを使用するすべてのユーザーは USB 記憶装置デバイスの書き込みおよび読み込みができなくなります。"
Disable1394Stor="IEEE 1394 記憶装置デバイスの使用禁止"
Disable1394Stor_Help="IEEE 1394 記憶装置デバイスの使用禁止をコンピュータを使用するすべてのユーザーに適用します。\n\nこのポリシーを有効にすると、コンピュータを使用するすべてのユーザーは IEEE 1394 記憶装置デバイスの書き込みおよび読み込みができなくなります。"
DisableFloppy="フロッピー ディスクの使用禁止"
DisableFloppy_Help="フロッピー ディスクの使用禁止をコンピュータを使用するすべてのユーザーに適用します。\n\nこのポリシーを有効にすると、コンピュータを使用するすべてのユーザーはフロッピー ディスクの書き込みおよび読み込みができなくなります。"
DisableSDcard="SD 記憶域カードの使用禁止"
DisableSDcard_Help="SD 記憶域カードの使用禁止をコンピュータを使用するすべてのユーザーに適用します。\n\nこのポリシーを有効にすると、コンピュータを使用するすべてのユーザーは SD 記憶域カードの書き込みおよび読み込みができなくなります。"
DisableCDBurning="CD への書き込み禁止"
DisableCDBurning_Help="CD への書き込み禁止をコンピュータを使用するすべてのユーザーに適用します。\n\nこのポリシーを有効にすると、コンピュータを使用するすべてのユーザーは CD への書き込みができなくなります。読み込み操作は可能です。\n\n注意: CD ライタや IMAPI (Image Mastering Applications Programming Interface) を使用しないサードパーティのアプリケーションを使う場合は、CD を作成および修正することができます。\nユーザーごとにエクスプローラの CD 焼き付け機能を制限する場合は、ユーザーの構成\管理用テンプレート\Windows コンポーネント\エクスプローラの [CD 焼き付け機能を削除する] ポリシーを使用してください。"
SUPPORTED_WindowsXPSP2="Microsoft Windows XP Professional SP2 以降"
SUPPORTED_WindowsXPWindowsNET="Microsoft Windows XP または Windows Server 2003"


2.新しくグループポリシーオブジェクト(GPO)を作成し、任意のOUとリンクさせます。

3.作成したグループポリシーを、グループポリシーエディタ(GPE)で開きます。

4.GPEのコンソールツリーで、[コンピュータの構成]→[管理用テンプレート]→右クリック→[テンプレートの追加と削除]で、先ほど作成したBlockRmStor.admを開きます。

5.GPEのメニューバーの[表示]→[フィルタ]の[完全に管理されているポリシー設定のみ表示します]チェックをオフにすると、[コンピュータの構成\管理用テンプレート\リムーバブル記憶装置の使用制限]が表示されます。

6.後は、制限したい項目を有効にするだけですね。


リムーバブル記憶装置がインストールされていない場合
PCにリムーバブル記憶装置がインストールされていない場合は、ドライバファイル(inf)のアクセス許可を変更することにより対象のリムーバブル記憶装置をインストールできないようにする必要があるようです。

グループポリシーのスタートアップスクリプトを使って設定します。

1.リムーバブルメディアを規制するグループポリシーをグループポリシーエディタ(GPE)で開きます。

2.ツリーから [コンピュータの構成]→[Windows の設定]→[スクリプト(スタートアップ/シャットダウン)]→[スタートアップ]→[スタートアップのプロパティ]画面開くので、[ファイルの表示]。

3.上記で開いたパス(\\ドメイン名\SysVol\ドメイン名\Policies\ポリシー GUID\Machine\Scripts\Startup)に下記を "BlockRmStor.wsf" というファイル名で保存します。(文字コードをUTF-8にすること)

<?xml version="1.0" ?>
<package>
<comment>
'****************************************************************************
'* Module Name: BlockRmStor.wsf
'* Version: 1.0
'* Abstract: いくつかのリムーバブル記憶装置がインストールされることを
'* 禁止するために、指定されたグループに対して所定の inf/pnf
'* ファイルの ACE を削除します。
'****************************************************************************
</comment>
 
<job>
<runtime>
<named
name="D"
helpstring="指定されたグループ/ユーザーのリムーバブル記憶装置をインストールするためのアクセスを拒否します"
type="string"
required="false"
/>

<named
name="R"
helpstring="指定されたグループ/ユーザーのリムーバブル記憶装置をインストールするためのアクセス拒否を取り消します"
type="string"
required="false"
/>

<named
name="Q"
helpstring="処理の状況を表示しないモードをオンにします。既定はオフです"
type="string"
required="false"
/>

<example>
使用例:
BlockRmStor.wsf /D:Everyone
BlockRmStor.wsf /R:Everyone
BlockRmStor.wsf /D:Everyone /Q
/D または /R オプションのいずれかを指定する必要があります。
</example>
</runtime>
 
<script language="VBScript">
<![CDATA[
Option Explicit
On Error Resume Next
 
Dim objArgs, objFSO, objShell, blnOK, blnQuiet
Dim strArg, strGroup, strFolder, strFileList
Dim intCounter, intErr
Const conWindowsFolder = 0
Const WSH56_REQUIRED = "このスクリプトを実行するには、WSH 5.6 以上が必要です。"
Const ERROR_NUM = ": エラー 0x"
 
strFileList = Array("flpydisk", _
"usbstor", _
"sbp2", _
"sffdisk" )
 
Set objShell = CreateObject("WScript.Shell")
 
' This script is expected to work on WSH 5.6 or later
If WScript.Version < 5.6 Then
objShell.LogEvent 1, WSH56_REQUIRED
WScript.Quit(-1)
End If
 
'---------------------------------------------------------------------
' check script usage
'---------------------------------------------------------------------
blnOK = False
blnQuiet = False
strGroup = ""
Set objArgs = WScript.Arguments
 
Select Case objArgs.Named.Count
Case 1,2
If (objArgs.Named.Exists("D")) Then
strArg = " /D "
strGroup = objArgs.Named("D")
blnOK = True
ElseIf (objArgs.Named.Exists("R")) Then
strArg = " /R "
strGroup = objArgs.Named("R")
blnOK = True
End If
If (blnOK = True And objArgs.Named.Exists("Q")) Then
blnQuiet = True
End If
End Select
 
 
' if incorrect usage display message and quit
If Not(blnOK) Then
WScript.Arguments.ShowUsage
WScript.Quit(-1)
End If
 
'---------------------------------------------------------------------
' Modify ACLs of files
'---------------------------------------------------------------------
strFolder = ""
 
Set objFSO = CreateObject("Scripting.FileSystemObject")
 
' Build %SystemRoot%\Inf directory
Set strFolder = objFSO.GetSpecialFolder(conWindowsFolder)
strFolder = strFolder & "\Inf\"
 
' Modify ACLs of target inf/pnf files
intCounter = 0
Do While intCounter <= Ubound(strFileList)
' Modify ACLs of .inf file
ModifyACLsOfFile strArg, strGroup, strFolder, strFileList(intCounter), ".inf"
ModifyACLsOfFile strArg, strGroup, strFolder, strFileList(intCounter), ".pnf"
 
intCounter = intCounter + 1
Loop
 
 
' Cleanup
Set objArgs = Nothing
Set objShell = Nothing
Set objFSO = Nothing
 
'---------------------------------------------------------------------
' Function: Modify ACLs of file to deny specific group access
'---------------------------------------------------------------------
Function ModifyACLsOfFile(strArg, strGroup, strFolder, strFilename, strExt)
On Error Resume Next
 
ModifyACLsOfFile = False
 
Dim strPathname, strCACLSCmd
 
strPathname = ""
strCACLSCmd = ""
strPathname = strFolder & strFilename & strExt
If (objFSO.FileExists(strPathname)) Then
' Deny access to the .inf file for specified group
strCACLSCmd = "cacls.exe """ & strPathname & """ /E" & strArg & """" & strGroup & """"
DisplayMsg strCACLSCmd
intErr = objShell.Run(strCACLSCmd, 0, True)
If intErr = 0 Then
ModifyACLsOfFile = True
Else
LogFailureEvent intErr, strCACLSCmd
End If
End If

End Function
 
'---------------------------------------------------------------------
' Sub: Log Error Event to the Application EventLog
'---------------------------------------------------------------------
Sub LogFailureEvent(intErrNum, strErrText)
On Error Resume Next
objShell.LogEvent 1, strErrText & ERROR_NUM & Hex(intErrNum)
End Sub
 
'---------------------------------------------------------------------
' Sub: Display a message if blnQuiet = FALSE
'---------------------------------------------------------------------
Sub DisplayMsg(strMessage)
If Not(blnQuiet) Then
WScript.Echo strMessage
End If
End Sub
 
]]>

</script>
</job>
</package>

上記は中身見てわかるようにパラメータでリムーバブル記憶装置をインストールさせるか,させないかを指定できます。
/D:グループorユーザ名 →リムーバブルディスクインストール拒否。
/R:グループorユーザ名 →リムーバブルディスクインストール許可。
/Q:サイレントモード(処理の状況を表示しない)

4.[スタートアップのプロパティ]のスクリプト名で "BlockRmStor.wsf" を指定し、引数に /D:Everyone /Q を指定します。これによって全ユーザでリムーバブルメディアのインストールを禁止できます。

5.これで新しいUSBメモリを挿入してもドライバインストールできないため、使用できません。

余談ですが、上記のスクリプトでアクセス制限を設定するドライバファイルは下記のようになるようです。

フロッピーディスク   :flpydisk.inf , flpydisk.pnf
USB 記憶装置デバイス  :usbstor.inf , usbstor.pnf
IEEE1394記憶装置デバイス:sbp2.inf , sbp2.pnf
SD記憶域カード     :sffdisk.inf , sffdisk.pnf


解除時の注意
一度リムーバブルメディアを制限するOUに一度適用してしまうと、そのOUを外れてもリムーバブルメディアの制限はかかったままになります。
なので、制限を解除するOUをつくって、解除時はそのOUに解除したいPCを入れないといけません。
[PR]
by Jehoshaphat | 2012-04-25 00:54 | サーバがらみ | Trackback | Comments(0)
共有フォルダにアクセスするとアクセスできずシステムイベントログに40960,40961が出る
WindowsServer2003 でドメインベースDFSを使って共有フォルダを管理しています。
また、イントラネットのWEBサイトに file:// プロトコルを使ってDFS共有フォルダへのリンクを張っています。

で、XP SP3のクライアントから、イントラネットWEBサイトの共有フォルダへのリンクを押下すると、下記のようなエラーが出ました。

Microsoft Internet Explorer の提供元:
\\hogedomain.local\share\test にアクセスできません。このネットワークリソースを使用するアクセス許可がない可能性があります。アクセス許可があるかどうかこのサーバーの管理者に問い合わせてください。

セキュリティに危害を与える試みが検出されました。認証したサーバーに連絡してください。


見慣れないエラーです。

Explorerから直接 \\hogedomain.local\share\test にアクセスしようとすると今度は下記エラーとなります。

ファンクションが間違っています。


それで、DFSのリンク先となっている共有フォルダを直接アクセスしようとするとアクセス権があるにも関わらず、ユーザ認証の画面が開きます。

システムのイベントログを確認してみたところ、下記のようになっていました。

イベントの種類: 警告
イベント ソース: LSASRV
イベント カテゴリ: SPNEGO (Negotiator)
イベント ID: 40960
日付: 2011/02/01
時刻: 00:00:00
ユーザー: N/A
コンピュータ: hogepc
説明:
サーバー cifs/10.0.0.25 に対するダウングレード アタックの試みを 検出しました。認証プロトコル Kerberos からのエラー コードは "参照したアカウントは現在無効であり、ログオンできません。
(0xc0000072)" でした。


イベントの種類: 警告
イベント ソース: LSASRV
イベント カテゴリ: SPNEGO (Negotiator)
イベント ID: 40961
日付: 2011/02/01
時刻: 00:00:00
ユーザー: N/A
コンピュータ: hogepc
説明:
サーバー cifs/10.0.0.25 とのセキュリティで保護された接続を確立できませんでした。利用できる認証プロトコルはありませんでした。


ネットで調べるとドメインコントローラに接続できなかったりするとこのエラーがでることがあるようですが、ActiveDirectory情報は検索できるのでドメインコントローラには接続できるようです。


いろいろ調べた結果、原因はDFSリンク先の共有フォルダへのアクセス権情報をPCに記憶させていることでした。
コントロールパネルのユーザアカウントで、任意の共有フォルダへのアクセス権情報を記憶させることができます。
そこに、既に無効になったユーザアカウントのアクセス権情報が記憶されていました。
既に無効になっているので、イベントログで、「参照したアカウントは現在無効であり、ログオンできません。」と出たんでしょうね。

記憶させてるアクセス権情報を削除することでアクセスできるようになりました。
[PR]
by Jehoshaphat | 2011-08-16 21:18 | サーバがらみ | Trackback | Comments(0)
WindowsServer2003R2でフォントが小さく見ずらい所がある
WindowsServer2003 R2 で、一部のプログラムのフォントが小さく見ずらい状態が発生しています。
特にシステム既定のフォントにWindowsフォーム上でその現象が起きてるようです。

多分、MSGothicの 8pt になってるんだと思います。

調べてみるとバグのようですね。
MSサポート:Windows XP Professional with SP2 または Windows Server 2003 R2 with SP2 を適用済みのメディアからシステムをインストールした場合、表示が小さくなる場合があるに載っているんですが、どうやらレジストリの設定が足りないようです。

対策としては、下記のレジストリを追加するとOKなようです。

パス:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\GRE_Initialize
値の名前 : GUIFont.Height
データ型 : REG_DWORD
値のデータ : 0x9

システム既定のフォントサイズを 9pt にしろという設定だと思います。

MSの情報によると、Windows XP SP2,WindowsServer2003 R2 で、SP2 入りのメディアからインストールするとこうなるようです。

参考:
システムフォントサイズが…? - Kerosoft : Modus Operandi
[PR]
by jehoshaphat | 2011-06-06 22:19 | 豆知識 | Trackback | Comments(0)
IE8を入れたらおかしくなった
Windows Server 2003 で、WindowsUpdateでIE8とその他もろもろのパッチを入れて再起動すると、IEがおかしくなりました。
IE8入れたはずなのに、IE6になっています。

IE操作時に「序数423がダイナミックライブラリ urlmon.dll から見つかりませんでした。」とか「C:\WINDOWS\system32\muweb.dll を読み込み中にエラーが発生しました。このオペレーティングシステムでは %1 は実行されません。」というエラーダイアログが表示され、WEBページが表示できません。


一回コンパネよりIE8をアンインストールして、再度IE8を単体で入れれば治りました。

全く驚きましたよ。
[PR]
by jehoshaphat | 2011-02-17 23:41 | 豆知識 | Trackback | Comments(0)
サブ拠点にドメインコントローラを置く

現在本部拠点とサブ拠点間をVPNで接続しており、一つのWindowsドメインを使っています。(当然フォレストも一つ。)
ドメインコントローラ(WindowsServer2003 R2)は本部拠点のみに置いてます。

で、冗長化とサブ拠点でのActiveDirecotry使用時の高速化を目的に、サブ拠点にもドメインコントローラを置くこととしました。(ActiveDirecotry、DNSサーバの追加のインストールは既にしているものとします。)
ドメインは分割せず従来通り一つのドメインで運用します。

このような物理的な場所を一つのドメインで分割するために「サイト」という機能がActiveDirectoryには備わっています。

サイトの管理は管理ツールの「ActiveDirectory サイトとサービス」で行います。


サイトの作成
「サイト」というのが物理的な一つの場所という概念になるので、まずサブ拠点用のサイトを作成します。
「ActiveDirectory サイトとサービス」から、「Sites」 のコンテキストメニューから 「新しいサイト」 で新規サイトを作成します。
リンクオブジェクトはとりあえず 「DEFAULTIPSITELINK」 を選択します。


サブネットの作成
次にサブネットの定義を作成します。
ネットワークアドレスとサブネットマスクを定義するわけですが、ここでどのIPサブネットがどのサイトを使うかを設定します。
ActiveDirectoryクライアントは自身のIPを判断して接続するサイトを決めれるわけですね。

「ActiveDirectory サイトとサービス」から、「Subnets」 のコンテキストメニューから 「新しいサブネット」 で新規サブネットを作成します。
ここで、サブ拠点のサブネットならサブ拠点のサイトを、本部拠点のサブネットなら本部拠点のサイト(通常はデフォルトサイト)を選択します。


サイトリンクの作成
サイトリンクを作成することでサイト間のActiveDirecotry情報の更新の間隔や更新しない時間帯等を設定できます。

「ActiveDirectory サイトとサービス」から、「Inter-Site Transports」 → 「IP」のコンテキストメニューから 「新しいサイトリンク」 で新規サイトリンクを作成します。(SMTPも有りますが、IPの方が一般的なので。。)
作成時にどのサイトとリンクするかを選択します。今回はサブ拠点のサイトと本部拠点のサイトを指定します。

作成したサイトリンクのプロパティを表示すると「コスト」や「レプリケートの間隔」、「スケジュールの変更」が設定できます。(デフォルトのサイトリンクは削除してもいいかもしれません。もしくは、コストの値が新規で作成したサイトリンクの方が小さければそっちの設定を使うようです。)
コストの値は回線速度を意味するようで、下記のような関係になるようです。
100Mbps:コスト10
10Mbps:コスト30
1Mbps:コスト70
512kbps:コスト150
ダイヤルアップ:コスト1000

レプリケーション間隔はネットワーク負荷が気にならないなら最小の15分にしてもいいかもしれません。


ドメインコントローラの所属変更
サブ拠点用に追加したドメインコントローラはおそらくデフォルトのリンクの Servers にいるので、ドメインコントローラをオブジェクトを右クリックでサブ拠点のサイトに移動します。
また、AcriveDirectoryにはグローバルカタログ(フォレスト内の全ドメインの全オブジェクトから、頻繁に利用する属性のみを抽出したもの)というものがありますが、ドメインが一つでサイトを複数ある場合は、目安としてサイトの一つのドメインコントローラをグローバルカタログ(GC)をした方がよいようです。(ユーザログイン時にはGCにアクセスするようです。余りに多くのドメインコントローラをGCにするとドメインコントローラ間での複製の負荷が増えるようです。)
GCにするには、「ActiveDirectory サイトとサービス」内のドメインコントローラオブジェクト配下の 「NTDS Settings」 のプロパティで、「グローバルカタログ」 にチェックを入れます。
(フォレスト内に複数ドメインが存在する場合はGCレスログオンの設定の設定をしないといけないようですね。)

これでサブ拠点の各クライアントはサブ拠点用のドメインコントローラにアクセスするようになります。


参考:
ASCII.jp:遠隔地の拠点でActive Directoryを運用するには?|Windows Serverで学ぶサーバOS入門 ←今回はほとんどこちらを参考にさせてもらいました。
すぐできるWindowsサーバー強化術(第1回)既存システムに新規拠点をつなぐ - Windows読者限定:ITpro
Active Directoryの導入後の作業 - @IT
Technet:Active Directory サイトとサービスの概要 ‐ Active Directory のサイト コンテナ階層
Technet:Active Directory 複製を考慮したサイト トポロジの設計
[PR]
by jehoshaphat | 2011-02-10 23:12 | サーバがらみ | Trackback | Comments(0)
(WidnowsServer2003)複数のユーザープロファイルを一気に削除する
ターミナルサーバで使ってた Windows Server 2003 で、ターミナルサーバとしての役割を削除し別の目的で利用することとなりました。
それで、大量にたまっているユーザプロファイルを最初はシステムのプロパティのユーザープロファイルから一つずつ消していたですが、あまりに数が多いので、一気に削除できる方法はないかと調査してみました。

すると、Windows Server 2003 のリリースキットの中に、delprof.exe というツールがあり、それで複数のユーザプロファイルが削除できるようです。
(リリースキットはDownload details: Windows Server 2003 Resource Kit Toolsからダウンロードできます。)

とりあえずこんな感じです。

C:\Program Files\Windows Resource Kits\Tools>delprof

Delete inactive profiles on \\TESTSERVER? (Yes/No) yes
Deleting C:\Documents and Settings\Administrator... [Ok]
Deleting C:\Documents and Settings\user01... [Ok]
Deleting C:\Documents and Settings\user02... [Ok]
Deleting C:\Documents and Settings\user03... [Ok]
Deleting C:\Documents and Settings\user04... [Ok]


デフォルトでdelprofを起動すると、すべて非アクティブな(つまり今ログインしていない)プロファイルを削除するための確認が聞かれ、これで yes とすると一気に削除します。
オプションもいくつかあるようですね。
下記のようになります。

/q プロファイルごとに削除の確認メッセージが表示されない。
/i エラーが発生しても通知しない。
/p プロファイルごとに削除の確認メッセージを表示する。
/r 移動プロファイルのみを削除し、ローカル プロファイルは削除しない。
/c:\\<コンピュータ名> ツールを実行するPC名を指定して、ツールをリモートで起動。
/d:<日数> 指定した日数よりも古いプロファイルは非アクティブと見なし削除。


参考:
ユーティリティ スポットライト: User Profile Deletion Utility
[PR]
by jehoshaphat | 2011-02-10 23:00 | サーバがらみ | Trackback | Comments(0)
WindowsServer2003 x64にUltraVNCを入れる
UltraVNC本家からx64版をダウンロードして入れたんですが、ドライバーは入ってないようでどうもリモート時にもっさりします。
(UltraVNCx64版はUltraVNC本家の"Update バージョンNo"のリンクをたどっていくと最新版があります。)

で、肝心のドライバーですが、上記UltraVNC本家の"Update バージョンNo"のリンクの"Mirror Drivers Download"からダウンロードできるようです。
(1.0.8.2なら http://www.uvnc.com/download/1082/ の"Mirror Drivers Download)


参考:
UltraVNC on x64 Part2 - Kerosoft : Modus Operandi
[PR]
by jehoshaphat | 2011-01-11 21:56 | ツール | Trackback | Comments(0)
(Windows)削除の不思議な仕様
WindowsServer 2003上で共有フォルダを作成し、Windows XPからアクセスしています。

共有フォルダでユーザhogeに対するアクセス権を下記のような構成にしたいと考えていました。

共有ルートフォルダ → 参照のみ可能
└─shareフォルダ → 削除不可
  └─(自由にフォルダ・ファイル追加、変更、削除可)

NTFSアクセス権は下記のように設定しました。

共有ルートフォルダ
 hoge:フォルダの一覧/ファイルの実行の許可(このフォルダのみ。継承無)

shareフォルダ
 hoge:変更、読み取りと実行、フォルダの内容の一覧表示、読み取り、
書き込みの許可(このフォルダ、サブフォルダおよびファイル)
 hoge:削除の拒否(このフォルダのみ)


これでユーザhogeがshareフォルダを削除しようとすると削除のエラーダイアログは表示されるのですが、shareフォルダ配下のファイル・フォルダオブジェクトは削除されてしまいます。

MSフォーラム:フォルダの削除を制限する設定についてで情報が載ってましたが、どうやらWindowsの仕様のようですね。
Windows7では削除されないということでしたが、実際に評価してないので何とも言えません。

おそらくWindowsServer2003のフォルダ削除の仕様として、まず配下のファイル・フォルダを消してから、元のルートフォルダを消そうとするんでしょうね。

対比策としては、上記MSサポートにあるように最初にExplorerの削除対象となるフォルダ・ファイル(ファイル名0とか)を作り、アクセス拒否にするとかがあるようです。(あまりきれいな方法ではないですが。。)

なんかよりスマートな方法ありませんかね。。。
[PR]
by jehoshaphat | 2011-01-11 21:52 | サーバがらみ | Trackback | Comments(0)