Quantcast
Channel: Ask CORE
Viewing all 590 articles
Browse latest View live

タスク スケジューラに関する修正プログラムについて (Windows Server 2008 R2 / Windows 7)

$
0
0

こんにちは。Windows サポートチームの頂です。

 

タスク スケジューラに関連する修正プログラムと確認されております発生事象についてご紹介いたします。

Windows Server 2008 R2 および Windows 7 を対象とした修正プログラムでございます。

なお、タスク スケジューラに関する修正は、ロールアップパッケージのような形で公開はしておりませんが、最新の修正プログラムで過去の問題も含んで修正されますので、最新版の適用をご案内いたしております。

 

Windows Server 2008 R2 SP1 / Windows 7 SP1  につきましては、KB 2884927KB 2787046 の 2 つを適用いただくことで、タスク スケジューラ関連のモジュールは最新となります。
お問い合わせの多い問題に対しての個別の修正プログラムついて、下記に記載いたします。
最新ではなく個々の問題に対して修正頂く際には、下記の修正プログラムの適用をご検討下さい。

 

Windows Server 2008 / Windows Vista につきましては以下をご参照下さい。

タスク スケジューラに関する修正プログラムについて (Windows Server 2008 / Windows Vista) へのリンク

 

Windows Server 2008 R2 / Windows 7

タイトル修正: ユーザー アカウントが予期せずロックアウトにタスク スケジューラには、無効なパスワードの認証プロンプトを提供する場合
URLhttp://support.microsoft.com/kb/2884927/ja
発生事象アカウントのロックアウト設定を行っている環境で、タスクの登録時にパスワードの入力を誤ると入力回数より多く認証が実行され、アカウントがロックされます。
備考Schedsvc.dll の最新版 / Windows Server 2008 R2 SP1 、Windows 7 SP1 が必要です。

 

      

タイトルWindows Vista、Windows Server 2008、Windows 7 または Windows Server 2008 R2 では、実行後に、"AT"コマンドを使用して作成されたタスクは削除されません。
URLhttp://support.microsoft.com/kb/2787046
発生事象ATコマンドを使用した際に、実行後もタスクが削除されない問題が発生します。
備考Taskeng.exe / Taskcomp.dll / Taskschd.dll / Wmicmiplugin.dll / Hashcleanup.exe の最新版

 

      

タイトルWindows Vista、Windows 7、Windows Server 2008 または Windows Server 2008 R2 では、タスクのスケジュールを設定する複数のトリガーを指定すると、次の実行時に不適切な値が表示されます。
URLhttp://support.microsoft.com/kb/2495489/ja
発生事象複数のトリガーが指定されている場合は現在時刻から近い時間が "次回の実行時刻" に表示されるべきですが、最初のトリガーの時刻が常に返されるため正しく表示されません。例えば、トリガー1は1:00、トリガー2は1:30と設定されていて、現在1:20の場合は、"次回の実行時刻" は1:30となるべきですが、2:00(トリガー1の次回の実行時刻)が表示されます。

 

      

タイトルタスク スケジューラが動作する失敗したタスクが予期せず Windows 7 または Windows Server 2008 R2 を実行しているコンピューターで
URLhttp://support.microsoft.com/kb/2698800
発生事象タスクの [設定]タブ にある、[スケジュールされた時刻にタスクを開始できなかった場合、すぐにタスクを実行する] のチェックをオフにしている場合にも、スリープや休止状態から復帰後タスクが実行されます。

 

      

タイトルWindows Server 2008、Windows Vista、Windows 7 または Windows Server 2008 R2 で、タスク スケジューラ サービスが同じジョブを 2 回実行する。
URLhttp://support.microsoft.com/kb/2461249
発生事象タスクが 2 回スケジュールされる可能性があります。
備考前提条件として、MS10-092(KB 2305420) もしくは、Windows Server 2008 R2 Service Pack 1 / Windows 7 ServicePack 1 の適用が必要です。

 

 

タイトル[MS10-092] タスク スケジューラの脆弱性により、特権が昇格される
URLhttp://support.microsoft.com/kb/2305420
発生事象セキュリティ更新プログラムです。/ http://technet.microsoft.com/library/security/ms10-092

      

タスク スケジューラをご利用いただいております際に、上記に該当する事象を確認されましたら、修正プログラムの適用についてご検討くださいますようお願いいたします。


循環形式でパフォーマンスログを収集する方法について

$
0
0

こんにちは。Windows サポートチームの豊島です。

 

各リソースの使用状況を記録するため常時パフォーマンス ログを収集したいが、長期間パフォーマンス ログを収集し続けることによってログ ファイルが肥大化するのを防ぎたいというご要望を多くいただきます。

 

そこで今回は、パフォーマンス ログ ファイルの最大サイズを指定し、そのサイズ内で常に最新のログを記録し古いログを破棄する “循環” 形式でパフォーマンス ログを収集する方法について紹介させていただきたいと思います。

 

なお、この方法は Windows Server 2003 以降の OS では、クライアント OS を含む全ての OS にて設定することができます。

設定の手順や表示される項目名は OS 毎に多少異なりますが、以下の手順では Windows Server 2008 R2 を例に紹介いたします。

 

設定手順 :

1. [Windows] キーを押しながら [R] キーを押し[ファイル名を指定して実行] を開きます。

2. perfmon と入力し、 [OK] をクリックします。

3. 左ペインより、[パフォーマンス] - [データ コレクター セット] - [ユーザー定義] を右クリックして表示されるメニューから [新規作成] - [データ コレクター セット] を実行します。

4. 名前欄に任意の名前を入力し、"手動で作成する" を選択し、 [次へ] をクリックします。

5. "データ ログを作成する" を選択し、"パフォーマンス カウンタ" のチェックボックスをオンにし、 [次へ] をクリックします。

6. [追加] をクリックし、必要なカウンタを追加します。全て追加し終わったら [OK] をクリックします。

7. "サンプルの間隔" に任意の値を設定し、[次へ] をクリックします。

8. データの保存場所を指定し、 [次へ] をクリックします。

9. [完了] をクリックします。

10. 項目 4. で指定した名前が、[パフォーマンス] - [データ コレクター セット] - [ユーザー定義] 配下に作成されていますので、 右クリックし [プロパティ] を選択します。

11. [停止条件] タブを開き以下の設定を行い [OK] をクリックします。

  • 制限に達したらデータ コレクター セットを再開する : チェックを入れる
  • 最大サイズ : チェックを入れ、サイズを指定する

12. [パフォーマンス] - [データ コレクター セット] - [ユーザー定義] 配下に作成されたデータコレクターセットを選択し、右画面の"DataCollector01" を右クリックし [プロパティ] を選択します。

13. [ファイル] タブを開き [循環] にチェックを入れ、[OK] をクリックします。

 

設定は以上です。作成いただいたデータ コレクター セットを開始すれば “循環” 形式でパフォーマンス ログが収集されます。

 

注意事項 :

“循環” 形式でのパフォーマンス ログ収集が行えるのは、ログ フォーマットが既定の [バイナリ] である場合のみです。

[カンマ区切り] [タブ区切り] のログ フォーマットでは、“循環” 形式でのパフォーマンス ログ収集は行えませんのでご注意ください。

 

補足事項 :

“循環” 形式でパフォーマンス ログ収集は、あくまでも 1回のパフォーマンス ログ収集を最大ファイルサイズ固定で収集するための方法です。

つまり、“循環” 形式でパフォーマンス ログ収集していても、パフォーマンス ログ収集の開始と停止を繰り返せば複数のパフォーマンス ログファイルが作成されるため、パフォーマンス ログ ファイルを格納するフォルダのサイズは肥大化していきます。

これを防ぐためには、データ マネージャーによるデータ管理をご利用ください。以下に設定例を紹介いたします。

 

1. [パフォーマンス] - [データ コレクター セット] - [ユーザー定義] 配下に作成されたデータコレクターセットを右クリックし [データ マネージャー] を開きます。

2. [データ マネージャー] タブにて以下の設定を行い [OK] をクリックします。

  • 最大のフォルダー : 3
  • リソース ポリシー : 最も古いものを削除
  • データ管理とレポート生成を有効にする : チェックを入れる

 

上記の設定後、データ コレクター セットを開始すれば常に最新の 3世代のみが保管されるようになります。

(具体的には、4世代目のパフォーマンス ログ収集が停止された時点で 1世代目が自動削除されます。)

 

この他、データマネージャーの [操作] タブの設定を行えば上記のような自動削除以外にも cab 形式で自動圧縮するなど細かな設定が可能です。

 

 

今回は、パフォーマンス ログ ファイルを肥大化しない方法として “循環” 形式でのパフォーマンス ログ収集について紹介させていただきました。

この他にも補足事項の欄で触れさせていただきましたデータ マネージャによる設定など様々な方法によってパフォーマンス ログの肥大化を防止することができますので、ご要望の実装内容に沿うようにご設定いただければと思います。

"次回実行時刻" が空白となり、次回実行時刻となっても、タスクが実行されない問題について (Windows Server 2008 / Windows Vista)

$
0
0

こんにちは、Windows プラットフォーム サポート担当の頂です。

 

今回は、Windows Server 2008 をご利用時に、"次回実行時刻" が空白となり、次回実行時刻となっても、タスクが実行されない問題が発生した場合の対処方法をご紹介いたします。

 

本事象は、タスクの情報が登録されている、レジストリ情報に不整合が生じている場合に発生いたします。

 

以下修正プログラムを適用頂くことでタスクが実行できない問題は、回避いたします。

修正プログラムについては、Windows Server 2008 SP2 / Windows Vista SP2 用の修正プログラムとなりますので、Service Pack 1 でご利用の場合には、Service Pack 2に更新後、修正プログラムをご適用下さい。

 

文書番号: 2619548

次回の実行時「Windows Vista または Windows Server 2008 を実行しているコンピューターを再起動した後、いくつかのスケジュールされたタスク値がありません

http://support.microsoft.com/kb/2619548/ja

 

 

Windows Server 2008 で、上記修正プログラムの適用が、運用上困難な場合の対処方法をご紹介いたします。

- 詳細

タスク スケジューラに登録されたタスクは、大きく分けて以下 3 つのレジストリ キーに情報が保持されています。

(以下は全て HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\ のサブキーとなります。)

 

1. Tree

2. Tasks

3. Boot / Logon / Plain

(3. は、タスクの実行のタイミングで異なります。Boot - システム起動時; Logon - ユーザーのログオン時; Plain - それ以外)

 

ここでは、便宜上、システム既定のタスクを削除した状態で、スクリーン ショットを採取いたしております。

 

本来タスクは、上述の 1. 3. の各レジストリ キーに情報が保持されている必要がございますが、1. Tree および 2. Tasks の情報が存在せず、3. Plain にのみ情報が存在するタスクがあった場合に、そのレジストリ キーの影響によって、一部タスクの"次回の実行時刻" が空欄となり、タスクが実行されない事象が発生いたします。

具体的には、以下例の図に示しますが、レジストリの Plain にのみ情報が存在するタスクより GUID が後になるタスク (レジストリ エディタ上で、下に表示される) "次回の実行時刻" "N/A" (空欄) となります。

 

: TASKTEST5 ({403F019A-C81D-4BBA-BE48-716782C637FD}) について、Plain にだけ値が残っている場合 (上段)TASKTEST4 ({5251BB84-・・・}) TASKTEST3 ({C0B78374-・・・}) に設定されているタスクは、"次回の実行時刻" "N/A" (空欄) となります。(下段)

 


 

- 対処方法

レジストリの不整合を修正します。

なお、Plain のみに値が存在する場合、タスクとしてはすでに実行できない状態となっておりますので、レジストリを削除しても問題ありません。

 

1. 問題が発生しているレジストリを確認します。

  1-1. レジストリ値が、TreeTasksPlain 3 箇所に設定されているか確認します。

  1-2. Plain のみに存在する値を削除します。

   

    : TASKTEST5 ({403F019A-C81D-4BBA-BE48-716782C637FD}) について削除します。

 

削除前                                                                 削除後        

 

2. システムを再起動します。

   再起動後、"次回の実行時刻" が表示されることを確認します。



 

 

以上の手順で、"次回の実行時刻" が表示されずにタスクが実行されない事象は回避いたします。

タスク スケジューラ関連の修正プログラムについては、Service Pack 2以降にのみ適用可能な修正プログラムが複数ございますので、Service Pack 2 の適用をご検討下さいますようお願いいたします。

参考

タスク スケジューラに関する修正プログラムについて (Windows Server 2008 / Windows Vista)

http://blogs.technet.com/b/askcorejp/archive/2014/05/03/windows-server-2008-windows-vista.aspx


Windows Server 2008 Service Pack 2 および Windows Vista Service Pack 2

http://technet.microsoft.com/ja-jp/windows/dd262148.aspx

Windows 8 および Windows 8.1 のリムーバブル デバイスへのアクセス制御の注意点について

$
0
0

いつも弊社製品をご利用いただきまして誠にありがとうございます。

Windows プラットフォーム サポートの石田です。

今回は、Windows 8 および Windows 8.1 のクライアント PC に対してリムーバブルデバイスのアクセス制御を導入する際の注意点についてご紹介させていただきます。

また、すでに導入済みの環境で意図した制御が行えない問題を抱えているお客様につきましてはその対処方法としてご利用いただければ幸いでございます。

弊社では、Windows 8 および Windows 8.1 のクライアント PC に対してリムーバブルデバイスへのアクセス制御を行なった場合、意図した制御が行えなくなる事象が発生することを確認しております。

以下の 3 つの条件すべてに該当する構成の場合は、リムーバブルデバイスへのアクセス制御が正しく反映されませんのでご注意ください。

