人気ブログランキング |
カテゴリ:豆知識( 206 )
WindowsUpdateに失敗する(0x80070005)
WindowsServer2003 R2(x64)版で、AdministratorユーザでWindowsUpdateをかけてたんですが、どうしてもインストール出来ない更新プログラムがあります。
以下のような感じで、エラーコードは 0x80070005 になっています。
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の暗号化が原因の場合もあるようです。
by jehoshaphat | 2014-01-12 02:21 | 豆知識
Adobe ReaderXIでアップデートしたらメニューバーが英語表記になった。

AdobeReaderXI(Windows7x64)をアップデートするとメニューバーの表記が英語になってしました。

Ctrlを押下しながらAdobeReaderを起動して言語を[日本語]にしてみたんですが、変化ありません。
AdobeReaderを再インストールしても、日本語には戻りませんでした。

また、以下のように設定しても変化なしです。
AdobeReaderを起動し、メニューバーの[Edit]→[Preferences]→[Language]→[Application Language]で、[Choose at application startup]か[Same as the operating system]


最終的に、Adobe Community: Adobe Reader XI の日本語メニューにあるように、コントロールパネル→[地域と言語]で、[現在の場所]を[米国]に変更し再起動したところ日本語になりました。
これで再度[日本]に戻して、再起動しても日本語のまま使い続けれました。
by Jehoshaphat | 2013-05-23 20:15 | 豆知識
PC起動時にAppleSyncNotifier.exeがエラーダイアログを出す
PC(Windows7 x64)起動時に、以下の様なエラーダイアログが出るようになりました。

AppleSyncNotifier.exe - エントリポイントが見つかりません。
プロシージャエントリポイント xmlTextReaderName がダイナミックリンクライブラリ libxml2.dll から見つかりませんでした。

どうやら、xmlTextReaderNameという関数が見つからないようです。
エラーメッセージでググると、ソフトウェア/iTunes/AppleSyncNotifierのエラー | Tipiに解決法が載ってました。

C:\Program Files (x86)\Common Files\Apple\Apple Application Support\libxml2.dll を C:\Program Files (x86)\Common Files\Apple\Mobile Device Support にコピーして再起動すればいいようです。

何かのタイミングでDLLが消えてしまったようですorz
by Jehoshaphat | 2013-05-10 03:20 | 豆知識
OP25B対策Part2 メールサーバを構築し別メールサーバに全転送【Postfix編】
OP25B対策Part1 Linuxルータでポート変換(非推奨)での別解決策として書いたOP25B対策Part2 メールサーバを構築し別メールサーバに全転送【sendmail編】のPostfix編です。

CentOS6でOP25B対策の送信専用メールサーバをたてようかと思ったんですが、CentOS6ではpostfixがデフォルトのSMTPサーバになったようなので、今回はpostfixで挑戦して見ました。

ということで、Postfixの設定です。

設定ファイルは /etc/postfix/main.cf になります。
sendmailとは違い、よりUnixライクな設定の記述になっています。

Viエディタで設定をしていきます。

# vi /etc/postfix/main.cf


ホスト名、ドメイン名
ホスト名というかFQDNSを指定します。適当で構わないようです。

myhostname = mailsv.hoge.3ryu


ドメイン名を指定します。デフォルトでは、$myhostname から最初の要素をひいたものになるので、指定しなくていいかもしれません。

mydomain = hoge.3ryu


mailコマンド等送信元ドメインを指定しない場合に、ドメイン部分を何にするか決める設定です。
デフォルトは、myhostname の値が使われるようです。

myorigin = $myhostname



自身宛かどうか
宛先メールアドレスのドメイン名が以下の設定合うなら自身宛と判断し、保存します。
sendmailで言うところの /etc/mail/local-host-names と同じ設定です。

mydestination = $myhostname, localhost.$mydomain, localhost



メール受け入れ設定
送られてきたメールを受け入れるか否かのアクセス制御を行います。
デフォルトは、localhost となっており、postfixがあるサーバ自身からのメールしか受け付けません。
以下のように localhost を all にすることで、すべてのホストからの受信を受け入れるようにします。

inet_interfaces = all

細かい転送制限は、次の項目で設定します。

