Translate

2013年2月25日月曜日

Adobe Readerをグループポリシーを使ってクライアントに一斉配布する方法

 社内のシステム管理をしているとクライアントのアプリケーションの更新に頭を悩ませることが多くなります。特にPCの台数が10台未満であればそれほど問題にならないのですが、ある程度まとまった台数になってくると特に更新頻度の高いソフトウェアでは非常に多くの時間が浪費されてしまいます。

 そこでWindows Serverを利用しているとグループポリシーを使って、インストーラ(MSIファイル)を自動的にすべてのクライアントに割り当てる方法について説明します。
 また、Adobe Readerの更新のようにmspファイルで配布される場合、グループポリシーのソフトウェア インストールでは更新できません。そこでスタートアップスクリプトを使用して更新する方法についても説明します。

■手順

  1. 再配布可能なAdobe Readerのインストーラを入手する
  2. インストーラからMSIファイルを抽出する
  3. グループポリシー「ソフトウェア インストール」に登録する
  4. グループポリシー「シャットダウン スクリプト」に登録する
  5. Windows XPの対策

■説明

設定手順は次の通りです。

1. 再配布可能なAdobe Readerのインストーラを入手する

 Adobe Readerを一斉配布するには、次のサイトから申し込みをして再配布可能なAdobe Readerを取得手に入れる必要があります。

2. インストーラからMSIファイルを抽出する

 AdobeのサイトからダウンロードしたインストーラファイルはEXE形式のため、そのままではグループポリシーで利用することができません。
 Adobe ReaderのインストーラからMSIファイルを取り出す必要があります。
  • インストーラファイルに”-nos_ne”のオプションをつけて実行する
  • 実行後、WindowsVista/7の場合「%ProgramData%\Adobe\Setup」に、WindowsXPの場合「%ALLUSERSPROFILE%\Application Data\Adobe\Setup」に保存されている、「AcroRead.msi」ファイルと「Data1.cab」ファイルを取り出す。
詳しい説明は次のサイトを確認してください。
Adobe Reader のMSI インストーラーを企業内配布用に抽出する

3. グループポリシー「ソフトウェア インストール」に登録する

 ドメインに参加しているクライアントのシステムがアクセスできる共有フォルダ(たとえば「\\ドメイン名\SYSVOL\...」など)に抽出したファイルを保存する。
 ドメインポリシーの「コンピュータの構成 → ポリシー → ソフトウェアの設定 → ソフトウェア インストール」を開き、メニューの「操作 → 新規作成 → パッケージ」から登録を行います。

4. グループポリシー「シャットダウン スクリプト」に登録する

 mspファイルに関してはソフトウェア インストール ポリシーが利用できないため、グループポリシーのスクリプトを利用します。
 また、スタートアップ スクリプトを使用しても同じことが実現できますが、PCが使用できるまでに時間がかかるため、ここではシャットダウン スクリプトを利用した例を説明します。
 ドメインポリシーの「コンピュータの構成 → ポリシー → Windowsの設定 → スクリプト → シャットダウン」を開きスクリプトを追加する。
 実行するファイルは「msiexec.exe」でパラメータには「/p "ファイル名.msp" /qn」という形で入力します。
 今回の例では次のようになります。
スクリプト名: msiexec.exe
パラメータ: /p "\\domain\SYSVOL\domain\scripts\Acrobat\AdbeRdrUpd11001.msp" /qn
スクリプト名: msiexec.exe
パラメータ: /p "\\domain\SYSVOL\domain\scripts\Acrobat\AdbeRdrSecUpd11002.msp" /qn

 5. Windows XPの対策

 これらのポリシーをWindows XPに適用しようとすると、インストールが実行されないことがあります。この場合Windows XPにパッチを適用する必要があります。
WindowsXPにWindowsServer2008のグループポリシーを適用する

2013/5/28 次の内容を修正しました

  • スクリプトを「スタートアップ」から「シャットダウン」に変更し、合わせて挿絵を変更しました。
  • 手順4のスクリプトのパラメータから「reinstall=all reinstallmode=vomus」を削除しました。

Windows XPにWindows Server 2008のグループポリシーを適用する

 Windows Server 2008以降のドメイン環境でWindows XPクライアントを使用していると、一部のグループポリシーが適用されないことがあります。
 適用されないポリシーの中には次のようなものがあり、ほかにもいろいろとあるとは思いますが利用するとかなり便利なものも含まれています。

適用されないものの例

  • ネットワークドライブの割り当て
  • ソフトウェア インストールの割り当て
  • など