既知のグループポリシーを用いたデバイスのアクセス制御の設定が反映されない条件

  •  制御対象のクライアント PC Windows 8 もしくは Windows 8.1 である。
  • グループポリシーは"ユーザーの構成" の方で"リムーバブル記憶域へのアクセス" の設定を行っている。
  • 監査ポリシーの"リムーバブル記憶域の監査" が有効になっている。

 "オブジェクトアクセス" を有効にした場合も"リムーバブル記憶域の監査" は有効になります。

  なお、監査ポリシーが有効になっているかどうかは、クライアント PC 側のコマンドプロンプトにて確認します。

 >  auditpol /get /category:"オブジェクト アクセス"

  実行結果が監査なし以外 (成功や失敗など) に設定されている場合は、有効になっております。

これらの条件に該当した場合は、以下のいずれかの対応をご検討いただく必要がございます。

対処方法

  1.  "リムーバブル記憶域へのアクセス" の設定を"ユーザーの構成" ではなく"コンピュータの構成" で行う。
  2.  監査ポリシーの"リムーバブル記憶域の監査" を未構成に設定する。

"コンピュータの構成" "リムーバブル記憶域へのアクセス" の設定箇所

監査ポリシーの設定箇所

参考:

グループポリシーを用いたデバイスのアクセス制御について

http://blogs.technet.com/b/askcorejp/archive/2012/08/24/3516088.aspx

Windows 7 / Windows Server 2008 R2 環境でのDynamic Cache Service 利用について

$
0
0

こんにちは。Windows プラットフォームサポートの新川です。

 以前、リソース不足について – 番外編1 (64bit 環境での注意点)という記事で、64 bit 環境でシステムキャッシュ (RAMMap で確認した場合は Mapped File Metafile)  で物理メモリを大量に使用してしまう動作についてご紹介しました。この記事の中では、Windows 7 以降の OS ではシステム  キャッシュ周りのデザイン変更が行われているとご説明しましたが、やはり Windows Server 2008 R2 でも同様の状況が発生するとのお問い合わせをいただく事があります。 

Windows 7 以降の OS では、システムキャッシュをより早く解放出来るようになっているので、物理メモリの大半をシステムキャッシュが占めていてもメモリ確保には問題がない場面も多いのですが、それでも一度にまとまった要求が行われた場合などには「メモリ不足」のエラーになってしまう事があります。対処策としては、システムキャッシュのワーキングセットの閾値を指定する事になりますが、これを行うためのツールとして弊社が公開している Microsoft Windows Dynamic Cache Serviceでは、Windows 7 以降 (OS バージョン 6.1 以降) では意図的に動作しないように制限がかけられているため、これを解除してビルドし直す必要があります。今回の投稿では、Windows Server 2008 R2 環境でMicrosoft Windows Dynamic Cache Serviceを利用する方法についてご紹介します。

[2014 年更新]
最新版の Microsoft Windows Dynamic Cache Service では、Windows 7 / Windows Server 2008 R2 でも動作するように変更が加えらえれました。Windows 7 以降の OS で DynCache サービスをご利用いただく場合は、以下のダウンロード センターより、最新版をダウンロードしてご利用ください。

Microsoft Windows Dynamic Cache Service 

OS バージョンのチェックの箇所

Microsoft Windows Dynamic Cache Service には、ダウンロード ファイルの中にこのツールのソースコードも含まれています。この中の DynCache.cpp の 1141 行目付近がバージョン チェックを実施していますが、Windows Server 2008 R2 環境で利用するには下記の (OSVerInfo.dwMinorVersion > 0) を (OSVerInfo.dwMinorVersion > 1) に変更する必要があります。

// Make sure that the OS is not later than Windows Server 2008

OSVerInfo.dwOSVersionInfoSize = sizeof(OSVerInfo);

if ( (GetVersionEx (&OSVerInfo) == NULL) )

{

    dwStatus = GetLastError();

    DebugMessage(L"GetVersionEx failed with error code 0x%X!\n", dwStatus);

    SvcCleanup(dwStatus);

    return (FALSE);

}

else

{

    if (OSVerInfo.dwMajorVersion == 6)

    {

        if (OSVerInfo.dwMinorVersion > 1) // 0 から 1 に変更します

        {

            DebugMessage(L"Dynamic Cache Service only runs on Windows Server 2008 or earlier versions.\n");

            SvcCleanup(ERROR_RMODE_APP);

            return (FALSE);

        }

    }

    else if (OSVerInfo.dwMajorVersion > 6)

    {

        DebugMessage(L"Dynamic Cache Service only runs on Windows Server 2008 or earlier versions.\n");

        SvcCleanup(ERROR_RMODE_APP);

        return (FALSE);

    }

}

 

ビルド方法

ここでは Microsoft Windows SDK for Windows 7 (以下 SDK) Windows Driver Kit Version 7.1.0 (以下 WDK) を用いた方法をご紹介します。
 

1. 以下のダウンロードセンターから、ビルド環境にあったものをダウンロードします。(ISO ファイルになっているので DVD に一旦焼くか、Hyper-V Virtual PC のゲスト環境でビルド環境を構築できる場合には、ISO のキャプチャで読み込む事になります。) 

Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1 (ISO)

Windows Driver Kit Version 7.1.0

 自動再生でインストールが始まりますが、始まらない場合は SDK の場合は setup.exe をクリックしてインストールを開始します。SDK のインストールはウィザードに沿って既定のまま進めて問題ありません。

WDK のインストールは、KitSetup.exe を実行し、インストールのチェックボックスでは Full Development Environment にチェックを入れ、インストールを実行します。

 
2. インストール完了後、SDK のインストールフォルダ内にある以下を C:\SDK など、スペースを含まないパスへコピーします。

  •  Include 
  • Lib

3. Microsoft Windows Dynamic Cache Service 内の DynCache\source フォルダ内にある sources を右クリックのプロパティで読み取り専用を外した後に notepad.exe などのテキスト エディタで開き、以下のように書き換えます。(項目 2 のフォルダを C:\SDK 配下にコピーした場合の例です)

############## DynCache sources file ####################

 

TARGETNAME=DynCache

TARGETPATH=.\obj

TARGETTYPE=PROGRAM

 

# Use the Windows SDK include and lib paths.

# The WDK does not contain files for using performance counters.

INCLUDES=C:\SDK\Include

 

SOURCES=DynCache.cpp    \

        Service.cpp     \

        debug.cpp       \

        DynCache.rc

 

C_DEFINES=-DUNICODE -D_UNICODE

 

# specify which C runtimes to link with (default is libc.lib)

USE_LIBCMT=1

 

UMENTRY=wmain

UMTYPE=console

 

UMLIBS=     C:\SDK\Lib\x64\kernel32.lib \

            C:\SDK\Lib\x64\user32.lib \

            C:\SDK\Lib\x64\advapi32.lib \

            C:\SDK\Lib\x64\Psapi.lib   \

            C:\SDK\Lib\x64\Pdh.lib

 

4. DynCache.cpp の内容変更後 (こちらも読み取り専用のチェックを外す必要があります)、以下のコマンドプロンプトを起動します。

[スタート] - [すべてのプログラム] - [Windows Driver Kits] - [WDK 7600.16385.1] - [Build Environments] - [Windows 7] -  [x64 Free Build Environment]

 

5. 起動したコマンドプロンプト内で、DynCache source フォルダへ移動し、以下のコマンドでビルドが開始されます。

(画面出力例)

source フォルダ内の obj\amd64 フォルダに DynCache.exe が生成されます。Microsoft Windows Dynamic Cache Service はこのファイルに置き換えて利用ください。Microsoft Windows Dynamic Cache Service のご利用方法については、Read me や Dynamic Cache Service についてをご参照ください。

 

クラスターの共有ボリュームの物理ディスクの交換について

$
0
0

こんにちは。Windows プラットフォームサポートの加藤です。

本日は、クラスターの共有ボリューム (CSV) の物理ディスクを交換した際に、クラスター側で実施する作業についてご紹介します。

 

Windows Server 2008 以降のクラスターでは、ディスクリソースの物理ディスクを交換した際には、フェールオーバークラスターマネージャーを使用して [修復] を実施しクラスター側でも新しいディスクへ交換を実施する必要がございます。

詳細につきましては下記の技術情報をご覧ください。

 

- 参考

Windows Server 2008 フェールオーバークラスターにおけるディスク障害の対処方法

http://technet.microsoft.com/ja-jp/ee942177.aspx

 

しかしながら、クラスターの共有ボリューム (CSV) として使用されているディスクリソースは、そのままでは [修復] のメニューが表示されず、修復を実施することができません。

そのため、修復時には当該ディスクリソースをクラスターの共有ボリューム (CSV) から削除していただき、通常のディスクリソースに変更したあと [修復] を実施する必要がございます。

下記に手順をご案内します。
※ ディスク内のデータのバックアップと復元については、別途実施していただく必要がございます。

 

- 手順

Windows Server 2008 R2

------------------------------

a) フェールオーバークラスターマネージャーを起動します。

b) 左ペインのツリーを展開し [クラスターの共有ボリューム] で当該ディスクリソースを右クリックし、[クラスターの共有ボリュームから削除] をクリックし実行します。

c) [確認] ウィンドウで [はい] をクリックして削除を実行します。

d) クラスターの共有ボリューム (CSV) から削除されたディスクリソースは、[記憶域] [使用可能な記憶域] 移動します。

e) [使用可能な記憶域] に移動したディスクリソースを右クリックし、[その他のアクション] - [修復] をクリックします。

修復を実行するには、当該リソースのステータスが [失敗] もしくは [オフライン] となっている必要があります。

f) クラスターに組み込まれていない、利用可能なディスク (交換した新しいディスク) 一覧が表示されるため、適切なディスクを選び [OK] をクリックします。

g) 正しく更新された事を示すポップアップが上がりますので、 [OK] をクリックします。

h) ディスクリソースをオンラインにします。

i) フェールオーバークラスターマネージャー [クラスターの共有ボリューム] を右クリックし [記憶域の追加] をクリックします。

j) 先ほど修復したディスクリソースを選び [OK] をクリックします。

------------------------------

 

 

Windows Server 2012Windows Server 2012 R2

------------------------------

a) フェールオーバークラスターマネージャーを起動します。

b) 左ペインのツリーを展開し [記憶域] – [ディスク] から当該ディスクリソースを右クリックし、[クラスターの共有ボリュームから削除] をクリックし実行します。

c) 確認のウィンドウで [はい] をクリックして削除を実行します。

d) クラスターの共有ボリューム (CSV) から削除されたディスクリソースの [適用先] [使用可能記憶域] に変わります。

e) 当該ディスクリソースを右クリックし、[その他のアクション] - [修復] をクリックします。

修復を実行するには、当該リソースのステータスが [失敗] もしくは [オフライン] となっている必要があります。

f) クラスターに組み込まれていない、利用可能なディスク (交換した新しいディスク) 一覧が表示されるため、適切なディスクを選び [OK] をクリックします。

g) 正しく更新された事を示すポップアップが上がりますので、 [OK] をクリックします。

h) ディスクリソースをオンラインにします。

i) 当該ディスクリソースを右クリックし、[クラスターの共有ボリュームへの追加] をクリックし実行します。

------------------------------

 

 

なお CSV ボリュームのパス名 (Volume1Volume2) は、当該ディスクリソースのレジストリに保存されているため、当該ディスクリソースを CSV に再追加した際には、同じパス名で登録されます。復旧後、念のため同じパスに追加されていることをご確認ください。

ディスクリソースを修復しても本レジストリ値は消えません。

ディスクリソース自体を削除してしまうと、レジストリ値も消えますのでご注意ください。

Windows クライアント OS のホット アド メモリ機能と動的メモリについて

$
0
0

こんにちは。Windows プラットフォーム サポートの北原です。

企業のデスクトップ環境に仮想化技術を取り入れることが少なくない昨今ですが、
アプリケーションの追加などで仮想デスクトップ上のメモリの最大値を増やしたい
という要望も少なからずあるのではないでしょうか。

通常これを実現しようとすると、ホスト OS 側の仮想化システムで、対象のゲスト OS の
メモリの最大値を増やしてから、ゲスト OS の再起動をする必要があります。
サービスの形態によっては、ゲスト OS の再起動をすることはなかなか難しいかもしれ
ません。

今回の記事は、このような場合に最適なホット アド メモリ機能をご紹介します。
ホット アド メモリとは、OS が起動している (ホット) 状態でメモリを増やせる (アド)
機能のことで、これを用いると、ゲスト OS を再起動することなくメモリの最大値を増やす
ことができます。

以下のリストは、仮想環境上の Windows クライアント OS におけるホット アド メモリ機能の
対応状況です。Windows 8 以降であれば、全てのエディションで使用可能です。

  • Windows Vista Enterprise
  • Windows Vista Ultimate
  • Windows 7 Enterprise
  • Windows 7 Ultimate
  • Windows 8
  • Windows 8 Pro  
  • Windows 8 Enterprise
  • Windows 8.1
  • Windows 8.1 Pro
  • Windows 8.1 Enterprise

なお、Windows Server OS で使用できる物理マシンのホット アド メモリ機能に
ついては、Windows クライアント OS ではご利用いただくことはできません。
物理マシンのホット アド メモリ機能について詳しく知りたい方は、
以下の文書をご参照ください。

Hardware support for hot-add memory in Windows Server (英語)
http://msdn.microsoft.com/ja-jp/library/dn613932(v=vs.85).aspx

仮想化環境でホット アド メモリ機能を使うには、仮想化システム側でも
ホット アド メモリ機能に対応している必要があります。
弊社の仮想化システムである Hyper-V の場合、「動的メモリ」という
OS を稼動させたままメモリ量を調整する機能の一部として、
ホット アド メモリ機能が実装されています。

今回はデモとして Hyper-V の動的メモリと Windows 7 Enterprise を用いて、
OS を稼動させたままメモリの最大値を増やしてみたいと思います。

事前準備として、Hyper-V マネージャーを開き、ゲスト OS の動的メモリを
有効にし、 [最大 RAM] を 2048MB に設定しておきます。


 

準備が整ったので、ゲスト OS を起動します。[スタートアップ RAM] が
1024 MB に設定されているため、物理メモリの合計値は 1023MB となっています。


 

その後、いくつかアプリケーションを起動してみます。