転送制限設定
送られてきたメールを転送するかどうかのアクセス制御を行います。
デフォルトは、値が subnet になっており、このメールサーバと同じIPサブネット内のSMTPクライアントからのメールを転送するようです。
sendamilの、/etc/mail/access.db と同じ意味ですね。

mynetworks_style = subnet (デフォルト: サブネットワークを許可)
mynetworks_style = host (ローカルマシンのみを許可)
mynetworks_style = class (ローカルマシンと同じIPクラスA/B/Cに属するクライアントからのアクセスを許可。あまり好ましくない)

上記 mynetworks_style の設定よりも細かい設定をしたい場合は、mynetworks にて設定します。
("mynetworks"の設定をすると、"mynetworks_style" の設定そのものが無効になってしまう)

mynetworks = 127.0.0.0/8 (ローカルマシンのみを許可)
mynetworks = 127.0.0.0/8 168.100.189.2/32 (ローカルマシンと168.100.189.2の端末のみ許可)
mynetworks = 127.0.0.0/8 192.168.1.0/24 (ローカルマシンと192.168.1.0/24の端末のみ許可).
(区切りは、空白 カンマ が使える)

mynetworksは外部ファイルを指定することもできるようなので、送信元になるサブネットが多い場合は、外部ファイルで指定したほうがいいかもしれません。