■説明

  これらのグループポリシーはWindows Server 2008になってから追加されたもので、Windows XP発売時点では含まれていなかったポリシーです。これらのポリシーをWindows XP上ででも正しく機能させるためのパッチがMicrosoftから提供されています。
 このパッチをWindows XPに適用することでWindows Vista以降と同じようにポリシーを適用することができます。

 WindowsXPのサポート終了が1年ちょっとという時期になって今更ではありますが・・・

2012年12月7日金曜日

64bit版WindowsとODBC

 64bit版Windowsで32bitのアプリケーションを動作させようと思うと、WOW64と云う機能が用意されているため思いのほかすんなりと動作してくれます。 ただし、ODBCやActiveXなどを利用しているとやや問題が出てくるようです。
 ここではODBCを使っている場合に生じる問題に関する解決方法について説明します。

症状

 ODBCを利用しているアプリケーションで、DSNの設定を正しく行っているにもかかわらず「データ ソース名および指定された既定のドライバーが見つかりません」といったエラーメッセージが表示される。

原因

 64bit版Windows上ではODBCのドライバにも、64bitと32bitの両方が用意されているために起こります。

説明

 64bit版Windowsで32bitアプリケーションを動作させると、WOW64が自動的にアプリケーションを64bitにエミュレートして、アプリケーション側には意識させること無く動作させることができます。ただし、このときODBCやActiveXなどの外部モジュールに関しては32bit版が利用されます。
 コントロールパネルのODBCアドミニストレータでDSNを設定した場合、通常64bit版のODBCの設定が開かれます。このため、ODBCアドミニストレータでDSNを設定していても、いざアプリケーションを起動すると「データ ソース名および指定された既定のドライバーが見つかりません」といったエラーメッセージが表示されます。

対処方法

 次のファイルから32bit版のODBCアドミニストレータを起動して、DSNの設定を行います。
%windir%\syswow64\odbcad32.exe

参考資料

Microsoft - KB942976

2012年11月30日金曜日

wake on lan が機能しない

Dell Precision T1650のパソコンでOS側のドライバの設定はMagic Packetを受け取るように設定し、なおかつBIOS設定のwake on lan の設定も 『Enabled』に設定しているにもかかわらずMagic Packetを送信しても電源がつかない現象が発生しました。
おかしいと思い、PCのLanポートを見てみると、電源を切った状態でも普通は光っているはずのライトが消えている状態でした。
Dellに問い合わせたところ、BIOS設定の一部分の設定が違う為にこの現象が起こっていました。
以下にそれを記述します。


■原因

  • BIOS設定で『Power Management』という項目の中にある、『Deep Sleep Control』の設定が『Disabled』になっていなかった事。  

■対象

  • Dell Precision T1650

■対処方法

  •  『Deep Sleep Control』の設定を『Disabled』に設定しておく。

おそらくこの『Deep Sleep Control』というのは無駄な消費電力を抑える為のもので、電源を切った際にLanポートなどの周辺機器の機能を切ってしまうという事だと思います。

『Deep Sleep Control』で他の項目を選択している場合、例えば『Enabled in S5 Only』を選択している場合は、シャットダウン状態に移行した際に『Deep Sleep Control』が有効になるという事だと思われます。

wake on lan の機能がうまくいかない場合はチェックするようにしましょう。

2012年11月2日金曜日

Windows7でアプリケーションが「応答なし」になる

 ドメイン環境でWindows7を使用していると、不特定のアプリケーションで「応答なし」となってしまうことがあります。
 特定のアプリケーションやタイミングなどによって起こらず、最終的にログオフか再起動しないと改善しないこの問題について、マイクロソフトに対処方法が掲載されていたので紹介しておきます。

■原因

 ユーザープロファイルのAppDataをリダイレクトしてい場合、MS IME10の辞書ファイルを作成中にフォルダが見つからないと、作成処理がループしてCPUを100%使い切るようです。

■対象

  • Windows Vista 以降
  • Windows Server 2008 以降

■対処方法

 次のフォルダを作成することで改善されます。
%AppData%\Microsoft\IMJP10
 グループポリシーのログオンスクリプトなどで次のコマンドを実行することで、自動的にフォルダを作成することができます。また、ポリシー適用の範囲をWindowsVista以降にすることで、不要なフォルダの作成も防ぐこともできます。
md "%AppData%\Microsoft\IMJP10"

■参照元

フォルダリダイレクト環境にて Microsoft IME を利用するアプリケーションが応答しなくなる

2012年10月16日火曜日