物理メモリの消費が 1024MB に近づくと、自動的に物理メモリの合計値が
増えていきます。以下は最大の 2047MB まで増えた状態です。


 

動的メモリを有効にするには、ゲスト OS を停止する必要がありますが、
一度動的メモリを有効にしておくと、OS が起動中であっても最大 RAM の値を
いつでも増やすことができます。

Hyper-V の動的メモリについて詳しく知りたい方は、以下の最新の文書を
ご参照ください。

Hyper-V Dynamic Memory Overview (英語)
http://technet.microsoft.com/en-us/library/hh831766.aspx

ハードウェア デバイスのトラブルシューティングについて

$
0
0

こんにちは。Windows プラットフォーム サポートの北原です。

今回は、デバイスのトラブルシューティングに利用頂けるツールをいくつかご紹介したいと思います。

===============
(A) デバイスのトラブルシューティング ツール
===============
Windows 7 及び Windows 8 には、デバイスの問題を自動的に検出し、修復を試みる
ツールが OS に付属されています。何かデバイスの問題が発生した際には、まずこちらを
試してみることをお勧めします。以下はトラブルシューティング ツールの起動手順です。

1. コントロール パネルを開きます
2. [システムとセキュリティ] をクリックします
3. [コンピューターの問題のトラブルシューティング] をクリックします
4. [デバイスを構成する] をクリックします
5. ウィザードに従ってトラブルシューティングを行います

Windows トラブルシューティング - Microsoft Windows
http://windows.microsoft.com/ja-jp/windows7/products/features/windows-troubleshooting

Windows Vista は OS に組み込まれておりませんが、以下のページからツールの入手が必要です。

Windows でのトラブルシューティング - Windows ヘルプ
http://windows.microsoft.com/ja-jp/windows/troubleshooting-windows#troubleshooting-windows=windows-vista
※ [ハードウェアおよびデバイスのトラブルシューティングを実行するには] の項にあります

===============
(B) デバイス マネージャー
===============
トラブルシューティング ツールで問題が解決しない場合は、従来通り、デバイス マネージャー
を利用します。

1. Windows キーを押しながら、Pause/Break キーを押下します
2. [デバイス マネージャー] をクリックします

デバイス マネージャーが起動すると、現在接続されているすべてのデバイスが表示されます。
まずは以下のようなアイコンが無いかを確認します。

1. 無効化
アイコンに画像のような下矢印マークが付いている場合、そのデバイスは無効化されている
ことを示しています。デバイスが無効化されていると、PC はそのデバイスを使用できません。
通常、デバイスが自動的に無効化されることはほとんどありません。何かの不具合があった場合に、
人為的に無効化させる場合がほとんどです。

デバイスを有効化するには、対象のデバイスを右クリックし、[有効] をクリックします。


 

2. 不明なデバイス
画像のように [ほかのデバイス] に含まれているデバイスは、該当するデバイスの種別が
判別できなかったものになります。これは、多くの場合、必要なデバイス ドライバーが
インストールされていないことによるものです。解決にはデバイスの開発元のサイトから
最新のデバイス ドライバーを入手する必要があります。

そもそも、そのデバイスが何であるか分からない場合は、[詳細] タブの [プロパティ] から
[デバイス インスタンス パス] を調べ、それをキーワードに指定してインターネット検索を
してみることをお勧めします。デバイスに関する情報が得られる場合があります。
また、この方法で大した情報が得られなかった場合は、パスに含まれる VEN_XXXX の 4 桁の
英数字と "Vender ID" という文字列、あわせて 2 つのキーワードを指定してインターネット
検索をすると、製造元の企業名がヒットする場合があります。

3. エラー
アイコンに画像のような ! マークが付いている場合、そのデバイスが何らかの理由で正常に
動作していないことを示しています。発生しているエラーには様々な種類があり、種類ごとに
エラー コードが割り振られています。当該のデバイスをダブルクリックすることで、
エラー コードを確認することができます。
 

以下の KB には各エラー コードの説明と対応策が記載されています。
これを参考に Windows 8.1 までの OS 上でトラブルシューティングを行うことができます。

Windows のデバイス マネージャーのエラー コード
http://support.microsoft.com/kb/310123/ja-jp (日本語機械翻訳)
http://support.microsoft.com/kb/310123/en-us (英語)

===============
(C) devcon.exe
===============
devcon.exe は、デバイス マネージャーと同等の機能を持つコマンド ライン ツールです。
コマンド プロンプトでデバイスのトラブルシューティングをする場合に最適です。

以下は devcon.exe を使ってデバイスを有効化した例です。
 

devcon.exe は、Windows Driver Kit (WDK) の中に含まれておりますので、WDK を
インストールすることで、devcon.exe を入手できます。現在の最新の WDK の
インストーラーは以下のページにあります。

WDK と WinDbg のダウンロード
http://msdn.microsoft.com/ja-jp/windows/hardware/hh852365
※ [WDK 8.1 Update のダウンロード] にあります

なお、WDK 8.1 内のデフォルトの devcon.exe の保存場所は以下のとおりです。

- x86 版
  C:\Program Files (x86)\Windows Kits\8.1\Tools\x86\devcon.exe
- x64 版
  C:\Program Files (x86)\Windows Kits\8.1\Tools\x64\devcon.exe

詳細なツールの使い方は、以下の KB に記載があります。

デバイス マネージャーとして機能する DevCon コマンド ライン ユーティリティ
http://support.microsoft.com/kb/311272/ja

余談ですが、devcon.exe はデバイスのトラブルシューティング以外でも、運用で使う
スクリプトに組み込むことでも使用できます。例えば、OS の起動時に現在未接続の
USBデバイスを削除したい場合、以下のような VB スクリプトを用意して、スタート
アップに設定することで実現できます。

on error resume next
' 以下のデバイスの一覧 (未接続デバイスを含む) を取得します
' ディスク ドライブ
' ポータブル デバイス
' ユニバーサル シリアル バス コントローラー
' 記憶域ボリューム
Set objShell = CreateObject("WScript.Shell")
If UCase(objShell.Environment("Process").Item("PROCESSOR_ARCHITECTURE")) = "X86" Then
    strDevcon = "devcon.exe"
Else
    strDevcon = "devcon64.exe"
End If
Set outExec = objShell.Exec(strDevcon & " findall @usb* @*usbstor*")
Set outStream = outExec.StdOut

' 現在接続されているデバイスの一覧を取得します
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colServices = objWMIService.ExecQuery("Select * From Win32_PnPEntity")
Do While Not outStream.AtEndOfStream
  strLine = outStream.ReadLine()
  arrFields = Split(strLine," ")
  FLG = 0
  For Each objService in colServices
    ' Win32_PnPEntity の結果と devcon findall コマンドの結果を比較します
    If arrFields(0) = objService.DeviceID Then
      FLG = 1
      Exit For
    End If
  Next
  ' 比較後、一致する情報が無い (未接続デバイス) 場合、ドライバを削除します
  If FLG = 0 and not IsNumeric(arrFields(0)) Then
     If Right(arrFields(0), 1) = ":" Then
       strDevice = Left(arrFields(0), Len(arrFields(0)) - 1)
     else
       strDevice = arrFields(0)
     End If
     objShell.Run strDevcon & " remove @" & chr(34) & strDevice & chr(34)
  End If
Loop
Set colServices = Nothing
Set outStream = Nothing
Set outExec = Nothing
Set objWMIService = Nothing
Set objShell = Nothing

devcon.exe の findall オプションを使うと、未接続のデバイスも含めた全てのデバイスのリストを表示
させることができます。そして現在接続中のデバイスの一覧を WMI から取得し、それらを突き合せる
ことで未接続のデバイスだけを抽出しています。また、findall オプションの引数にはワイルドカードを
設定できますので、“@usb* @*usbstor*” のように指定することで、USB 関連のデバイスのみ抽出する
ことができます。スクリプトの最後で、抽出した未接続の USB デバイスを remove オプションで一つ一つ
削除しています。

※ 上記のスクリプトはあくまでサンプルです。実際にお使いになられる場合は、
環境にあわせてカスタマイズをし、十分にテストをした上でご使用ください。


Windows Server 2012 標準的なリモート デスクトップ サービス環境構築手順について

$
0
0

こんにちは。Windows プラットフォーム サポートの吉田です。

今回は、Windows Server 2012 (R2 含む) における、標準的なリモート デスクトップ サービス環境の構築手順をご案内いたします。

なお、構築の前提条件といたしまして、対象サーバーが Active Directory に参加している環境としています。

ワークグループ環境での構築につきましては、以下を参照ください。

 - Windows Server 2012 リモート デスクトップ環境の構成について

   http://blogs.technet.com/b/askcorejp/archive/2012/12/28/windows-server-2012.aspx

また、本稿においては、[セッション ベースのデスクトップ展開] に特化した手順となっており、MS VDI (Virtual Desktop Infrastructure) 環境の構築には言及しておりません。

VDI 環境の構築につきましては、別途公開させていただく予定としています。

--------------------------------------------------------

Windows Server 2012 以降においては、リモート デスクトップ サービスおよび RemoteApp アプリケーションを公開するためには、同一ドメイン内に 下記の役割を持つサーバーが必須となっています。

なお、下記の役割は全て一台のサーバーに集約する事が可能です。

  • リモート デスクトップ  (RD) セッション ホスト
    - デスクトップ セッション、RemoteApp プログラムを提供します。
  • リモート デスクトップ (RD) 接続ブローカー
    - ユーザーからの接続要求および再接続時の割り当てを管理します。
  • リモート デスクトップ (RD) Web アクセス
    - RD セッション ホスト、RemoteApp プログラムへの接続ポイントを提供する Web ポータルとなります。
  • リモート デスクトップ (RD) ライセンス
    - RD セッション ホスト、RemoteApp プログラムを使用する際に、ユーザーが接続するのに必要なライセンス (RDS CAL) を管理します。

また、Windows Server 2012 以降においては、リモート デスクトップ サービスおよび RemoteApp を [セッション コレクション] という概念で、管理・公開いたします。

[セッション コレクション] の単位にて、複数台のセッション ホスト サーバーを管理する事が可能となっており、[サーバー マネージャー] 上に展開される [リモート デスクトップ 管理サービス (RDMS)] にて一元管理、設定が可能です。

[セッション ベースのデスクトップ展開] におきましては、以下 2 種類の展開方法があります。

  • 標準の展開
    - 各役割を、複数、または一台のサーバーに展開する場合に使用します。
  • クイック スタート
    - 各役割を、一台のサーバーに集約する場合に使用します。

一台のサーバーに展開する場合、[クイック スタート] での展開が簡易ですが、評価環境での構築を意図しているため、一台のサーバーに展開いただく場合においても、[標準の展開] を選択いただく事を推奨いたします。

以下の手順におきましては、[標準の展開] での構成方法をご案内いたします。

<サーバーの追加>

複数台のサーバーに各役割をインストールいただく場合には、接続ブローカーの役割をインストールいただくサーバーにおいて、各サーバーを管理対象としていただく必要があります。

一台のサーバーに全ての役割をインストールする場合には、この手順は必要ありません。

  1. 左ペイン の [全てのサーバー] 右クリック、[サーバーの追加] 選択します。
  2. 検索ボタンで、ドメイン内のサーバーを検出し、各役割をインストールするサーバーを選択します。
  3. [OK] ボタンで完了です。

<役割のインストール>

  1. 接続ブローカーの役割をインストールいただくサーバーにて、ドメインの administrator でログインし、[サーバー マネージャー] を開き、[管理] - [役割と機能の追加] を選択します。
  2. [インストールの種類] にて [リモート デスクトップ サービスのインストール] を選択します。
  3. [展開の種類の選択] にて [標準の展開] を選択します。
  4. [展開シナリオの選択] にて [セッション ベースのデスクトップ展開] を選択します。
  5. [役割サービスの確認] 画面が表示されますので、[次へ] を押下します。
  6. [RD ブローカー サーバーの指定]、[RD Web アクセス サーバーの指定]、[RD セッション ホスト サーバーの指定] のそれぞれにて、インストールいただくサーバーを選択します。
  7. [選択内容の確認] にて、各役割の選択サーバーに間違いがない事を確認し、[必要に応じてターゲット サーバーを自動的に再起動する] にチェックをいれ [展開] を押下します。
  8. 各役割のインストールが実行され、RD セッション ホストの役割がインストールされるサーバーにつきましては、再起動が実施されます。
  9. 再起動完了後、インストールを実施したサーバーの [進行状況の表示] において、すべての役割で [成功] となっていたら、インストール完了です。

< セッション コレクションの作成 >

  1. サーバー マネージャーにて、左ペインより、[リモートデスクトップ サービス] - [概要] を選択します。
  2. 右ペインの [展開の概要] にて、RD セッションホスト を右クリックし、[セッション コレクションの作成] を選択します。
  3. [コレクション名の指定] にて任意のセッション コレクション名を指定します。
  4. [RD セッション ホスト サーバーの指定] にてサーバー プールから、 セッション コレクションを作成する RD セッション ホスト サーバーを追加します。
  5. [ユーザー グループの指定] にて利用を許可するユーザーまたはグループを指定します。
  6. [ユーザー プロファイル ディスクの指定] にてユーザー プロファイルの保存先を指定します。ユーザー プロファイル ディスクを有効にしない設定でも問題ありません。
  7. [作成] をクリックし、[進行状況の表示] にて全て [成功] となっていたら、セッション コレクション作成完了です。

 <セッション コレクションのプロパティ>

  1. サーバー マネージャーにて、左ペインより、[リモートデスクトップ サービス] - [(コレクション名)] を選択します。
  2. 右ペインの [プロパティ] の [タスク] - [プロパティの編集] を選択する事で、セッション コレクションの各設定をカスタマイズする事ができます。
  • 全般
  • ユーザー グループの指定
  • セッションの設定の構成
  • セキュリティ設定の構成
  • 負荷分散の設定の構成
  • ユーザー プロファイル ディスクの構成