転送丸投げ先設定
デフォルトではsendmailと同じように、Postfixはメールの宛先のMTAに直接配送しようとします。
今回は、プロバイダのメールサーバを経由させたいので、そのメールサーバに丸投げするようにします。
sendmailの define(`SMART_HOST', `[丸投げ先サーバ名') と同じ設定です。

relayhost = [am.wakwak.com]:587

sendmailと同じように転送先メールサーバ名に [ ] をつけるとDNS MX検索は行いません。通常は[]でくくっておきます。
また、ポート名もここで指定できるようです。(ポート名を明示しなければ 25 になります)


SMTP認証設定
上記の設定で、プロバイダSMTPサーバに丸投げするわけですが、たいていはSMTP認証が必要なので、ここで認証をするという設定してやります。

/etc/postfix/main.cf ファイルの最終行へ以下を追加
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/authinfo
smtp_sasl_security_options = noanonymous
#↓認証方式を設定。プロバイダのSMTPサーバがどの認証に対応してるかはtelnetで確認。
smtp_sasl_mechanism_filter = DIGEST-MD5, CRAM-MD5, LOGIN, PLAIN


これで、main.cfの設定は終わりです。

/etc/postfix/authinfo に認証情報を設定します。

# echo [SMTPサーバー名]:587 ユーザー名:パスワード > /etc/postfix/authinfo
# chmod 640 /etc/postfix/authinfo ←root以外参照できないようにパーミッション変更
# postmap /etc/postfix/authinfo ←authinfo.dbが作成される

(セキュリティのためauthinfoは root しかアクセスできないようパーミション変更することが望ましいかもしれません。)

main.cf を編集したら、postfixを再読み込みします。

/etc/rc.d/init.d/postfix reload



さて、これで届くはずと思いきや、届きません。
キューを見ると以下のようになっています。

# mailq
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
AF109A0536 939 Tue Dec 6 13:09:38 hoge@hoge.com
(SASL authentication failed; cannot authenticate to server am.wakwak.com[211.9.230.130]: no mechanism available)
hoge@hoge.com

-- 1 Kbytes in 1 Request.

サーバとのSMTP認証のメカニズムがあっていないようです。
結構悩んだんですが、Labs Zsrv Net - Postfixで、GMAIL経由でメールを送る(OP25B対策)「Postfix」の設定で、ヒントが。。
結局認証種類別のcyrus-saslモジュールが入ってなかったことが原因でした。
当初以下の2つしか入っていませんでした。

# rpm -qa | grep cyrus
cyrus-sasl-2.1.23-8.el6.i686
cyrus-sasl-lib-2.1.23-8.el6.i686

plainと、md5用のモジュールをインストールします。

# yum install cyrus-sasl-plain
# yum install cyrus-sasl-md5


これで、postfixを service postfix restart したらちゃんと送れるようになりました。
やはり、sendmailよりかは設定しやすいですね。


参考:
Postfix 基本設定 公式ドキュメントの日本語訳です。まずは一読する価値アリです。
◇Postfixについて◇初心者のためのLinuxサーバー構築講座(CentOS 自宅サーバー対応)☆お便利サーバー.com☆ sendmailの時もお世話になりました。非常にわかりやすく説明されています。
Postfix から Gmail 経由でメールを送る linux.matchy.net: ~Linuxで遊ぼう!~
Postfix でメールリレーの設定 (SMTP クライアント + SMTP Auth) - maruko2 Note.
OP25B対策(Outbound Port 25 Blocking対策)
OP25B(Outbound Port 25 Blocking)対策 - Fedoraで自宅サーバー構築
Postfixの小技
Postfix で、Gmail にメールをリレーする - 私の二次記憶
by Jehoshaphat | 2013-04-01 23:10 | 豆知識
Windows7のIE8でリンクが動作しない時がある
Windows7(x86)上のIE8で、突然ファイルのダウンロードができなくなりました。(保護モードは無効です)
ファイルのダウンロードリンクを押下しても全然反応しないのです。
それだけでなく、マウスのホイールボタンを使って新しいタブでリンクを開くという操作をよくするのですが、それもダメです。(タブに接続中...と表示されたままで開きません)
リンク先のアドレスをコピーしてアドレスバーに入れると、開きます。

いろいろググった結果、MS Anwers:[Win7・IE8] Internet Explorer 8 でリンクが開かないで、同様な現象が質問されてました。

上記リンクにあるhttp://iefaq.info/index.php?action=artikel&cat=42&id=133&artlang=enから、ie8-rereg.zip をダウンロードし、中にあるコマンドファイルを右クリック→管理者で実行→再起動で治りました。


regsvr32 でIEのCOMコンポーネントを片っ端から再登録してやればいいようです。

追記(2012/12/28):
IE7~IE9までの現象に対応するようになっているようです。
IEが32bitを使用しており、OSが64bitなら ie8-rereg.32on64.zip をダウンロードする必要があります。
IEが64bitを使用しており、OSが64bitなら ie8-rereg.64on64.zip をダウンロードする必要があります。



参考:
MSサポート:Internet Explorer でリンクをクリックしても何も起こらない
MSサポート:新しい Internet Explorer ウィンドウを開くことができない、またはリンクをクリックしても何も起こりません
by Jehoshaphat | 2013-03-29 22:55 | 豆知識
Microsoft UpdateでWord/Excelビューアのパッチ当てたら関連付けを勝手に変更された
ターミナルサーバで、メインのOffice suiteとしてOpenOfficeを使用してます。
が、なぜか Word/Excelビューアも入ってます。
doc,xlsファイルの関連付けはOpenOfficeに設定しているのですが、WindowsUpdateでWord/Excelビューアのセキュリティパッチを当てたら、勝手に全ユーザの関連付けを変更しやがりました。
doc,xlsファイルをビューアーで開くようにされてしまったのです。
(ユーザが個別に設定して場合は影響有りませんでした)


フォルダオプションで設定してもいいのですが、ユーザ単位の設定となってしまっては面倒なので、レジストリを直接触ることにしました。


で、参考にさせてもらったのが、Windows の関連づけ設定の仕組みです。
これを見ると、ユーザごとの関連付け(HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\)が最優先で動くようです。

今回、パッチによって変更されていたのは HKEY_CLASSES_ROOT\* (Basic Class Key)でした。
(ちなみに、HKEY_CLASSES_ROOT は HKEY_LOCAL_MACHINE\Software のサブキーです。)

ビューアで開く関連付けファイルだと以下のようになってました。
(エキサイトブログのダメ仕様上一部.の前に半角スペースを置いています。実際は半角スペースを.の前の半角スペースを削除してください)

HKEY_CLASSES_ROOT\.doc
(既定)=Wordview.Document .8
"Content Type"="application/msword"

HKEY_CLASSES_ROOT\.xls
(既定)=ExcelViewer.Sheet.8

HKEY_CLASSES_ROOT\.docx
(既定)="Word.Document .12"
"Content Type"="application/vnd.openxmlformats-officedocument .wordprocessingml.document"


HKEY_CLASSES_ROOT\.pptx
(既定)="PowerPointViewer.Show.12"


これを以下のように修正したら、全ユーザでOpenOfficeで開くようになりました。(個別設定しているユーザ以外)

HKEY_CLASSES_ROOT\.doc
(既定)=OpenOffice.org.Doc
削除 → "Content Type"="application/msword"

HKEY_CLASSES_ROOT\.xls
(既定)=OpenOffice.org.Xls

HKEY_CLASSES_ROOT\.docx
(既定)=OpenOffice.org.Docx
削除" → "Content Type"="application/vnd.openxmlformats-officedocument .wordprocessingml.document"

HKEY_CLASSES_ROOT\.xlsx
(既定)=OpenOffice.org.Xlsx

HKEY_CLASSES_ROOT\.pptx
(既定)="OpenOffice.org.Pptx"


この(既定)の値は、ProgID Key というものらしく、HKEY_CLASSES_ROOT\OpenOffice.org.Doc にアイコンや実際の動作の挙動が書いているようです。


関連付けは結構厄介ですね。

参考:
OKWave:ファイルの「関連付け変更」は、どこに記録されるの?
by Jehoshaphat | 2013-03-29 22:45 | 豆知識
Java,AdobeReader,FlashPlayerで更新通知を出さない方法
ターミナルサーバで、AdobeReaderやFlashPlayerを入れていると、一般ユーザがログインするたびに更新を促すメッセージが表示される場合があり、ユーザを困惑させかねない場合が少なく有りません。


ということで、AdobeReader,FlashPlayer関連で更新通知等の情報を表示させない方法です。

AdobeReaderの更新通知
管理者権限で、AdobeReaderを起動し、メニューバーの編集→環境設定→アップデータ→アップデートのダウンロードやインストールを自動的に行わない にチェックを付けます。
これは以下のレジストリでも設定できるようです。

HKEY_LOCAL_MACHINE\SOFTWARE\Adobe\Adobe ARM\1.0\ARM
"iCheck"の値
0: アップデータのダウンロードやインストールを自動的に行わない
1: (使用されていません)
2: アップデートを自動的にダウンロードするが、インストールするときは指定する
3: 自動的にアップデートをインストールする。


参考:
Adobe:アップデータの自動チェックを変更または無効にする方法

AdobeReaderの品質向上ダイアログ
AdobeReaderでまれに品質向上にご協力ください的なダイアログが出ることがあります。
これも管理者権限でAdobeReaderを起動し、メニューバーのヘルプ→製品向上プログラム で、「いいえ、必要ありません」を選べばOKです。

もしくは、管理者権限のコマンドプロプントで、以下のレジストリを追加するといいようです。

reg add HKLM\SOFTWARE\Policies\Adobe\APIP /v enabled /t reg_dword /d 00000000


参考:
Adobe: 製品向上プログラムのダイアログボックスを停止するには

AdobeReaderのEULA同意する
アップデート後AdobeReaderを起動すると、EULAの同意するかどうかを聞いてきます。
これも管理者権限で最初に同意してしまえば問題ないようです。


FlashPlayerの更新通知
Flashはログインするたびにダイアログウィンドウが出てくるので非常に邪魔くさいです。(特に11.2より前)
Flash Player 10.3以降であれば、コントロールパネルにFlashPlayer設定マネージャーがあるので、それの 高度な設定→アップデートの有無をチェックしない にしておけばいいようです。
Flash Player 10.3より前であれば、グローバル通知設定パネル から設定する必要あるようなので、http://www.macromedia.com/support/documentation/jp/flashplayer/help/settings_manager05.htmlで、リリース情報通知のチェックをのけてしまえばいいようです。

また、mms.cfgを使う方法もあります。
これについての詳細はAdobe Flash Playerをグループポリシーで自動展開したいを参照ください。

参考:
Adobe:設定マネージャー
Adobe:Flash Player による自動更新の通知を無効にする方法


Javaの更新通知
Javaもアップデートの情報をタスクトレイのバルーン表示で通知します。
これは、コントロールパネルの Javaコントロールパネル→アップデートタブ→アップデートを自動的にチェック をOFFにしてしまうといいようです。

参考:
Windows Vista(R)でJavaの最新バージョン更新通知を非表示にする方法


ただ、更新通知を解除する場合は管理者が責任をもって、新しいセキュリティパッチがでたら更新するべき必要がありますね。
by Jehoshaphat | 2013-03-28 22:52 | 豆知識
グループポリシーでWindows7のタスクバーを自動的に隠す設定をしたかったけど...

Windows7でタスクバーを最小化にする方法ですが、普通は「タスクバーとスタートメニューのプロパティ」から「タスクバーを自動的に隠す」にチェックするだけです。

これをグループポリシーで一括設定したいと思いました。

WindowsVista,7以降はグループポリシーの設定項目が増えたので、GPOの[ユーザの構成]→[ポリシー]→[管理用テンプレート]→[タスクバーとスタートメニュー]にあるかなと思ったんですが、どうも見当たりません。

仕方ないので、レジストリから設定するかと思って設定前と後のレジストリの差分を取ったんですが、どうやらバイナリで設定されているらしく簡単には設定変更できそうに有りませんでした。

で、いろいろググったところ、Windows Xpにて「タスクバーを自動的に隠す」機能ON/OFFの手順簡.. - 人力検索はてなの回答で以下のVBSが記されていました。

Option Explicit
Dim shell, i
Set shell = CreateObject("WScript.Shell")
shell.Run("rundll32.exe shell32.dll,Options_RunDLL 1")
Do Until shell.AppActivate("タスク バー")
Wscript.Sleep 100
If i > 10 Then Wscript.Quit
i = i + 1
Loop
shell.Sendkeys("%U{ENTER}")


上記のVBSは、ほんとにタスクバーとスタートメニューのプロパティを表示してショートカットキーで自動最小化の設定を有効にしているようです。
なので、もう一度実行すると、設定が解除されます。

プロパティウィンドウが表示されるので、見苦しいですが、他にいい方法は見つかりませんでした。
グループポリシーのログオンスクリプトに設定して、1回だけ実行してやるといいかもしれません。

グループポリシーで、1回だけバッチやスクリプトを実行するには、WindowsServer2008やVista,7ではこれ、結構使えます。グループポリシー基本設定 - Windows Server 使い倒し塾 - Site Home - TechNet Blogsが参考になります。
WindowsServer2003,XPのグループポリシーの場合、MSサポート:ログオン スクリプトの実行を新規ユーザーの初回ログオン時に限定する方法が参考になります。


参考:
Windows のタスクバーを完全に消す - by edvakf in hatena タスクバー自体を隠してしまう場合は、APIで設定できるようです。
by Jehoshaphat | 2013-03-27 22:37 | 豆知識
Windows7でクラシック表示にするグループポリシー
Windows7のAeroを無効にして、クラシック表示にするためのグループポリシーの設定です。

[ユーザの構成]→[ポリシー]→[管理テンプレート]→[コントロールパネル]→[特定の視覚スタイル ファイルを強制するか、または Windows クラシックを強制する]の設定を、有効 にして、[視覚スタイルファイルへのパス]を空欄にするといいようです。

ただし、Aeroが無効になっただけで、Windowsクラシックスタイルになっていない場合もありました。

そういう場合はテーマファイルを[視覚スタイルファイルへのパス]に指定してやると言いようなんですが、WindowsクラシックスタイルのテーマファイルをWindows7は持ってないようです。

なので、[個人設定]のウィンドウから、[Windowsクラシック]テーマを選び、テーマの保存を行います。
すると、C:\Users\ユーザ名\AppData\Local\Microsoft\Windows\Themas フォルダにテーマファイルが作成されます。
このテーマファイルを共有フォルダに置くなりして、そのパスを[視覚スタイルファイルへのパス]に指定してやることができます。
by Jehoshaphat | 2013-03-26 22:36 | 豆知識
グループポリシーでWindows7のアクションセンター非表示にする
グループポリシーで、Windows7のアクションセンター(バックアップできてねーよとか問題あるぞとかタスクトレイで通知するお節介な機能)を非表示にする方法です。

[ユーザーの構成]→[管理用テンプレート]→[タスク バーと スタート メニュー]→[アクション センター アイコンを削除する]を有効にするといいようです。

参考:
TechNet:アクション センターのグループ ポリシー設定
アクション センター - Windows 7 の機能 - Microsoft Windows
by Jehoshaphat | 2013-03-26 22:35 | 豆知識