「Windows セットアップはこのコンピューターのハードウェアで動作するように Windows を構成できませんでした」の対処方法

 初期のWindows7のインストールCDでPCをセットアップしようとすると、下記のようなエラーが出てセットアップが途中で失敗してしまいます。
 原因は適切なストレージドライバが見つからないことのようですが、インストール途中にドライバをインストールすることで回避することができます。
 その対処方法についてまとめておきます。

■エラー

Windows セットアップはこのコンピューターのハードウェアで動作するように Windows を構成できませんでした

■対処方法

 対処方は次の通りです。
  1. Intelから最新のストレージドライバをダウンロードする
  2.  http://www.intel.com/support/chipsets/imsm/sb/CS-031502.htm
  3. USBメモリにドライバを保存する
  4. Windowsのインストールを開始する
  5. 「Windowsのインストール場所を選択してください」で「ドライバの読み込み」をクリックし、先ほどのドライバを読込む

■参考サイト

詳しい内容はこちらを参考にしてください。

Windows 7 ベースまたは Windows Server 2008 R2 ベースのコンピューターでのインストール エラーの「Windows セットアップ Windows コンピューターのハードウェアを構成できませんでした」

2012年10月2日火曜日

ThunderbirdのLightningでGoogleカレンダーを同期する方法

 Lightningは、Thunderbird内で予定管理ができる便利なアドオンですが、これをさらに便利にするためにGoogleのカレンダーと同期する方法について説明します。
 Googleカレンダーと同期することで職場や自宅、スマートフォンなどで同じ予定を使うことができるのとても便利になります。

■新しい同期の方法

 GoogleカレンダーのCalDAVのURLが変更されたことで一部使用が変更されたようです。最近Lightningとの同期が全くできなくなった ので試してみたのですが、どうもLightning2.6にバグがあるようで相変わらず同期がうまく取れません。これらの問題は Lightning2.6.1で修正予定のようで、アップデートされたらまた新しく記事を投稿したいと思います。

■CalDAVのURL

 Lightningでカレンダーを追加するまでに、まずはGoogleカレンダーと同期するためのURLを取得する必要があります。
 CalDAV形式のURLは下記のURLと「カレンダーID」を組合せることで取得することができます。カレ ンダーIDはデフォルトのものはGmailのアドレスと同一「<アカウント>@gmail.com」で、追加したカレンダーに関しては 「<長い英数字>@group.calendar.google.com」となります。
https://www.google.com/calendar/dav/[カレンダーID]/events
 カレンダーIDはGoogleカレンダーの設定を見ると確認することができますが、カレンダーの設定の下図の場所をクリックすることで「ICAL」のURLをクリップボードにコピーすることができます。
図の場所をクリックする
出てきたURLを右クリックして「URLをクリップボードにコピーする」
 次にコピーしてきたURLを以下のように変更することで比較的簡単にCalDAVのURLを入力できます。
変更前: https://www.google.com/calendar/ical/[カレンダーID]/public/basic.ics
変更後: https://www.google.com/calendar/dav/[カレンダーID]/events
予めテキストエディタなどでURLを準備しておくと、楽にカレンダーが追加できると思います。

■作業手順

 同期する方法にはいくつかあるようですが、ここでは「CalDAV」フォーマットを使った同期の方法について説明します。
 ここからは、Lightningの説明になります。

Lightningの使い方

 Lightningの使い方がわからない方はこちらを参考にしてください。
  1. 新しいカレンダーを追加して、「ネットワークのサーバに保存する」を選択する
  2. 次にフォーマットに「CalDAV」を選択して、場所に先ほどの「CalDAV」のURLを入力します
  3. 次へを押して同期が始まると、Googleアカウントとパスワードの入力を求められるので入力すると設定完了です。

■注意

  • この方法では一つのGoogleアカウントのカレンダーしか扱うことができません。もし複数のアカウントのカレンダーを管理したい場合は、カレンダーの共有設定で代表になるアカウントを登録しておく必要があります。
  • 現在のところテスト段階のようでうまくいかないこともあるようです。
  • TODOに関しては同期が取れないようです。 
  • 一部のアドオンと競合して同期がとれないことがあるようです。確認が取れているのは「MinimizeToTray」です。

■参考

Googleカレンダー - CalDAV スタート ガイド

2013/6/19 次の内容を変更しました

  • 「CalDAVのURL」の説明を「作業手順」の前に移動し、一部説明文を変更しました。 

2013/6/24 次の内容を変更しました

  • 「注意」 に一部のアドオンで競合が発生することについて追記しました。

2013/10/2 次の内容を変更しました

  • 「新しい同期の方法」を追加しました。