<RemoteApp アプリケーションの公開>

  1. サーバー マネージャーにて、左ペインより、[リモートデスクトップ サービス] - [(コレクション名)] を選択します。
  2. 右ペインの [RemoteApp プログラム] の [タスク] - [RemoteApp プログラムの公開] を選択します。
  3. RemoteApp プログラムの選択] にて公開したいアプリケーションを選択します。
    公開するアプリケーションは、RD セッション ホスト サーバーにインストールされている必要があります。
  4. [確認] 画面にて公開するアプリケーションを確認し、[公開] をクリックします。
  5. [完了] 画面にてエラーがない事を確認し、[閉じる] をクリックします。
    以上にて、RemoteApp アプリケーションの公開が完了です。

<ライセンス サーバーのインストール>

  1. サーバー マネージャーにて、左ペインより、[リモートデスクトップ サービス] - [概要] を選択します。
  2. 右ペインの [展開の概要] にて、[RD ライセンス] の (+) マークをクリックします。
  3. [サーバーの選択] にて、RD ライセンス の役割をインストールするサーバーを選択します。
  4. [選択内容の確認] でインストールするサーバーに間違いがない事を確認し、[追加] をクリックします。
  5. [進行状況の表示] にて [成功] となっていたら、ライセンス サーバーのインストール完了です。


<ライセンス モードの設定>

  1. サーバー マネージャーにて、左ペインより、[リモートデスクトップ サービス] - [概要] を選択します。
  2. [展開の概要] から [タスク] - [展開プロパティの編集] を選択します。
  3. 左ペインより [RD ライセンス] を選択します。
  4. [接続デバイス数] または [接続ユーザー数] を指定します。


ライセンス サーバーのアクティブ化およびライセンスのインストールにつきましては、Windows Server 2008 R2 と同様となりますので、下記を参照願います。

 - リモート デスクトップ ライセンス サーバーをアクティブ化する

    http://technet.microsoft.com/ja-jp/library/cc771547.aspx

 - リモート デスクトップ サービス クライアント アクセス ライセンスをインストールする

    http://technet.microsoft.com/ja-jp/library/cc725890.aspx

上記までを実施いただくことで、標準的なリモート デスクトップ サービス環境が構成されます。

なお、Windows Server 2012 以降においては、RemoteApp アプリケーションは RD Web アクセスのポータル サイトからのご利用が標準となっています。

クライアントから、以下の URL にアクセスいただいてご利用ください。

      https://(Web アクセス サーバー FQDN 名)/rdweb

例 :  https://WebAccess.contoso.com/rdweb

Windows Server 2012 または Windows Server 2012 R2 環境の iSCSI と NIC チーミングについて

$
0
0

こんにちは。日本マイクロソフトの松岡です。

Windows Server 2003 や、Windows Server 2008、Windows Server 2008 R2 環境で Microsoft iSCSI イニシエーターを利用する際に、NIC をチーミングしたいというお問い合わせをいただくことがあります。
しかしながら、Windows Server 2012 より前の OS では Microsoft iSCSI イニシエーターを利用する環境では、NIC のチーミングはサポートされていませんでした。
これは、NIC チーミングは 3rd party 製のソリューションのみであったので、弊社製品ではない部分に動作が依存してしまうため、非サポートとさせていただいていました。

=== 注意事項 ===
Windows Server 2012 または Windows Server 2012 R2 環境においても Microsoft iSCSI イニシエーター、及び Microsoft iSCSI ターゲットをご利用される NIC にて 3rd party 製チーミング アプリケーションを使用した NIC チーミングはサポートされません。
==============

ただし、Windows Server 2012 より OS の機能である "負荷分散とフェールオーバー (LBFO)" を利用して NIC チーミングを構成した環境はサポートされます。

また、NIC を iSCSI 専用のインターフェースとして利用する場合 (他のサービス等では利用しない) には、LBFO を使用せず、MPIO のみで冗長構成を行うことを推奨しています。(NIC チーミングと MPIO 両方を構成すると重複した構成となり、複雑性を増す一方で利点がないため)

そのため、Windows Server 2012 または Windows Server 2012 R2 環境で、Microsoft iSCSI イニシエーター、または Microsoft iSCSI ターゲットを利用する際に、NIC チーミングをご利用されたい場合には LBFO をご利用ください。また、MPIO が利用可能な場合にはそちらもご検討ください。

- 参考情報
 Is NIC Teaming in Windows Server 2012 supported for iSCSI, or not supported for iSCSI? That is the question…
 http://blogs.technet.com/b/askpfeplat/archive/2013/03/18/is-nic-teaming-in-windows-server-2012-supported-for-iscsi-or-not-supported-for-iscsi-that-is-the-question.aspx

 NIC チーミングの概要
 http://technet.microsoft.com/ja-jp/library/hh831648.aspx

Windows Server バックアップ実行時に記録される、ソース: disk、ID: 157 の警告について

$
0
0

こんにちは。Windows High Availability サポート チームの吉井です。

 

今日は、Windows Server 2012 R2 Windows Server バックアップを実行した時に記録される、以下の 「ソース: diskID: 157」 の警告について説明したいと思います。

 

-------------------------------------

ソース:           disk

イベント ID:       157

レベル:           警告

説明:

ディスク X が突然取り外されました。

-------------------------------------

 

ソース: diskID: 157 のイベントについて

Windows Server 2012 R2 では、ディスクの取り外しが行われた場合に、ソース: diskID: 157 の警告イベントを記録する機能が追加されています。運用中のシステムでディスクが取り外される状況 (取り外されたと認識される状況) は、一般的にディスク接続周りに何らかの問題が生じていることが多い状況ですので、このことを検知できるように Windows Server 2012 R2 で実装されました。

 

参考情報:

Event ID 157 "Disk # has been surprise removed"

http://blogs.msdn.com/b/ntdebugging/archive/2013/12/27/event-id-157-quot-disk-has-been-surprise-removed-quot.aspx

 

 

Windows Server バックアップ実行時に記録される理由について

Windows Server バックアップでは、バックアップ データの保持形式として仮想ディスク イメージ (VHD/X) を採用しており、バックアップ処理中にこの仮想ディスクの接続と切断が発生します。

 

そのため、仮想ディスク切断時に diskID: 157 のイベントが記録されますが、これは Windows Server バックアップの動作として想定される動作となりますので、警告イベントによる悪影響はなく、安全に無視可能です。バックアップも正常に完了していれば、バックアップ データの整合性にも問題ありません。

 

 

警告の抑止方法について

無視可能ではあるものの、"警告" レベルでイベントが記録されることで、システム運用監視上の負担となる場合もありますので、仮想ディスクの切断時にはこの警告を出力しないようにする更新プログラムをリリースしています。

(この更新プログラムを適用しても、仮想ディスクの切断時に警告が記録されなくなるのみであり、実際に物理ディスクが取り外されたようなシナリオでは警告は出力されます。)

 

文書番号: 2955164

May 2014 update rollup for Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2

http://support.microsoft.com/kb/2955164

 

この更新プログラムを適用することでイベント出力の抑止が可能です。

また、本事象について説明した技術情報もご紹介いたします。

 

文書番号: 2958027

Extraneous log entries are created when you remove virtual disk devices in Windows 8.1 or Windows Server 2012 R2

http://support.microsoft.com/kb/2958027

 

 

まとめ

Windows Server 2012 R2 Windows Server バックアップを実行した時に記録される、「ソース: diskID: 157」の警告は安全に無視可能です。

ただし、本警告を抑止したい場合には KB 2955164 の適用をご検討ください。

 

文書番号: 2955164

May 2014 update rollup for Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2

http://support.microsoft.com/kb/2955164

 

icacls コマンドで、”削除” 拒否のアクセス権設定する場合の設定方法と注意点について

$
0
0

こんにちは、Windows プラットフォーム サポート担当の頂です。

今回は、ファイルやフォルダーを削除されないようにするためのアクセス権設定をコマンドから実行する方法についてご紹介いたします。
ファイルやフォルダーを削除されないようにするためには、フォルダーやファイルの [プロパティ] の [セキュリティ] タブから、削除を拒否するためのアクセス権設定を変更することでできますが、今回は、同様の設定を icacls コマンドを使用して行う場合の手順と注意点について、ご紹介いたします。

icacls コマンドとは
----------------------------------------------------
フォルダーやファイルのアクセス権について設定へ変更などを行う事ができるコマンドです。
Windows Server 2003 SP2 で提供され、Windows Vista ( Windows Server 2008 ) 以降では、標準のコマンドとして実装されました。

- 設定方法
まずは、ファイルやフォルダーについて、削除や読み取りなどを拒否する場合に利用できる、”拒否” のアクセス権を設定するコマンドについてご紹介いたします。

“拒否” のアクセス権を設定する際のコマンド基本型
--------------------------
icacls "<対象のファイルまたはフォルダーのパス>" /deny "<ユーザー名>":(拒否対象の権限)

ファイルやフォルダーについて、削除させないようにするために、"削除 (DELETE)" の権限を拒否に設定する場合には以下コマンドを利用します。

"削除 (DELETE)" の権限を拒否に設定する場合のコマンド
--------------------------
ファイルやフォルダーを削除されないように、"削除 (DELETE)" の権限を拒否に設定する場合には、“(拒否対象の権限)” 設定を必ず、(DE) と設定します。

icacls "<ファイルまたはフォルダーのパス>" /deny <ユーザー名>:(DE)

コマンド例図

 - 注意点
icacls コマンドのヘルプでは、"D -削除のアクセス権" と記載されておりますが、下記コマンド例のように、"削除 (DELETE)" の権限を拒否設定する場合に、(D) を使用すると、/deny <ユーザー名> に指定したユーザーが、コマンド実行対象のファイルやフォルダーにアクセスできなくなります。
これは、“(拒否対象の権限)” に (D) を指定することで、"削除 (DELETE)" の権限だけで無く、"同期 (SYNCHRONIZE)" の権限も拒否されることによる動作となります。

コマンド例
icacls "<ファイルまたはフォルダーのパス>" /deny <ユーザー名>:(D)

"同期 (SYNCHRONIZE)" の権限が拒否された場合には、以下手順でファイルやフォルダーにアクセス出来なくなります。

・ コンピューターにログオンした状態で、フォルダーやファイルにアクセスする。
・ SMB2 を利用したネットワーク経由でフォルダーやファイルにアクセスする。

現在設定されているアクセス権を確認する場合にも、icacls コマンドは利用できますが、コマンド プロンプト上には、"同期 (SYNCHRONIZE)" の権限は表示されないため、 /Save オプションを利用して、ファイルへSDDL形式での出力、もしくは PowerShell の Get-Acl コマンドレッド での確認が必要となります。
そのため、ファイルへの出力をせずに、アクセス権の確認が必要な場合には、PowerShell の Get-Acl コマンドレッドをご利用ください。

PowerShell Get-Acl コマンドレッドの実行結果

icacls "<ファイルまたはフォルダーのパス>" /deny <ユーザー名>:(D) コマンドを利用した場合には、"同期 (SYNCHRONIZE)" の権限が、DENY (拒否のアクセス権) に、設定されていることを確認できます。

  

なお、icacls コマンドのオプション設定により、アクセスが拒否される動作については、以下技術文書で公開いたしております。

文書番号: 2784859
icacls コマンドで、オブジェクトに削除拒否の設定を行うと、リモートからの接続時にアクセスが拒否されることがあります
http://support.microsoft.com/kb/2784859/ja

- 参考情報

Windows Server 2008 のアクセス制御の新機能
http://technet.microsoft.com/ja-jp/library/cc731677(v=WS.10).aspx

Get-Acl コマンドレットの使用
http://technet.microsoft.com/ja-jp/library/ee176838.aspx

削除できないプリンター アイコンが出現する問題について

$
0
0

 

皆さんこんにちは。

Windows プラットフォーム サポートのけまるやです。

 

最近、Windows 8 や Windows 8.1 環境をお使いの方から "デバイスとプリンター" 画面に削除できないプリンターのアイコンが出現するという現象についてお問い合わせをいただくことがあります。

この問題は弊社でも詳しい調査が行われておりますが、事象を改善する方法が見つかりましたため、ご紹介させていただきます。

 

- 発生する事象の詳細について 

弊社では、複数のユーザーが 1 台のコンピューターにログオンすることがある端末において、以前コンピューターを使用していたユーザーがログオフ後、コンピューターの再起動や、印刷スプーラー サービスの再起動が発生すると、別のユーザーがログオンしたときに、"デバイスとプリンター" 画面に以前ログオンしていたユーザーが使用していたネットワーク共有プリンターのアイコンが見えてしまう事象が発生することが報告されております。

この時に表示されるネットワーク共有プリンターは、もともとログオンしていたユーザーでも削除できず、管理者権限を使用しない限り、削除できません。

以下は今回の事象を再現したときのビデオです。ネットワーク共有プリンターを削除しても復活してしまったり、そもそも削除できないプリンターが出現したりします。

(Please visit the site to view this video)

 

- 事象の回避策について 

お問い合わせの問題が発生しており、対処が必要な場合には、まずは以下の画面のように RemovePrintersAtLogoff のレジストリ値を 1 に設定いただくことをご検討ください。

キー : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Providers\Client Side Rendering Print Provider
名前 : RemovePrintersAtLogoff
種類 : REG_DWORD
値 : 1 

※レジストリ設定後の参考画像です

Windows では、ユーザーがネットワーク共有プリンターに接続したとき、次回ログオン時にすぐにネットワーク共有プリンターが使えるよう、情報の一部をキャッシュします。今回の問題は、このキャッシュの情報の一部に問題が発生することで、ほかのユーザーのプリンターが見えてしまう問題であることがわかっています。

RemovePrintersAtLogoff のレジストリ設定を行い、印刷スプーラー サービスを再起動いたしますと、ユーザーのログオフ時にプリンターのキャッシュ情報を削除するようになります。

また、RemovePrintersAtLogoff のレジストリ設定を行っても、すべてのキャッシュ情報がすぐに削除されるわけではありません。削除できないプリンターをすぐに消したい場合には、管理者権限を持ったアカウントで以下の対処策を実施いただき、状況が改善されるかどうかをご確認ください。

  1. 印刷スプーラー サービスを停止します。

  2. レジストリ エディタを開き、以下のレジストリ キー配下を空にします。

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Providers\Client Side Rendering Print Provider

  3. RemovePrintersAtLogoff を 1 に設定します。

  4. 印刷スプーラー サービスを再開します。

  5. デバイスとプリンター画面を開きます。

  6. 削除できなかったプリンターのアイコンをそれぞれ右クリックして、削除を実行します。

※プリンターの削除画面

 

弊社では、この問題について引き続き調査を継続していますので、新しい情報がわかりましたらお伝えしたいと思います。

メモリ ダンプ ファイルを生成する方法について

$
0
0

こんにちは。Windows プラットフォーム サポートの世古です。

 

日々のサポート業務の中で、よくお問い合わせをいただくメモリ ダンプ ファイルについてご紹介いたします。

 

画面が固まって動かない等の問題(ブルースクリーンやフリーズ等)が発生した場合、マイクロソフトで調査を行う為にメモリ ダンプ ファイルの採取を依頼する場合があります。今回はそのファイルの詳細と採取方法についてご説明いたします。

 

  1. メモリ ダンプとは
  2. メモリ ダンプの種類
  3. メモリ ダンプの取得方法
  4. 完全メモリ ダンプの採取のための事前設定
  5. 手動でメモリ ダンプを生成する方法
  6. NMI を使用したメモリ ダンプ生成方法
  7. キーボードを使用したメモリ ダンプ生成方法

 

 

(1) メモリ ダンプとは

====================================

メモリ ダンプ ファイルは、システムのある瞬間の物理メモリの情報をファイルとして出力させたものです。OSが異常終了した際に、原因を調査する為にメモリ ダンプは役立ちます。システムの設定に依存しますが、異常終了(ブルースクリーン BSOD)が発生した際にメモリ ダンプ ファイルが作成されます。

 

具体的には以下の様な画面(ブルースクリーン BSOD)になった際にメモリ ダンプ ファイルが作成されます。

 

 

(2) メモリ ダンプの種類

====================================

メモリ ダンプには以下 3 つの種類がございます。

 

  • 最小メモリ ダンプ (256 KB): 停止した理由を判別するのに役立つ有用な情報の最小セット(Stop メッセージとそのパラメーター、停止したスレッドのカーネル モードの呼び出し履歴等)を記録します。原因追及に至る可能性は非常に低いです。
  • カーネル メモリ ダンプ: カーネル メモリだけを記録します。ユーザー モードの情報がないため、トラブルの原因を特定できない場合があります。
  • 完全メモリ ダンプ: システム メモリのすべての内容を記録します。詳細調査に非常に有効です。

 

完全メモリ ダンプではすべての物理メモリの内容を出力でき、より詳細な調査に有効な情報を確認する事が出来ます。調査の為にメモリ ダンプを取得する場合には、完全メモリ ダンプを取得いただく事を推奨しております。

 

各ダンプで取得される情報についての詳細は以下の情報をご参照ください。

 

-          参考:

メモリ ダンプ ファイル オプションの概要

http://support.microsoft.com/kb/254649/ja

 

 

(3) メモリ ダンプの取得方法

====================================

実際にシステムがクラッシュした際にメモリ ダンプを生成するには、事前にシステムの設定をする必要がございます。具体的には以下 2 つの設定を行います。

 

  • PageFile の大きさを設定する。
  • メモリ ダンプが生成される設定にする。

 

上記 2 つの具体的な手順として完全メモリ ダンプの設定手順を以下にご案内いたします。

 

 

(4) 完全メモリ ダンプの採取のための事前設定

====================================

以下 2つの設定を行い、メモリ ダンプが正しく出力されるように設定します。

 

1. PageFile の大きさを設定する

PageFile の初期サイズと最大サイズを、物理メモリのサイズ + 300 MByte以上に設定します。

 

※ 300 MByte はダンプ ファイルのヘッダー情報や二次ダンプ ファイルのために使われる領域です。現在サポートしているどの OS のどの環境にでも対応できるように余裕を持たせた値となっております。弊社の KB やエンジニアがお送りしているメールによっては、より少ない値でご案内している場合もございます

 

場所:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SessionManager\Memory Management

名前:PagingFiles

種類:REG_MULTI_SZ

値:<ページ ファイル保存先> <初期サイズ (MB)> <最大サイズ (MB)>

 

例:)物理メモリのサイズが 4 GB (4096 MB) の場合

 “c:\pagefile.sys 4396 4396”

 

※ 初期サイズを物理メモリ サイズより小さくした場合、システムに深刻なクラッシュが発生して PageFile のファイル サイズを必要な大きさまで拡張する機能が動作しなくなった際に、正常に完全メモリ ダンプが生成されなくなる可能性があります。必ず、初期サイズも最大サイズと同様に物理メモリ サイズより大きくしてください

 

2. メモリ ダンプが生成される設定にする

レジストリ エディタで、下記のレジストリの値を設定します。

 

場所: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\CrashControl

名前: CrashDumpEnabled

種類: REG_DWORD

値: 1

 

値の説明:

0x0 = メモリ ダンプなし

0x1 = 完全メモリ ダンプ

0x2 = カーネル メモリ ダンプ

0x3 = 最小メモリ ダンプ

 

メモリ ダンプの出力先は以下のレジストリ値で確認できます。

 

場所: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\CrashControl

名前: DumpFile

種類: REG_EXPAND_SZ

既定値: %SystemRoot%\MEMORY.DMP

 

上記レジストリの設定を変更した後は、設定値を反映する為にシステムの再起動が必要となります。

 

 

(5) 手動でメモリ ダンプを生成する方法

====================================

上述のダンプの設定を行った後、次回以降ブルー スクリーン エラーが発生するとメモリ ダンプが保存されます。実際にメモリ ダンプが生成されるか確認する場合には、後述にてお伝えいたします、手動でメモリ ダンプを生成する方法をご検討下さい。この方法はメモリ ダンプを強制的に取得したい場合(フリーズやハングアップ等)にも利用できます。なお、手動でダンプを生成する際にも、ブルー スクリーンの状態になりますので、サーバーの電源を強制的に OFF/ON した際と同様の影響があることを予めご了承ください。

 

手動でメモリ ダンプを生成するには、以下の 2 つの方法がございます。

 

  • NMI を使用したメモリ ダンプ生成方法
  • キーボードを使用したメモリ ダンプ生成方法

 

尚、NMI スイッチを使用する事により、キーボード等で操作できない状況でもメモリダンプを採取できる可能性があります。NMI はキーボード操作より高い優先順位で割り込みを発生させますので、キーボード操作ができない場合も、ダンプが取得できる可能性があります。その為、可能な限り NMI でのメモリ ダンプ取得をご検討下さい。

 

※ ブルー スクリーンの “Dumping physical memory to disk” の値が 100 になったタイミング(後述の画面ピクチャ参照)で電源  OFF/ON による再起動を実施してください 。尚、自動再起動が設定されている場合は 100 になったタイミングで自動で再起動されます。

 

-          自動再起動の設定値について

自動再起動の設定は以下のレジストリ値よりご確認いただけます。

 

レジストリ キー: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl\AutoReboot

値:

0 = 自動再起動無効

1 = 自動再起動有効

 

ブルー スクリーンが表示されている際には、物理メモリの情報をファイルとして出力しております。その出力状況が “Dumping physical memory to disk” の値です。その為、この値が 100 に達する前に再起動を実施した場合には正しくファイルが出力されない状況となりますので、必ず 100 になったことを確認してから再起動を実施ください。このファイル出力にかかる時間は、ディスクへの書き込み速度および物理メモリのサイズに応じて変化します。

 

  

(6) NMI を使用したメモリ ダンプ生成方法

====================================

NMI を有効にする為、まずはソフトウェア側のダンプ設定を行います。

 

1.      [スタート] から [コンピューター] を右クリックし [プロパティ] をクリックします。

2.      [システム] 画面から右下の [設定の変更] をクリックします。

3.      [システムのプロパティ] 画面の [詳細設定] タブより、[起動と回復] 欄にある [設定] ボタンをクリックします。

4.      [起動と回復] 画面より、デバッグ情報の書き込みを [完全メモリ ダンプ] に設定します。

5.      [OK] をクリックし画面を閉じます。

6.      次に [レジストリ エディター] を開き、以下のレジストリ サブ キー を選択します。

          HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl

7.      [CrashControl] キーを右クリックし、[新規] から [DWORD 値] をクリックします。

8.      追加された DWORD 値の名前に ”NMICrashDump” と入力し、ENTER キーを押します。

9.      NMICrashDumpを右クリックし、[修正] をクリックします。

10.     [値のデータ] の空欄に ”1” を入力し [OK] ボタンをクリックします。

11.     再起動を実施し、レジストリの変更を反映します。

12.     NMI スイッチを使用してダンプ ファイルが生成されるか確認します。

 

ダンプの取得する為の NMI スイッチはそれぞれのサーバーによって場所が異なります。NMI の発行方法につきましてはハードウェア ベンダーのご提供元様にお問い合わせください。

 

尚、Windows Server 2012、Windows 8 の環境においては NMI の設定が既定で構成されておりますので、上記レジストリの追加および変更は必要ありません。

 

-          参考:

Windows ベースのシステムに、NMI を使用して完全クラッシュ ダンプ ファイルまたはカーネル クラッシュ ダンプ ファイルを生成する方法

http://support.microsoft.com/kb/927069/ja

 

NMI_HARDWARE_FAILURE error when an NMI is triggered on Windows 8 and Windows Server 2012

http://support.microsoft.com/kb/2750146

 

 

(7) キーボードを使用したメモリ ダンプ生成方法

====================================

キーボードからの割り込み処理を有効にする為、レジストリの設定を行います。

 

[PS/2 キーボードの場合]

レジストリ エディタで、下記のレジストリの値を設定してください。

 

場所:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters

名前:CrashOnCtrlScroll

種類:REG_DWORD

値:1

 

[USB キーボードの場合]

レジストリ エディタで、下記のレジストリの値を設定してください。

 

場所:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kbdhid\Parameters

名前:CrashOnCtrlScroll

種類:REG_DWORD

値:1

 

レジストリ値の変更後はシステムを再起動します。

 

-          キーボードの種類を確認する方法について

上記キーボードの種別は、対象のコンピューター上にて msinfo32.exe を実行いただくことでご確認いただけます。

 

  1. [スタート] - [ファイル名を指定して実行] から、msinfo32.exe を実行します。
  2. システム情報で、[コンポーネント] - [入力] - [キーボード] を展開します。
  3. 詳細画面の "説明" 項目の値をご確認いただければと存じます。
  • 標準 PS/2 キーボード
  • USB 入力デバイス

  上記値などをご確認ください。

 

※ 判別が難しい場合は、両方のレジストリの値を設定いただいても問題ございません。

 

-          強制ダンプの採取手順

強制ダンプの採取手順は以下の通りです。

 

  1. 右の CTRL キーを押しながら ScrollLock キーを 2 回押下します。
  2. 再起動し、青い画面となります。カウンタが開始されますので、そのまま OS が起動するまでお待ち下さい。
  3. [デバッグ情報の書き込み] ボックスの「ダンプ ファイル」に記載されているパスにダンプ ファイルが作成されます。

 

-          参考

キーボード操作でメモリ ダンプ ファイルを作成できる Windows の機能

http://support.microsoft.com/kb/244139/ja

 

Windows Server 2008 および Windows Server 2008 R2 でカーネルまたは完全メモリ ダンプ ファイルを生成する方法

http://support.microsoft.com/kb/969028/ja

 

 

ダンプの調査をご検討される方にとって上述の内容がご参考になりますと幸いです。

グループ ポリシーを用いた WPD デバイスの制限について

$
0
0

こんにちは。Windows プラットフォーム サポートの北原です。

最近、PC からスマート フォンへのデータの書き出しを禁止したいというお問い合わせを
多くいただいております。以前の記事で、グループ ポリシーを用いたデバイスの
アクセス制御をご紹介しましたが、今回は、その中でも主にスマート フォンが使用している
Windows Portable Device (WPD) デバイスへの制限について取り上げたいと思います。

グループ ポリシーを用いたデバイスのアクセス制御について
http://blogs.technet.com/b/askcorejp/archive/2014/04/28/3516088.aspx


================
WPD の概要
================
WPDとは、Windows Vista 以降の OS に標準的に備わっている、携帯電話、デジタル カメラ、
音楽プレーヤーのようなポータブル デバイスとの通信手段を提供するドライバ ベースの
テクノロジーです。WPD は API を有しており、デバイスの状態を調べたり、デバイスを
制御する (写真を撮る、メッセージを送るなど) アプリケーションを開発することができます。
なお、Windows XP の場合、別途 Windows Media Player 10 または 11 をインストールする
必要があります。

スマート フォンや従来の携帯電話を USB で PC につないでファイルの転送をする際、通常、
「MTP モード」や「PTP モード」など、事前にモードの選択をする必要があります。
この MTP や PTP というのは WPD が使用している通信手段のことで、現在、WPD が
主に使用しているものは以下の 3 つとなります。

  • Picture Transfer Protocol (PTP) - 携帯電話やデジタル カメラなどに画像ファイルを
    転送するためのプロトコル
  • Media Transfer Protocol (MTP) - PTP を拡張し、携帯電話や音楽プレイヤーなどに
    音楽ファイルや動画ファイルも転送できるようしたプロトコル
  • Mass Storage Class (MSC) - 従来から使われている USB を介したファイルの転送技術

(参考情報) WPD Drivers
http://msdn.microsoft.com/en-us/library/windows/hardware/ff597868.aspx

この記事では Windows Vista 以降の OS で使用可能な PTP/MTP による情報の持ち出しを制限する
グループ ポリシーをご紹介します。


補足情報
---------------
MSC は USB メモリや USB ハード ディスクなどの大容量記憶デバイスを PC に接続して、
エクスプローラー上でファイルのコピーなどをする際に使われるファイル転送技術です。
一部のスマートフォンには、MTP/PTP のモード以外に、「ファイル転送モード」などの名前で
MSC によるファイルの転送を可能にしているものもあります。この MSC のモードで PC に接続した際、
マウントされたドライブを右クリックして、[ポータブル デバイスとして開く] を選ぶと、
WPD を介した MSC による通信ができるものがあり、これが WPD における 3 つ目の通信手段となります。

この WPD を介した MSC の制限には、従来の USB メモリのデバイス制御と同じグループ ポリシーを
使用します。例えばファイルの読み書きを制限したい場合は、以下のグループ ポリシーを使います。

- [コンピューターの構成]
 - [管理用テンプレート]
  - [システム]
   - [リムーバーブル記憶域へのアクセス]
    - [リムーバブル ディスク: 読み取りアクセス権の拒否] および
    - [リムーバブル ディスク: 書き込みアクセス権の拒否]
    設定値: 有効


===============
PTP/MTP の制限方法について
===============
グループ ポリシーを用いて PTP/MTP による情報の持ち出しを制限する方法は 3 種類あります。
これらは Windows Vista 以降の OS で使用可能です。

  1. PTP/MTP による読み書きを制限する方法
  2. WPD デバイスのインストールを制限する方法
  3. ホワイト リストによるデバイスのインストールを制限する方法

セキュリティ的な堅牢さの面では (1) (2) (3) の順に強くなりますが、その分、運用上の制限や煩雑さが
増します。以下にそれぞれの特徴を紹介します。


(1) PTP/MTP による読み書きを制限する方法

接続したデバイスに対するフォルダ / ファイルの読み書きを制限するものです。この方法は、
ファイルの読み取りだけ、またはファイルの書き出しだけ、特定のユーザーだけなど、
柔軟な設定が可能で、最初に一度設定をすると運用後に設定を変える必要があまり無いため、
運用が容易です。
 
その反面、この設定をしていたとしても、PC にインストールされたスマート フォン専用の
アプリケーションによってデータの書き込みを行える場合があります。
これは独自方法 (PTP/MTP 以外) によってファイルの転送を実装しているためです。
これを回避するには、PC へのアプリケーションのインストールを制限するか、後述する
WPD デバイスのインストールそのものを制限する方法を実施する必要があります。



(2) WPD デバイスのインストールを制限する方法

デバイスを PC に接続した際の WPD デバイスのドライバーのインストールを制限するものです。
ドライバーのインストール自体が制限されているため、WPD デバイスは全く使用することが
できなくなります。なお、運用が煩雑になってしまいますが、特定メーカーの一部モデルのみ
インストールを禁止する設定も可能です。

その反面、スマート フォンの一部には、WPD デバイスとしてではなく、他のデバイスとして
認識されるものが存在し、WPD デバイスのインストール制限だけでは、デバイスが
使用できてしまう場合もあります。これを回避するには、後述するホワイト リストを使用して
制限する方法を実施する必要があります。



(3) ホワイト リストによるデバイスのインストールを制限する方法

PC への接続が許可されているデバイスのリストをあらかじめ登録し、それ以外の全てのデバイスの
インストールを禁止するというものです。許可されたデバイスのみインストールが行われるため、
WPD デバイスはもちろんのこと、未知のデバイスにも対応できます。ソフトウェア レベルで
最も堅牢な対策をしたい場合は、この方法が推奨されます。なお、許可リストには、特定の種類のデバイス、
または特定のモデルのデバイスといった単位で設定が可能です。

その反面、許可対象のデバイスが増えるにつれ定義内容も増え、運用が煩雑になることがあります。
また、デバイス検知時にインストールを制限するという性質上、既にインストール済みのデバイスに
ついては、制限を行うことができません。このため、対象の PC の不要なデバイスをあらかじめ
削除しておくなどの対処が必要です。


次の項では、それぞれのグループ ポリシーの実際の設定方法についてご紹介します。



===============
設定方法
===============
前項で述べた 3 種類の方法について、それぞれ手順を説明していきます。
 

(1) PTP/MTP による読み書きを制限する方法

以下のグループ ポリシーにより設定します。
 
- [コンピューターの構成]
 - [管理用テンプレート]
  - [システム]
   - [リムーバーブル記憶域へのアクセス]
    - [WPD デバイス: 読み取りアクセス権の拒否] および
    - [WPD デバイス: 書き込みアクセス権の拒否]
    設定値: 有効
 
 

 
 

補足情報
---------------
特定のユーザーだけ読み書きを制限したい場合は、以下のグループ ポリシーを代わりに使用します。

- [ユーザーの構成]
 - [管理用テンプレート]
  - [システム]
   - [リムーバーブル記憶域へのアクセス]
    - [WPD デバイス: 読み取りアクセス権の拒否] および
    - [WPD デバイス: 書き込みアクセス権の拒否]
    設定値: 有効



(2) WPD デバイスのインストールを制限する方法

以下のグループ ポリシーにより設定します。
 
- [コンピューターの構成]
 - [管理用テンプレート]
  - [システム]
   - [デバイスのインストール]
    - [デバイスのインストールの制限]
     - [これらのデバイス セットアップ クラスと一致するドライバーを
      使用したデバイスのインストールを禁止する]
     設定値: 有効
     デバイス セットアップ クラス: {eec5ad98-8080-425f-922a-dabf3de3f69a}
     既にインストール済みの一致するデバイスにも適用されます。: オン
 
 
 
設定したデバイス セットアップ クラス {eec5ad98-8080-425f-922a-dabf3de3f69a} は、
WPD デバイスを意味します。以下の文書にデバイス セットアップ クラスの一覧があります。
 
(参考情報) System-Defined Device Setup Classes Available to Vendors
http://msdn.microsoft.com/en-us/library/ff553426(VS.85).aspx
 
[既にインストール済みの一致するデバイスにも適用されます。] は Windows 7 以降の機能ですが、
これにチェックを入れると、ポリシー適用以前に接続したことのある WPD デバイスに対しても
制限をかけることができます。



補足情報
---------------
特定メーカーの一部モデルのみインストールを禁止したい場合は、以下のグループ ポリシーを代わりに
使用します。

- [コンピューターの構成]
 - [管理用テンプレート]
  - [システム]
   - [デバイスのインストール]
    - [デバイスのインストールの制限]
     - [これらのデバイス セットアップ クラスと一致するドライバーを
      使用したデバイスのインストールを禁止する]
     設定値: 有効
     デバイス セットアップ クラス: 禁止したいデバイス セットアップ クラスを列挙
     既にインストール済みの一致するデバイスにも適用されます。: オン

禁止リストに登録する値については、以下のブログ記事で述べられています。
 
グループ ポリシーを用いたデバイスのアクセス制御について
http://blogs.technet.com/b/askcorejp/archive/2014/04/28/3516088.aspx



(3) ホワイト リストによるデバイスのインストールを制限する方法

以下の 3 つのグループ ポリシーを併用することにより設定が可能です。
 
- [コンピューターの構成]
 - [管理用テンプレート]
  - [システム]
   - [デバイスのインストール]
    - [デバイスのインストールの制限]
     - [他のポリシー設定で記述されていないデバイスのインストールを禁止する]
     設定値: 有効
 
 
 
- [コンピューターの構成]
 - [管理用テンプレート]
  - [システム]
   - [デバイスのインストール]
    - [デバイスのインストールの制限]
     - [これらのデバイス セットアップ クラスと一致するドライバーを
      使用したデバイスのインストールを許可する]
     設定値: 有効
     デバイス セットアップ クラス: 許可したいデバイス セットアップ クラスを列挙

 

- [コンピューターの構成]
 - [管理用テンプレート]
  - [システム]
   - [デバイスのインストール]
    - [デバイスのインストールの制限]
     - [これらのデバイス ID と一致するデバイスのインストールを許可する]
     設定値: 有効
     デバイス ID: 許可したいデバイス ID を列挙

 
 
 なお、許可リストに登録する値については、以下のブログ記事で述べられています。
 
グループ ポリシーを用いたデバイスのアクセス制御について
http://blogs.technet.com/b/askcorejp/archive/2014/04/28/3516088.aspx
 

注意
---------------
ストレージ デバイスに限らず、すべてのデバイスが対象となります。このため、USB マウスや
キーボードを使用する場合は、許可リストにマウスやキーボードも含めておくことをお勧めします。
 


===============
終わりに
===============
以上の 3 つの選択肢から、システムのセキュリティ レベルや運用のルールにあったものを
ご検討いただけたら幸いです。

スマート フォンへの情報の書き出しを完全に防ぐためには、上記のソフトウェア側の対応だけではなく、
USB の接続口をふさいだり、サーバー室にスマート フォンを持ち込ませないなどの物理的な
セキュリティ対策もあわせて実施されることを強くお勧めします。
 
今後もデバイス制御に関して、随時ブログで情報をご提供してまいります。


2014 年 8 月 12 日に公開された Windows 7 Service Pack 1 (KB976932) について

$
0
0

こんにちは。Windows プラットフォーム サポートの北原です。

最近、Service Pack 1 が既に適用されているのにもかかわらず、Windows 7 の
Windows Update に Service Pack 1 が現れるというお問い合わせをいくつか
いただいております。

誠に恐縮ながら、現在のところ、この事象について述べられている情報が、以下の KB 内の
概要情報のみとなっておりますので、本記事にてこの更新プログラムの詳細についてご説明します。

Description of Software Update Services and Windows Server Update Services changes in content for 2014
http://support.microsoft.com/kb/894199/en-us


=============
概要
=============
この 2014 年 8 月 12 日に公開された Windows 7 Service Pack 1 (KB976932) は、
実際の Service Pack 1 のインストーラーと全くの同名ですが、中身は別物で、
10MB 以下の非常に小さなサイズとなっております。この中には、以下の 2 つの
更新プログラムが含まれております。

KB2534366
Windows 7 SP1 または Windows Server 2008 R2 SP1 をインストールするときに "0xC000009A" エラー メッセージが表示される
http://support.microsoft.com/kb/2534366/ja

KB2533552
Windows 7 SP1、Windows Server 2008 R2 SP1、または Windows Embedded Standard 7 SP1 をインストールしたときに "0xC0000034" エラー メッセージが表示されるのを防ぐ更新プログラムを利用できます
http://support.microsoft.com/kb/2533552/ja

この 2 つの更新プログラムは、Windows 7 に Service Pack 1 をインストールする際の
問題に対処することを主な目的として用意されたもので、これまでは通常どおり
Windows Update にて提供されてきました。

今回、この 2 つの更新プログラムが Windows 7 の Service Pack 1 に追加されることに
なったのですが、既存のバイナリには一切変更をせずに、別途、違うパッケージとして、
提供する方法がとられました。以下は、そのイメージを表した図になります。

結局のところ、この「追加分の Windows 7 Service Pack 1 (KB976932)」の実体は、
重要な更新プログラムの集まりとなりますので、Windows Update に現れましたら、
他の重要な更新プログラムと同様に適用いただくことを強く推奨しております。


=============
事象が起こる環境
=============
2014 年 8 月 22 日現在、この「追加分の Windows 7 Service Pack 1 (KB976932)」が Windows Update に
現れる環境は以下の通りです。

対象: Windows 7 x86 (Service Pack の有無は問わない) 上の Windows Update
   WSUS は現在のところ対象外です

条件: 上記の 2 つの更新プログラムのどちらか、または両方がインストールされていないこと

※ 今後、このルールは変更になる可能性があります


=============
事象のパターン
=============
現在、以下に示す 2 つのパターンで、「追加分の Windows 7 Service Pack 1 (KB976932)」が
Windows Update に現れます。


(1) Service Pack 1 が適用されていない場合

Service Pack 1 が適用されておらず、上記の 2 つ更新プログラムも適用されていない場合、
以下のスクリーンショットのように、「追加分の Windows 7 Service Pack 1 (KB976932)」が現れます。

※ 公開日が 8 月 14 日となっているのは、8 月 14 日に内部のメタ データに変更があったためです

 

「追加分の Windows 7 Service Pack 1 (KB976932)」を適用後、OS を再起動すると、
[インストールされた更新プログラム] に上記の 2 つ更新プログラムが現れます。

 

ここでようやく Service Pack 1 のインストーラーの本体が Windows Update に現れますので、
これをインストールすることで Service Pack 1 のインストールが完了します。

 

その後、Windows 7 Service Pack 1 (KB976932) という名前をしたパッケージが表示されることはありません。


(2) 既に Service Pack 1 が適用されている場合

Service Pack 1 が既に適用されてしまっている環境でも KB2533552 が適用されていない場合のみ、
以下のスクリーンショットのように、「追加分の Windows 7 Service Pack 1 (KB976932)」が
現れます。この中には、KB2533552 のみが含まれております。

※ Service Pack 1 適用後においては、KB2534366 が不要であるため、このような動きになっています

 

「追加分の Windows 7 Service Pack 1 (KB976932)」を適用後、OS を再起動すると、
[インストールされた更新プログラム] に KB2533552 が現れます。

 

その後、Windows 7 Service Pack 1 (KB976932) という名前をしたパッケージが配信されることはありません。


=============
まとめ
=============
2014 年 8 月 12 日に公開された「追加分の Windows 7 Service Pack 1 (KB976932)」の実体は、
KB2534366 と KB2533552 になります。

繰り返しとなりますが、既に Service Pack 1 をご適用いただいている環境におきましても、
この「追加分の Windows 7 Service Pack 1 (KB976932)」が Windows Update に現れましたら、
他の重要な更新プログラムと同様にご適用いただくことを強く推奨しております。

ソース : NTFS、ID: 55 のイベント

$
0
0

こんにちは。日本マイクロソフトの松岡です。
今回は、比較的よくお問い合わせをいただく NTFS 55 についてご紹介します。

-------------------
イベントの種類: エラー
イベント ソース: NTFS
イベント ID: 55
説明:
ディスク上のファイル システム構造が壊れていて使えません。chkdsk ユーティリティをボリューム "Drive_letter" で実行してください
-------------------

ソース : NTFS、ID: 55 のイベントについて

ソース : NTFS、ID: 55 のイベントは、ファイルシステム データ構造に不整合を発見した場合に記録されるイベントです。このイベントが記録されるタイミングとしては、ファイル システム構造が破損した状態で、その破損個所にアクセスした際に記録されます。また、破損時点と 本イベントが記録された時点には差異があり、この情報からその前に何が発生したのか原因追求を行うことは困難です。したがって、オペレーションの観点から特に問題がない場合、関連するデバイス ドライバーや、ファームウェアのアップデートを行うことが一般的な対策です。

一般的な本イベントの要因について

一般的にこの破損が発生する原因としては、以下の状況が考えられます。

1. 不正なシャットダウンが発生した場合


不正なシャットダウンが発生すると、ディスク上の情報を正しく保存せずにシステムが終了するため、ファイル システムに不整合が発生する可能性があります。 

2. ハードウェアの破損による場合

  
ハードウェアの破損、故障により、ディスク上のデータが破損して不整合が発生する可能性があります。

3. ディスクが突然取り外れた、あるいは、アクセスできなかった場合

ディスクが突然取り外れた、あるいは、アクセスできなくなったような場合には、1 同様、ディスク上の情報が正しく保存されず、ファイルシステムに不整合が発生する可能性があります。

4. ドライバやアプリケーションによる不正なアクセスがあった場合

ファイル システム ドライバーや、その他カーネル モードのコンポーネントの不具合により発生する可能性があります。ドライバーやアプリケーションによっては、NTFS ファイル システムを経由せずに、ディスクへ直接アクセス、書き込みを行うものがあります。これらの作用により、 NTFS の意図しない変更がディスク上のデータに加えられ、破損が発生する場合があります。または、ドライバーやアプリケーションによりディスクへのアクセスが突然遮断され、3 のような状況となり、現象が発生する可能性も考えられます。

本イベントへの対応について

本イベントへの対応としては、フォーマット後にバックアップからデータを復元するか、修復モードでの chkdsk コマンドを実施します。なお、大容量のボリューム で chkdsk を実行する場合、ボリュームのサイズやマシンのスペック等により、所要時間が非常に長くなることがあります。システムのダウンタイムを考慮した場合、修復モードでの chkdsk の実行よりフォーマットによる対応方法の方が、より少ないダウンタイムで対応が完了する状況も考えられます。事象が発生した環境により、フォーマット後にバックアップ データを復元、または修復モードでの chkdsk の実行を検討してください。

1. Chkntfs コマンドによる破損が発生しているボリュームの確認

2. フォーマットによる対応

3. 修復モードでの chkdsk コマンドによる対応 

※ 対応は 2、3 のいずれかの対応で問題ありません。(両方実施する必要はありません。)

1. Chkntfs コマンドによる破損が発生しているボリュームの確認について

ファイル システムの破損が発生しているボリュームを特定するには、chkntfs コマンドが使用できます。

※ Chkntfs コマンドは、ファイル システムの状態を参照するコマンドのため、サーバーへの大きな負荷はかかりません。

実行例) 

> Chkntfs C:

ファイル システムの破損が発生していない場合の実行結果

########################################
ファイル システムの種類は NTFS です。
C: は正常です。
########################################

ファイル システムの破損が発生している場合の実行結果

########################################
ファイル システムの種類は NTFS です。
C: が正しくありません。
########################################

- 参考情報

Chkntfs

http://technet.microsoft.com/ja-jp/library/cc731298(v=ws.10).aspx

2. フォーマットによる対応について

フォーマットによる対応をされる場合には、必要に応じて該当ボリュームにあるデータを別の領域に退避し、ボリュームを再フォーマットします。フォーマットの完了後、必要に応じて、退避したデータをリストアします。

3. 修復モードでの chkdsk コマンドによる対応ついて

chkdsk コマンドはオプションが指定されていない場合、読み取り専用モードで実行されます。chkdsk を /R または /F オプションを指定することにより、ファイルシステムの不整合を修復することができます。なお、修復モードでの chkdsk コマンドを実行した場合でも、実際に破損しているデータについては、修復することはできませんが状態が悪化することはありません。修復モードの chkdsk の実行によりファイル システムの不整合が修復されます。

実行例)

> chkdsk c: /R

なお、chkdsk d: /R の実行時に、何らのプロセスが実行対象のボリュームを利用している場合には、以下のメッセージが表示されます。

コマンドの実行結果

########################################
ボリュームが別のプロセスによって使用されているため、Chkdsk を実行できません。
Chkdsk を実行するにはこのボリュームのマウントを解除する必要があります。
########################################

メッセージ1

########################################
このボリュームを強制的にマウントを解除しますか? (Y/N)
########################################

メッセージ2

########################################
ボリュームが別のプロセスで使用されているため、CHKDSK を実行できません。次回のシステム再起動時に、このボリュームのチェックをスケジュールしますか (Y/N)?
########################################

いますぐ chkdsk /R を実行する場合には、メッセージ1 にて Y を、再起動時に chkdsk /R を実行する場合には、メッセージ2 にて Y を選択し実行します。

- 補足

オプション /R を指定した場合は、/F も暗黙的に指定されます。対象のボリュームに対して chkdsk /R または /F コマンドの実行によりセクタの修復を試みます。/R は /F に加えて物理的な不良セクタのチェックを行います。

- 参考情報

Chkdsk.exe で使用可能な新しいスイッチ /C および /I について

http://support.microsoft.com/kb/314835/ja

Chkdsk

http://technet.microsoft.com/ja-jp/library/cc730714(WS.10).aspx

再発防止策について

ハードウェアの破損以外の原因で 本イベントが発生した可能性が考えられる場合には、関連するデバイス ドライバーやファームウェアの最新バージョンを確認し、アップデートを行います。 OS 観点では、ファイルシステム ドライバーの既知の不具合により発生している可能性がありますので、最新の修正プログラム (NTFS.sys) を適用します。また Windows 7、Windows Server 2008 R2 RTM では、NTFS 55 が誤検知されるという、Ntoskrnl.exe の不具合がありますので、こちらも最新の修正プログラムを適用します。

2014 年 9 月 9 日時点の各 OS に対する最新の修正プログラムは以下のとおりです。

- Windows Server 2003

文書番号: 973870

Windows Server 2003 をランダムに実行しているコンピューターは、データをバックアップするときを応答を停止します。

http://support.microsoft.com/kb/973870


- Windows Vista、Windows Server 2008

文書番号: 2951098

Event ID 137 is logged when you back up the system state in a 32-bit version of Windows Server 2008

http://support.microsoft.com/kb/2951098


- Windows 7、Windows Server 2008 R2

文書番号 : 2885209

イベント ID 55 が Windows 7 SP1 または Windows Server 2008 R2 SP1 ベースのファイル サーバーで記録され、Windows がクラッシュすることがある (2014 年 2 月 14 日)

http://support.microsoft.com/kb/2885209


文書番号: 2981965 (Ntoskrnl.exe)

更新管理に Windows のファイル システム ドライバーがすべてのシリアル化のフラッシュ メモリを削除するには

http://support.microsoft.com/kb/2981965


-Windows Server 2012

文書番号: 2973052

Windows Server 2012 R2 または Windows Server 2012 でボリュームがマウントされているときに"0x00000018"の停止エラー

http://support.microsoft.com/kb/2973052


-Windows Server 2012 R2

文書番号: 2975719

Windows RT 8.1、8.1 の Windows、および Windows Server 2012 の R2 用の更新プログラムのロールアップ 2014年 8 月

http://support.microsoft.com/kb/2975719 

※ 2014 年 4月以降にリリースされる全ての Windows Server 2012 R2 および Windows RT 8.1、Windows 8.1 におけるアップデートやセキュリティ更新プログラム/修正プログラムは KB 2919355 の適用が前提条件として必要となります。
そのため、KB 2975719 を適用する前に、KB 2919355 を適用してください。


-文書番号: 2919355
Windows RT 8.1、8.1 の Windows および Windows Server 2012 の R2 の更新プログラム: 2014 年 4 月
http://support.microsoft.com/kb/2919355

KB 2919355 につきましては、以下のブログも併せてご確認ください。

Windows 8.1 Update が公開されました。
http://blogs.technet.com/b/askcorejp/archive/2014/04/09/windows-8-1-update.aspx


- 参考情報

EVENT ID 55: When Good Bits Go Bad

http://blogs.technet.com/b/askcore/archive/2012/05/09/event-id-55-when-good-bits-go-bad.aspx

ノード再起動後に、クラスター サービスが、エラー 6609 [無効なログ ブロックが見つかりました。] で起動しない

$
0
0

こんにちは。Windows プラットフォーム サポートの加藤です。
本日は、ノード再起動後にクラスター サービスが起動できなくなる障害事例についてご紹介します。

今回ご紹介させていただく内容としましては以下の3 点です。

<障害内容>
<回避策>
<原因特定の調査について>


<障害内容>
ノードを再起動させた際に、イベント ログに以下のエラーが記録され、クラスター サービスの起動に失敗する。

-------------------------------
ログの名前:         System
ソース:           Service Control Manager
イベント ID:       7024
レベル:           エラー
説明:
Cluster Service サービスは、サービス固有エラー ログ サービスで、無効なログ ブロックが見つかりました。 で終了しました。
-------------------------------

また、クラスター ログには以下のエラー ログが記録されます。

---------------
ERR   [CS] Service CreateNodeThread Failed, ERROR_LOG_BLOCK_INVALID(6609)' because of '::CreateLogFile( fileName.c_str(), GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, sa, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL )'
---------------

上記ログに記録された [無効なログ ブロックが見つかりました。] と [ERROR_LOG_BLOCK_INVALID(6609)'] は、クラスター サービスが使用するファイルの一部である clusdb.blf というファイルが破損している場合に発生することが確認されています。
クラスターは起動時にこのファイルを読み込みますが、ファイルが破損していると正しく内容を読み込めず、サービスの起動に失敗します。

- クラスタ ログはどこ?
http://blogs.technet.com/b/askcorejp/archive/2009/04/21/windows-server-2008-failover-clustering.aspx

<回避策>
本ファイルは、削除またはリネームすることで Cluster Service 起動時に自動的に再作成されます。
万が一上記の問題が発生した場合には、以下の手順にて clusdb.blf ファイルを再作成し、Cluster Service が正常に起動するかどうかご確認ください。

1. c:\windows\cluster\clusdb.blf を clusdb.old などの名前にリネームします。
2. [サービス] 管理コンソールや net start clussvc コマンドを利用して、Cluster Service を起動します。

上記ファイルを再作成する事でのシステム影響はございません。

<原因特定の調査について>
ファイル破損の原因は、その破損の瞬間を捉えた詳細調査が必要となり、
明確な判断は往々にして困難です。しかし、論理的には以下の要因が挙げられます。

A. ディスク関連の障害
B. ウイルス対策ソフトウェアがファイルへアクセスした場合

それぞれの詳細は以下の通りです。

-----------
A. ディスク関連の障害
-----------
イベント ログに NTFS 関連のエラーやディスク関連のエラーが記録されている場合には、ディスク関連の障害でファイルが破損した可能性もございます。
なお、NTFS のエラーは、通常 ID:55 などが記録されます。
これらエラーが記録されていた場合には、ハードウェアベンダー様へハードウェアのチェックの依頼をお願いします。

-ソース : NTFS、ID: 55 のイベント
http://blogs.technet.com/b/askcorejp/archive/2013/03/11/ntfs-id-55.aspx

------------------
B. ウイルス対策ソフトウェアがファイルへアクセスした場合
----------
ウイルス対策ソフトウェアがファイルへアクセスした際に、クラスターサービスによる同ファイルへの適切なアクセスが妨害され、これにより、ファイルのデータが不正な状態に陥った可能性も考えられます。
弊社では Windows Server 2008 のフェールオーバー クラスタ (WSFC) 環境において、ウイルス対策ソフトウェアのスキャンの対象から除外すべきフォルダーを以下の Blog で公開しております。
この除外対象のフォルダには、今回問題の発生したファイル clusdb.blf の配置されている %systemroot%\Cluster も含まれております。
そのため、もし除外対象になっていない場合には、切り分けと安定運用のために、除外の設定をお願いいたします。

クラスタ環境でのウィルス スキャンの除外設定について
http://blogs.technet.com/b/askcorejp/archive/2010/06/10/wsfc.aspx

アンチウイルス スキャン対象から除外したいファイルやフォルダ
http://blogs.technet.com/b/jpepscrt/archive/2010/04/28/3328757.aspx

本 Blog が少しでも皆様のお役に立てれば幸いです。

エクスプローラーで全ファイルを選択したときのファイル合計サイズとディスクのプロパティの使用領域との差異は何故おきるのか?

$
0
0

こんにちは。Windows プラットフォーム サポートの加藤です。
本日はよくお問い合わせをいただく、エクスプローラーで確認した時のファイルサイズの合計とディスクのプロパティの使用領域に差異が発生する現象についてご紹介します。

<差異が発生する主な原因について>
差異が発生する原因は様々ですが、ファイル システムが正常である場合、常に正しいサイズを表示しているのはディスクのプロパティの使用領域です。
一般的にエクスプローラーで全ファイルを選択した場合のサイズは、ディスクのプロパティの使用領域よりも少なくなります。
これは、エクスプローラーの既定では隠し属性やシステム属性のフォルダ、ファイルは表示されないため、全選択を実施しても実際には選択されないために差異が発生します。
この問題はエクスプローラーの表示オプションを変更することで回避可能です。

また、サイズを確認したユーザーのアクセス許可がないフォルダ、ファイルが存在していると、これらフォルダ、ファイルはエクスプローラーからサイズが取得できないため、この場合にも差異が発生します。
一般的に多く報告されているのは、以下の 3 つのフォルダです。

1. ごみ箱
2. WER (Windows Error Reporting) の保存先フォルダ
3. System Volume Information フォルダ (Volume ShadowCopy Service で作成されるシャドウ コピーが保存されます。)

他のユーザーのごみ箱には、アクセス許可がないため、サイズを取得することができません。
WER の保存先フォルダは、設定によって変更可能ですが、保存先のフォルダにアクセス許可がない場合には、サイズを取得することができません。
System Volume Information フォルダは、一般ユーザーにはアクセス許可がないため、サイズを取得することができません。

<対処策について>
隠し属性やシステム属性のフォルダ、ファイルの対処方法は、エクスプローラーの以下の表示オプションを変更することで回避可能です。

--------------
[ファイルとフォルダーの表示] -  [隠しファイル、隠しフォルダ―、および隠しドライブを表示する] or [すべてのファイルとフォルダを表示する] を選択。
[保護されたオペレーティング システム ファイルを表示しない] のチェックを外す。
--------------

アクセス許可がないフォルダのうちごみ箱と WER 関しては、[ディスクのクリーンアップ] 機能でサイズの確認と削除が可能です。
なお、[ディスクのクリーンアップ] 機能はクライアントには標準でインストールされていますが、サーバー OS の場合は、Windows Server 2008 以降は [デスクトップ エクスペリエンス] の機能を追加する必要があります。

System Volume Information フォルダのシャドウ コピーのサイズを確認するためにはコマンド プロンプトで以下の vssadmin コマンドを実行します。

vssadmin List ShadowStorage

実行結果の [シャドウ コピーの記憶域の使用領域] が現在のシャドウ コピーのサイズです

実行例
C:\WINDOWS\system32>vssadmin List ShadowStorage vssadmin 1.1 - ボリューム シャドウ コピー サービス管理コマンド ライン ツール
(C) Copyright 2001-2013 Microsoft Corp.

シャドウ コピーの記憶域関連付け
   ボリューム: (C:)\\?\Volume{f16b0aa0-f241-11e1-b33e-ac162d026d14}\
   シャドウ コピーの記憶域ボリューム: (C:)\\?\Volume{f16b0aa0-f241-11e1-b33e-ac162d026d14}\
   シャドウ コピーの記憶域の使用領域: 9.71 GB (1%)
   シャドウ コピーの記憶域の割り当て領域: 10.8 GB (2%)
   シャドウ コピーの記憶域の最大領域: 45.0 GB (9%)

シャドウ コピーは vssadmin コマンドの Delete Shadows オプションで過去のバージョンを削除することが可能です。
なお、シャドウ コピーは [共有フォルダのシャドウコピー] 機能以外でもバックアップソフトなどによって使用される場合もあるため、[共有フォルダのシャドウコピー] を使用していない環境でシャドウ コピーが作成されている場合には、そのシャドウ コピーの削除可否と削除方法についてバックアップソフトベンダー様に確認します。

vssadmin コマンドから確認できる使用領域のサイズはシャドウ コピー機能で使用されているサイズです。例えば、ウィルス対策ソフト等などで System Volume Information フォルダに書き込みが行われている場合には正確なサイズを確認することができません。そのため一時的に System Volume Information のプロパティからアクセス許可を変更して確認することも検討します。

- 参照資料
System Volume Information フォルダへアクセスする方法
http://support.microsoft.com/kb/309531/ja

vssadmin コマンドでシャドウ コピーが削除できない場合の対処方法について
http://blogs.technet.com/b/askcorejp/archive/2013/11/29/vssadmin.aspx


-------------------------------------------------
機能 [デスクトップ エクスペリエンス] の追加手順
-------------------------------------------------
[スタート] - [管理ツール] - [サーバー マネージャ] をクリックして
サーバー マネージャーを起動します。左ペンインより [機能] をクリックして
[機能の追加] のリンクより、機能の追加ウィザードを起動します。

機能 [デスクトップ エクスペリエンス] 横のチェックボックスを選択し、
[インストール] をクリックします。

  * 機能の追加後、再起動が必要です。

本 Blog が少しでも皆様のお役に立てれば幸いです。

アプリケーション/プロセスは、既にアンロードされた ws2_32.dll を参照し、異常終了する場合があります。

$
0
0

<Enlish follows Japanese>

 

こんにちは。日本マイクロソフトの徐です。

 

今回は、Windows 7  環境で動作するアプリケーション/プロセスが、既にアンロードされた ws2_32.dll を参照し、異常終了する場合がある問題についてご紹介します。

 

現象について

+++++++++++

Windows 7  環境で動作するアプリケーション/プロセスが、既にアンロードされた ws2_32.dll を参照し、異常終了する場合があります。

 

発生原因について

+++++++++++++

アプリケーション/プロセスにおいて、ロードする DLL モジュールの初期化処理 (DllMain 関数) の延長上で、API WSAStartup を呼び出す実装が含まれる場合、本現象が発生する可能性があります。
DllMain 関数からAPI WSAStartup を呼び出す制限事項の詳細につきましては、以下技術情報をご参照ください。

WSAStartup function
http://msdn.microsoft.com/en-us/library/windows/desktop/ms742213(v=vs.85).aspx


The WSAStartup function typically leads to protocol-specific helper DLLs being loaded. As a result, the WSAStartup function should not be called from the DllMain function in a application DLL. This can potentially cause deadlocks. For more information, please see the DLL Main Function

http://go.microsoft.com/fwlink/p/?linkid=109533

 

本事象は、DLLモジュールのDllMain 関数の実装による問題ですが、CEIP機能が動作することにより問題が顕在化します。

 

 

解決方法について

++++++++++++++++

恒久的な解決策としては、DllMain 関数の処理中にAPI WSAStartup を呼び出す DLL モジュールの製造元にお問い合わせください。

 

DLL モジュールの製造元から恒久的な解決策を入手するまで、一時的な回避方法としては、カスタマー エクスペリエンス向上プログラム (Customer Experience Improvement Program, 以降 “CEIP” と表記) の無効化を行うことで、本現象を回避できる可能性があります。

 

CEIP を無効化するには、以下のレジストリ値を設定します。

レジストリキー:HKLM\Software\Microsoft\SQMClient\Windows\CEIPEnable
値:0(無効)
http://msdn.microsoft.com/en-us/library/dd405474(VS.85).aspx

 

 

補足情報について

++++++++++++++++

補足情報1:本現象が発生する条件(DllMain の実装問題が顕在化する条件) について

本現象が発生する条件は、以下 2 つの CEIP に関わるレジストリキーの値が共に 1 に設定される場合です。

HKLM\Software\Microsoft\SQMClient\Windows\CEIPEnable
HKLM\SOFTWARE\Microsoft\SQMClient\Windows\CEIPSampledIn

レジストリキー CEIPEnable は、CEIP 機能が有効するかどうかを制御するためのレジストリキーです。
CEIPEnable の値が 1 に設定された場合、CEIP 機能は有効となります。
EIPEnable の値が 0 に設定された場合、CEIP 機能は無効となります。

レジストリキー CEIPSampledIn は、CEIP 機能を有効に設定した場合に、対象マシンから収集されたCEIP 情報をマイクロソフトへ送付するかどうかを制御するためのレジストリキーです。
CEIPSampledIn の値が 1 に設定された場合、収集されたCEIP に関わる情報をマイクロソフトへ送付します。
CEIPSampledIn の値が 0 に設定された場合、CEIP に関わる情報をマイクロソフトへ送付しません。


補足資料2:レジストリキー CEIPSampledIn の設定、及びその必要性について

wsqmcons.exe と呼ばれるアプリケーションは、Windows 7  インストール時にタスク スケジューラに登録され、19  時間間隔で実行されます。
本アプリケーションの実行時に、レジストリキー CEIPSampledIn が追加/変更される可能性があります。

       タスク スケジューラ ライブラリ -> Microsoft -> Windows -> Customer Experience Improvement Program -> Consolidator

レジストリキー CEIPSampledIn の値は、基本的に以下の三つのレジストリキーにより決まります。
そのうち、レジストリキー RacSampleNumber は、8  バイトの乱数を基に作成されます。

HKLM\Software\Microsoft\SQMClient\Windows\CEIPSamplingRangeLow (既定値は 1)


HKLM\Software\Microsoft\SQMClient\Windows\CEIPSamplingRangeHigh (既定値は 10,000,000)


HKLM\Software\Microsoft\Reliability Analysis\RAC\RacSampleNumber (最大値は 0xFFFFFFFF = 4,294,967,295 までの乱数)

上記 3 つのレジストリキーに対して、以下の条件を満たす場合には、CEIPSampledIn の値が 1 に設定されます。
条件を満たさない場合には、CEIPSampledIn の値が 0 に設定されます。

       CEIPSamplingRangeLow の値<= RacSampleNumber の値<= CEIPSamplingRangeHigh の値

上記のような実装を行う理由としては、CEIP 機能を有効に設定するマシンが膨大な数になる可能性があるためです。
そのため、CEIP 情報のマイクロソフトへの送付を、サンプリングするように実装されます。

すなわち、上記の条件を満たした場合(RacSampleNumber の値は 1 10,000,000 の範囲内である場合)のみ、該当マシンは CEIP のサンプリングの対象となり、CEIPSampledIn 1 に設定され、CEIP 情報をマイクロソフトへ送付します。

RacSampleNumber の値が 1 10,000,000 の範囲外の場合には、該当マシンは CEIP のサンプリングの対象外となり、CEIPSampledIn 0 に設定され、CEIP 情報をマイクロソフトへ送付しません。

 

 

本現象に関する日本語技術情報は、以下KB2979267をご参照ください。

 

アプリケーション/プロセスは、既にアンロードされた ws2_32.dll を参照し、異常終了する場合があります。

http://support2.microsoft.com/kb/2979267/ja

 

カスタマ エクスペリエンス向上プログラム(CEIP)の詳細及びマイクロソフトへ送付されるCEIPレポートに含まれる情報の詳細につきましては、以下技術情報をご参照ください。

Microsoft カスタマ エクスペリエンス向上プログラム
http://www.microsoft.com/products/ceip/JA-JP/default.mspx


Microsoft® カスタマ エクスペリエンス向上プログラムのプライバシーに関する声明
http://www.microsoft.com/products/ceip/JA-JP/privacypolicy.mspx

 


 

 

SYMPTOMS

--------------------

Application/Process crashes when referencing unloaded ws2_32.dll in Windows 7.

 

CAUSE

--------------------

Application/Process crashes when API WSAStartup is called from initializing process (DllMain function) in an application DLL.

For the limitations of calling API WSAStartup by DllMain function, visit the following Microsoft website:

 

WSAStartup function

http://msdn.microsoft.com/en-us/library/windows/desktop/ms742213(v=vs.85).aspx

 

The WSAStartup function typically leads to protocol-specific helper DLLs being loaded. As a result, the WSAStartup function should not be called from the DllMain function in a application DLL. This can potentially cause deadlocks. For more information, please see the DLL Main Function(http://go.microsoft.com/fwlink/p/?linkid=109533).

 

The root cause is the way of an implementation of DllMain function in an application DLL. However, this issue only occurs when CEIP is enabled.

 

RESOLUTION

--------------------

To resolve this issue permanently, please contact the application vendor of an application DLL calling the DllMain function.

However, you may disable Customer Experience Improvement Program (CEIP) by setting the following registry key as a temporary workaround before you get the permanent solution from application vender.

 

KEYHKLM\Software\Microsoft\SQMClient\Windows\CEIPEnable

VALUE0Disabled

http://msdn.microsoft.com/en-us/library/dd405474(VS.85).aspx

 

 

ADDIONAL INFORMATION

--------------------------------

Additional Information 1: The conditions of the issue occurs.

 

This issue occurs when both of the following registry keys related to CEIP are set to 1.

 

HKLM\Software\Microsoft\SQMClient\Windows\CEIPEnable

HKLM\SOFTWARE\Microsoft\SQMClient\Windows\CEIPSampledIn

 

CEIPEnable key is to enable or disable CEIP.

CEIP is enabled when CEIPEnable key is set to 1.

CEIP is disabled when CEIPEnable key is set to 0.

 

CEIPSampledIn key is to decide to send CEIP information to Microsoft.

CEIP information is sent when CEIPSampledIn is set to 1.

CEIP information is not sent when CEIPSampledIn is set to 1.

 

 

Additional Information 2: CEIPSampledIn key setting and the needs.

 

wsqmcons.exe is run every 19 hours by task scheduler in Windows 7 by default.

When wsqmcons.exe is run, CEIPSampledIn is possibly changed or added.

 

       Task Scheduler Library -> Microsoft -> Windows -> Customer Experience Improvement Program -> Consolidator

 

The value of CEIPSampledIn is basically decided by the following three registry keys.

RacSampleNumber key is created based on a 8 bytes random number.

 

HKLM\Software\Microsoft\SQMClient\Windows\CEIPSamplingRangeLow (Default value is 1)

HKLM\Software\Microsoft\SQMClient\Windows\CEIPSamplingRangeHigh (Default value is 10,000,000)

HKLM\Software\Microsoft\Reliability Analysis\RAC\RacSampleNumber (Max value is a random number up to 0xFFFFFFFF = 4,294,967,295)

 

CEIPSampledIn is set to 1 when the following condition is met or else CEIPSampledIn is set to 0.

       The value of CEIPSamplingRangeLow <= The value of RacSampleNumber <= The value of CEIPSamplingRangeHigh

 

The systems enabled CEIP may become huge amount. Therefore, CEIP infomation is sampled by the above implementation. More specifically, only when the above condition is met (RacSampleNumber is between 1 and 10,000,000), the system's CEIP becomes a sampling target.

Therefore CEIPSampledIn is set to 1 and CEIP infomation is sent to Microsoft. When RacSampleNumber is not between 1 and 10,000,000 the system's CEIP does not become a sampling target and CEIP information is not sent to Microsoft.

 

 

For the information of Customer Experience Improvement Program (CEIP), visit the following Microsoft website:

 

Microsoft Customer Experience Improvement Program http://www.microsoft.com/products/ceip/en-us/default.mspx

 

Privacy Statement for the Microsoft® Customer Experience Improvement Program http://www.microsoft.com/products/ceip/en-us/privacypolicy.mspx

Viewing all 590 articles
Browse latest View live




Latest Images