Hebikuzure's Tech Memo

2016年10月8日

TCP ポート 445 がブロックされていると Windows 10 に更新後共有フォルダーにアクセスできない

Filed under: Windows Tips — hebikuzure @ 6:43 PM

これも「MS16-110 適用後 NAS などの共有フォルダーに接続できない問題」の調べもの中に見つけた情報です。

Windows のファイル共有に利用される SMB ではサーバー側の待ち受けポートてして TCP 445 番ポートが利用されますが、445 番ポートが何らかの理由でブロックされている場合はレジストリの構成で 445 番の代わりに 139 番ポートを使うよう構成することができました。

構成するレジストリは以下の通りです。

キー : HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters
名前 : EnableNetBTForSmb2
種類 : DWORD
設定値 : 1

参考情報 : TCP 445 番ポートが遮断されていると Windows 8、Windows Server 2012 以降の OS からファイル共有通信ができない

しかしこのレジストリ構成をして共有に接続していたクライアントを Windows 10 にアップグレードしたり、新規の Windows 10 にこのレジストリを構成しても、共有には接続できません。これは、上記の参考情報に書かれているように、このレジストリは Windows 10 では利用できず無視されるからです。

SMBv1 以前のファイル共有プロトコルはすでに非推奨となって久しく、将来的に利用できなくなると考えられるので、Windows 10 で SMB によるファイル共有を行う場合は、TCP 445 番ポートをブロックしないようにネットワークを構成しましょう。

ファイル共有で利用されている SMB のバージョンを確認する方法

Filed under: Windows Tips — hebikuzure @ 6:42 PM

先日の「MS16-110 適用後 NAS などの共有フォルダーに接続できない問題」の記事の調べ物をしている際に見つけた Tips についてメモ代わりに投稿しておきます。

Windows でのファイル共有には SMB プロトコルが利用されていることは良く知られていますが、SMB は Windows 製品で長く使われ機能とセキュリティが強化されてきたため、SMBv1、SMBv2、SMBv3 といったバージョンやさらに細かなダイアレクト が存在しています。通常はサーバー – クライアント間で自動的にネゴシエーションが行われ適切なバージョン・ダイアレクトが利用されるため、こうした違いを意識する必要はないのですが、Windows 製品以外 (Linux 上の Samba や OS Ⅹ、NAS など) と接続する場合や、Windows 間でもトラブルシュートをする場合など、どのようなバージョン・ダイアレクトが利用されているのか確認したい場合があります。

そのような場合、クライアントで次のような方法で利用している SMB のバージョン・ダイアレクトを確認することができます。

クライアントで利用可能な SMB のバージョンを確認する

  1. コマンド プロンプトで以下を実行します
    sc.exe qc lanmanworkstation
  2. 結果がC:\>sc.exe qc lanmanworkstation
    [SC] QueryServiceConfig SUCCESS

    SERVICE_NAME: lanmanworkstation
    TYPE                              : 20  WIN32_SHARE_PROCESS
    START_TYPE                  : 2   AUTO_START
    ERROR_CONTROL          : 1   NORMAL
    BINARY_PATH_NAME     : C:\WINDOWS\System32\svchost.exe -k NetworkService
    LOAD_ORDER_GROUP   : NetworkProvider
    TAG                              : 0
    DISPLAY_NAME             : Workstation
    DEPENDENCIES             : Bowser
    : MRxSmb20
    : NSI
    SERVICE_START_NAME : NT AUTHORITY\NetworkService

    のように表示されます。

  3. DEPENDENCIES 欄を確認します。
    mrxsmb20 がある場合は SMBv2 (Windows 8/Windows Server 2012 以降は SMBv3 も) が有効です。
    mrxsmb10 がある場合は SMBv1 が有効です。

参考 : Windows Vista、Windows Server 2008、Windows 7 、Windows Server 2008 R2、Windows 8、Windows Server 2012 で 、SMBv1、SMBv2、SMBv3 を有効、または無効にする方法

SMB セッションで利用されている SMB のダイアレクトを確認する

実際に開いている SMB セッションでどのような SMB ダイアレクトが利用されているか確認するには、管理者として実行した PowerShell で以下を実行します。
Get-SmbConnection
開いている SMB セッションの利用しているダイアレクトや資格情報などの詳細情報が表示されます。

SMB セッションがないと何も表示されないので、利用ダイアレクトを調べたい相手 (サーバー) 上の共有を開いた状態で実行してください。簡単にはエクスプローラーで共有フォルダーを開いておけば OK です。

2015年8月22日

Windows 10 の 1394 OHCI ホスト ドライバー

Filed under: Windows トラブル, Windows Tips — タグ: , , — hebikuzure @ 4:14 PM

Windows 8 がリリースされた際に、古めの 1394 接続 (FireWire 接続) のデバイス、例えばデジタル ビデオ カメラなどが正常に認識されなくなったり、機能が制限されてしまったりするという現象が起きました。これは Windows 8 での 1394 OHCI 対応ホスト コントローラー 用のドライバーが、新しいWindows Driver Framework (WDF) モデルの物だけになり、古い (Legacy) ドライバーが削除されたためです。一部の古い 1394 接続周辺デバイスは WDF ドライバーで動作する 1394 ホスト コントローラーと互換性がないため、Windows 8 ではそれらのデバイスが正しく動作しなくなってしまったのです。

古いドライバーから新しいドライバーへの置き換えは、実は Windows 7 で行われていたのですが、Windows 7 には古いモデルの 1394 OHCI Compliant Host Controller (Legacy) ドライバーも含まれており、手動でこちらのドライバーに切り替える事で古いデバイスも利用可能でした。しかし Windows 8 では古いモデルのドライバーは削除され、この方法は利用できなくなっていました。

この非互換についてユーザーから多くの要望が寄せられたため、Microsoft では Windows 8/8.1 用の 1394 OHCI Compliant Host Controller (Legacy) ドライバーを別途に用意することにし、技術情報「FireWire port-based device does not work correctly in Windows 8.1 or Windows 8」を公開してダウンロード提供を開始しました。

Windows 8 で削除された古いモデルの OHCI ホスト ドライバーは Windows 10 にも含まれていません。そのため Windows 7 などから Windows 10 にアップグレードした場合や、Windows 10 の新規インストールを行った場合、Windows 8 の時と同様に一部の 1394 デバイスが正常に利用できなくなるという問題が発生します。

Windows 8/8.1 へのレガシーな OHCI ホスト ドライバーの提供開始を案内する「Announcing the availability of a standalone legacy 1394 OHCI (FireWire) package」に『•Customers who upgrade to a newer OS version in the future will be required to reinstall this standalone driver package.』と書かれているように、この Windows 8/8.1 用に提供されたドライバーは Windows 10 にも適用可能です。Windows 8/8.1 の場合と同様に、32ビット版または 64ビット版のドライバー パッケージをダウンロード/インストールした後、デバイス マネージャーで OHCI ホスト コントローラーのドライバーを手動で “Generic1394 OHCI compliant host controller (Legacy)” に変更すれば、Windows 10 でも古い 1394 デバイスを利用することができるようになります (下図参照)。

参考情報

Microsoft Edge をコマンドで起動する

Filed under: Internet Explorer, Windows Tips — タグ: , , , — hebikuzure @ 11:22 AM

Windows 10 で新しく搭載された Web ブラウザーの Microsoft Edge がそれまでの Internet Explorer と大きく異なっているのは、ユニバーサル Windows プラットフォーム (Universal Windows Platform – UWP) アプリとして作られていることです。そのため今までの Internet Explorer でのやり方がそのまま通用しないことが少なくないのですが、今回はコマンドから Edge を起動する方法について解説します。

UWP アプリでは (Windows 8 以降のストア アプリでも同様ですが) 実行ファイル (exe ファイル) をエクスプローラーでのダブルクリックなどで直接実行しても、起動することができません。この点が Internet Explorer を含む従来のデスクトップアプリと大きく異なる点の一つです。そのため Microsoft Edge も実体となる MicrosoftEdge.exe ファイルが C:\Windows\SystemApps\Microsoft.MicrosoftEdge_8wekyb3d8bbwe にありますが、これをダブルクリックしても Edge を起動できません。またコマンド プロンプトや [ファイル名を指定して実行] で C:\Windows\SystemApps\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\MicrosoftEdge.exe を指定しても、同様に Edge は起動できません。

コマンド プロンプトや [ファイル名を指定して実行] から Edge を起動する場合は、以下のようにプロトコル ハンドラーとして Edge を指定します

  • コマンド プロンプトの場合
    start microsoft-edge:(URL)
    ex. start microsoft-edge:www.bing.com, start microsoft-edge:www.google.com など
  • [ファイル名を指定して実行] の場合
    microsoft-edge:(URL)
    ex. microsoft-edge:www.bing.com, microsoft-edge:www.google.com など

コマンド プロンプトの場合は “start” を付ける点に注意してください。

なおホームページの設定や読み込みに問題があって Edge が正常に起動/動作しない場合は、以下のように指定して強制的に空白のページで Edge を起動させると良いでしょう。

microsoft-edge:about:blank

2015年7月4日

Windows 10 で「ネットワークの場所」を変更する

Filed under: Windows Tips, 未分類 — タグ: , — hebikuzure @ 10:26 PM

Windows 7 以降のバージョンでは有効なネットワーク接続に対するプロファイルとして「ネットワークの場所」が設定され、それに応じて共有の設定やファイアウォールの構成が行われるようになっています。ネットワークの場所は初めてネットワークに接続した際に選択することになりますが、Windows 7 や Windows 8/8.1 で一度選択したネットワークの場所を後から変更する方法は、以下のようによく知られています。

Windows 7 の場合

Windows 8/8.1 の場合

間もなくリリースされる Windows 10 でも同様に「ネットワークの場所」が設定されるのですが、Windows 10 では [設定] – [ネットワークとインターネット] から Wifi やイーサネットを開いて接続を選択しても、[デバイスとコンテンツの検索]を設定する画面は出てこなくなっています。

Windows 10 では初期のビルドでは以下の手順が必要なようでした。

  1. [コントロール パネル] – [ネットワークとインターネット] – [ホーム グループ] を開きます
  2. [パブリック ネットワーク] では [ホーム グループ] に参加できないため、「ホーム ネットワークに接続していないためホーム グループを利用できません」と表示されているはずです。その下に「ネットワークの場所の変更」が表示されているので、クリックします
  3. デバイスとコンテンツの検索を有効にするか確認する画面が出てきますので、[はい] を選択します

最新の Build 10162 で確認すると、以下の手順で [デバイスとコンテンツの検索] の設定を変更し、プライベート ネットワークとパブリック ネットワークの切り替えが可能でした。

  1. [設定] – [ネットワークとインターネット] を開きます
  2. 利用している接続に合わせて [イーサネット] または [Wifi] を選択します
  3. [詳細オプション] をクリックします
  4. [デバイスとコンテンツの検索] が表示されるので、[オン] / [オフ] を切り替えます

また PowerShell であれば以下のコマンドで変更できるようです。

Set-NetConnectionProfile -Name “ネットワーク名” -NetworkCategory Public

2015年3月28日

WinSxS フォルダーのクリーンアップ

Filed under: Windows Tips — hebikuzure @ 12:28 PM

WinSxS フォルダーのクリーンアップ
https://technet.microsoft.com/ja-jp/library/dn251565.aspx


Windows Vista / Windows Server 2008 以降の Windows では、Windows のコンポーネントや更新プログラムのインストールの際に WinSxS フォルダーが「ステージング」領域として利用され、必要なファイルがいったん WinSxS フォルダーにコピーされた後で実際のファイルの置き換えや配置がハードリンクの作成によって行われる動作になっています。この動作についてはサポート技術情報「Windows Vista および Windows Server 2008 で、Service Pack および修正プログラムの適用後にブート パーティションの使用領域が増加する」で解説されており、またこのブログでも以前に「Windows Vista では %windir%¥WinSxS フォルダーが肥大する」という記事で紹介しています。この記事はかなり古い物ですが今でもよくアクセスしされているので、ディスクの空き容量が不足している場合に WinSxS のサイズが大きくなっていることに気づかれる方が多いのでしょう。しかし WinSxS フォルダーにコピーされたファイルはコンポーネントや更新プログラムをアンインストールする際やファイルの破損を修復する際に必要となる場合があり、手動で削除してしまうと Windows の動作に支障が出る可能性があります。

残念ながら Windows Vista 以降の Windows では WinSxS を縮小する手段は用意されておらず、WinSxS のサイズが大きくディスクの空き容量が不足する場合、根本的に解決するには Windows を再インストールする必要がありました。

こうした問題を改善するため、Windows 8.1 / Windows Server 2012 R2 では WinSxS をクリーンアップするツールが用意されました。以下の記事に詳しい情報が掲載されています。

具体的な方法を簡単に解説していきましょう。

縮小可能なサイズを調べる

まず以前の記事でも触れていますが、WinSxS フォルダー内には実際にインストールされているコンポーネントや更新プログラムにハードリンクされている使用中のファイルと、ロールバック (コンポーネントや更新の削除) に備えたあるいバージョンのファイル (未使用のファイル)、一時的なキャッシュ ファイルなどが含まれています。WinSxS をクリーンアップする場合、使用中のファイルは削除できませんが未使用のファイルやキャッシュを削除して容量を削減することは可能です。そこでまず実際のクリーンアップを行う前に、WinSxS がどの程度縮小可能なのかを調べることができます。

現在の WinSxS を調査するには、管理者権限のコマンド プロンプトで以下のコマンドを実行します。

Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore

コマンドの完了まで少し時間がかかりますが、以下のように使用中のサイズと縮小可能なサイズが表示されます。

dism

表示される項目はそれぞれ以下のような意味を持っています

エクスプローラーによって検出された
コンポーネント ストアのサイズ
Windows エクスプローラーなどで表示した場合の WinSxS の見かけ上のサイズ
コンポーネント ストアの実際のサイズ ハードリンクを考慮に入れた実際の WinSxS のサイズ
Windows と共有 Windows のよって現に利用されているファイルのサイズ
バックアップおよび無効な機能 Windows によって現に利用されていないファイルのサイズ
キャッシュおよび一時的なデータ 一時ファイル
前回のクリーンアップ日 直前の WinSxS のクリーンアップ実行日
再利用できるパッケージの数 削除可能なパッケージ (コンポーネントや更新) の数
コンポーネント ストアのクリーンアップを推奨 クリーンアップを実行した方がよいかどうかの目安

「バックアップおよび無効な機能」と「キャッシュおよび一時的なデータ」が WinSxS で縮小可能なサイズです。

WinSxS のクリーンアップ

Windows 8 以降の Windwos では、WinSxS のクリーンアップを自動的に行うタスクがタスクスケジューラに登録されています。このタスクは Windows の自動メンテナンスの一部として定期的に実行されるように設定されています(Task Scheduler Library\Microsoft\Windows\Servicing\StartComponentCleanup)。

このタスクが実行されると、削除可能なファイルにマークが付けられ、30日後以降に自動的に削除されます。またタスクの実行時間は 1 時間に設定されているため、多数の削除可能なファイルがあると一度のタスク実行ではすべてのファイルが削除されない場合があります。

手動でクリーンアップを行う場合は、管理者権限のコマンド プロンプトで以下のコマンドを実行します。

Dism.exe /online /Cleanup-Image /StartComponentCleanup

このコマンドを手動で実行した場合、ファイルの削除はただちに行われます。また削除可能なすべてのファイルが削除されます。

すべての古いバージョンの削除

WinSxS をより縮小するには、すべての古いバージョンのファイルを削除します。ただしこれを行うと、インストール済みのサービス パックと更新プログラムをアンインストール (ロールバック) することができなくなります。ロールバックする必要がないことを十分に確認してから実行してください。

すべての古いバージョンを削除するには、管理者権限のコマンド プロンプトで以下のコマンドを実行します。

Dism.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase

実行すると、ただちに古いバージョンのファイルを含むすべての削除可能なファイルが削除されます。

またサービスパックで利用されている領域が、次のコマンドでさらに縮小できます。管理者コマンド プロンプトで実行してください。

Dism.exe /online /Cleanup-Image /SPSuperseded

このコマンドを実行すると、サービス パックのアンインストールはできなくなります。

2014年9月28日

Android 版の Microsoft Remote Desktop で Microsoft Azure の仮想マシンに接続する

Filed under: Windows Tips — hebikuzure @ 8:23 PM

Microsoft では Android 用のリモート デスクトップ クライアントをリリースしています。

流石にスマートフォンで利用するには画面が小さすぎるのでしょうが、Android タブレットであればそこそこ使えるので、ちょっとだけ何か設定を確認したいとか、PC でのみ送受信しているアカウントのメールチェックをしたいというような時に、LAN 内の PC に接続して利用しています。このように同一の LAN 内の PC に直接 RDP 接続する場合はその PC のホスト名 (ちゃんと名前解決できる場合) か IP アドレスを設定するだけで、Windows に含まれているリモート デスクトップ クライアントと同じようにサーバーに接続できます。

そこで Microsoft Azure 上の仮想マシンにもリモート デスクトップ接続してみたいと思い、設定してみた所うまく利用できましたので、その設定方法をメモ代わりに書き留めておきたいと思います。

  1. まず PC で Azure 管理コンソールで接続したい仮想マシンを起動しておき、[接続] をクリックます。これで仮想マシンに接続するための .rdp ファイルがダウンロードされるので、開かないでどこか分かりやすい所にダウンロードしておきます。
  2. ダウンロードした .rdp ファイルをエディターなどで開くと
    full address:s:hogehoge.cloudapp.net:64050
    のような行があります (hogehoge は仮想マシンのホスト名で、hogehoge.cloudapp.net が FQDN になります)。この情報を控えておきます。
  3. Android デバイスで Microsoft Remote Desktop を起動して、右側の項目から "Remote Desktops" を選択し、右上の「+」印をクリックして新規の接続設定を開始します
  4. 次のような画面が表示されるので、順に設定していきます
    01
  5. "Connection Name" は表示名です。分かりやすい名前を付けておくと良いでしょう。
  6. "PC Name" には接続する仮想マシンのホスト名とポート番号を指定します。
    具体的には、「2.」で確認した接続したい仮想マシンの FQDN とポート番号を「FQDN:ポート番号」の形式で入力します。
    先ほどの例であれば
    hogehoge.cloudapp.net:64050
    となります。
  7. "Gateway" には RD Gateway を指定します。
    Azure 上の仮想マシンに RD Gateway 経由での接続が必要な場合は、入力欄をタップして指定を開始します。
    指定する Gateway の選択が表示されたら、"Add gateway" を選択します。Gateway の設定は後ほど説明します。
    RD Gateway 経由が必要かどうか不明な場合は、指定せず接続できるか試してみましょう。接続できないようであれば、下記の方法で RD Gateway を構成してください。
  8. "CREDENTIALS" には仮想マシンにログオンするための資格情報 (ユーザー名とパスワード) を入力しておきます。
    省略すると、接続時に資格情報を求められます。
  9. "Done" をタップすれば設定は完了です。

RD Gateway の設定は以下のように行います。

  1. "Gateway" で "Add gateway" を選択すると、次のような画面が表示されます。
    02
  2. "Gateway name" は表示名です。分かりやすい名前を付けておくと良いでしょう。
  3. "Server" に RD Gateway の URL を入力します。
    RD Gateway の URL は
    https://(上の手順の「2.」で確認した仮想マシンの FQDN):(ポート番号)になります。
    先ほどの例であれば
    https://hogehoge.cloudapp.net:64050/
    となります。
  4. "CREDENTIALS" には「8.」で指定したのと同じ資格情報を指定しておきます。
  5. "Done" をタップすれば設定は完了です。

作成した接続をタップすれば、リモート デスクトップ接続が開始されます。PC のリモート デスクトップ クライアントでの接続と同様にサーバーの証明書に関する警告が表示される場合がありますが、[Trust Once」(今回だけ信頼) か「Trust Always」(今後常に信頼) を選択すれば、接続が進行します。

Remote Desktop Client の利用方法については以下を参照してください。

※ (2014/9/29 追記) RD Gateway の設定は必須でないことが確認できましたので、その部分を訂正しています。

2014年7月18日

Windows へのスマートフォンの接続を禁止する

Filed under: Windows Tips — hebikuzure @ 3:06 PM

ベネッセの個人情報漏洩事件が世間を騒がせていますが、個人情報を持ち出すきっかけになったのは「スマートフォンを充電するためパソコンに専用ケーブルを通じて接続したら、偶然パソコンがスマートフォンを認識したためデータをコピーすることを思いついた」と報道されています。おそらく通常の USB メモリの接続は許可しない設定になっていたのでしょうが、残念ながら Windows Vista 以降の Windows とここ数年のスマート フォンの組み合わせでは、その設定では接続を禁止できません。

キャプチャ
※上掲図版はNHK ホームページ (http://www3.nhk.or.jp/news/html/20140718/k10013103401000.html) から引用

USB メモリの場合、サポート技術情報の「USB 記憶装置を使用できないようにする方法」やこちらの記事の「グループポリシーを利用したUSBメモリを制限する方法」などで使用を制限できるのですが、これらの方法は接続される USB フラッシュ メモリがマス ストレージ (大容量記憶域) として認識され、リムーバブル メディアとして利用できる場合にのみ有効です。古い携帯電話などでは内蔵のメモリや SD カードが Windows からはリムーバブル メディアとして認識されるので、接続を禁止するのにこの方法が利用できました。

しかし Windows Vista 以降の Windows とここ数年のスマート フォンの組み合わせの場合、スマートフォンは デジタルカメラ (PTP デバイス) やオーディオプレーヤー (MTP デバイス) として認識される場合があります。これらのデバイスは Windows 上では一括して「Windows Portable Devices (WPD)」として扱われます。スマートフォンを Windows PC に接続するのを禁止するには、この Windows Portable Devices の利用を禁止する必要があります。今回のベネッセのケースの場合、これが行われていなかったという事のようです。

Windows Portable Devices の接続を禁止する方法は、TaechNet ブログ「Ask CORE」の「グループ ポリシーを用いたデバイスのアクセス制御について」という記事に紹介されていました。具体的には Windows Portable Devices を示すデバイス セットアップ クラス {eec5ad98-8080-425f-922a-dabf3de3f69a} を利用して、グループ ポリシーでデバイスのインストールを禁止する方法です。

設定するグループ ポリシーは
コンピュータの構成 – 管理用テンプレート – システム – デバイスのインストール – デバイスのインストールの制限
です。この中の「これらのデバイス セットアップ クラス と一致するデバイスのインストールを禁止する」で上記のセットアップ クラス {eec5ad98-8080-425f-922a-dabf3de3f69a} を設定し、「既にインストール済みの一致するデバイスにも適用されます。」にチェックを入れます。このポリシーが適用されたクライアントでは、以降 Windows Portable Devices として認識されるデバイスが利用できなくなります。

01

02

なお、USB を含む様々なデバイスの制限方法やその際の注意事項については「グループポリシーを利用したUSBメモリを制限する方法」の記事中に解説がありますので、そちらも参照してください。

7/22 追記 : 設定するポリシーの名称が間違っていたので、訂正しています。スクリーンショットも差し替えました。

2014年5月29日

JScript.NET の環境を作成する

Filed under: Windows Tips — hebikuzure @ 5:27 PM


たぶんもう二度とやらないだろうけど、JScript.NET のコンパイル環境を作ったのでその手順のメモです。

JSオジサン 「俺の話を聞け、5分だけでもいい」 #2 (http://atnd.org/events/50606) のライトニング トーク「君よ知るや JScript.NET」のデモのために環境を作りました

  1. Windows 7 SP1 環境を用意します
    今回は Microsoft Azure の仮想マシンを A1 インスタンスで作成して利用しました
    仮想マシンを作成したら、Windows Update を実行して最新の状態にしておきましょう
  2. MSDN サブスクリプションから Visual Studio Professional 2005 DVD をダウンロードします
  3. ダウンロードしたファイルは ISO イメージなので、マウントするために Virtual CloneDrive をダウンロード / インストールします
  4. Virtual CloneDrive がインストールできたら、ダウンロードした ISO イメージをマウントします
  5. 自動実行でインストールを開始するか、ISO の vs フォルダー内の autorun.exe を実行してインストールを開始します
  6. 後は「Windows Vista に Visual Studio 2005 をインストールする方法」(http://support.microsoft.com/kb/936453/ja) の手順に従って、インストールを進めます
    Visual Studio 2005 –> Visual Studio 2005 SP1 –> Visual Studio 2005 Service Pack 1 Update for Windows Vista の順にダウンロードとインストールを繰り返します
  7. Visual Studio 2005 Service Pack 1 Update for Windows Vista のインストールが完了したら、環境の作成は完了です

JScript.NET のコンパイルと実行の手順も簡単にまとめます。

  1. JScript のソースコードを作成します。作成は Visual Studio IDE のコード エディタでも、メモ帳などのテキスト エディタでも何でも構いません。
  2. 作成したソースを .js の拡張子で保存します。
  3. [スタート] – [すべてのプログラム] – [Microsoft Visual Studio 2005] – [Visual Studio Tools] – [Visual Studio 2005 コマンド プロンプト] を開きます
  4. ソースを保存したディレクトリにカレントを移動します
  5. 以下のコマンドでソースをコンパイルします
    jsc (ソース ファイル名).js
  6. カレント ディレクトリに実行ファイルが作成されます。

流石にいまさら JScript.NET で何かやろうという事は無いので、デモが終わったら環境ごと仮想マシンを削除してしまうと思いますが、もしたしたら役立つことがあるかもしれないのでメモとして手順を残しておきます。

2014年5月1日

Adobe Reader XI で PDF をブラウザー内に表示しないための設定

Filed under: Windows Tips — hebikuzure @ 9:37 PM


Acrobat ヘルプ / PDF をブラウザーで表示 | Acrobat、Reader XI
http://helpx.adobe.com/jp/acrobat/using/display-pdf-browser-acrobat-xi.html


IE の脆弱性騒動で拡張保護モードを有効にしていると、Adobe PDF Reader ActiveX が実行できないので PDF ファイルへの直リンクをクリックすると拡張保護モードを無効にして ActiveX を利用するかどうか確認されるようになりました。ここで無効のままにすると PDF がダウンロードも表示もできないので、PDF ファイルをブラウザー内で開く設定自体を無効にしようと思い、Adobe Reader の設定を開いたのですが、以前のバージョンにはあった「PDF文書をWebブラウザーに表示」という設定がありません。

どうしたものかと思い、Adobe のヘルプを検索すると、この設定は Adobe Reader XI および Acrobat XI から廃止されたとの事。そしてその代わりに (IE では) Adobe PDF Reader ActiveX を無効にする方法が紹介されていました。Chrome や Firefox でも同様にプラグインを無効にする必要があります。

面倒だなあと思ってさらに調べると、こちらで大変有益な情報を見つけました。試してみると、確かに以下の手順で PDF をブラウザーで開く設定を無効にできます。

  1. Adobe Reader を起動します
  2. [編集] メニューから [アクセシビリティ] – [設定アシスタント] を選択します
  3. [アクセシビリティ設定アシスタント] が開くので、[次へ] をクリックしていきます
  4. 「画面 5/5」に [PDF文書をWebブラウザーに表示] があるので、チェックを外します
    無題
  5. [完了] をクリックして [アクセシビリティ設定アシスタント] を閉じます
  6. Adobe Reader を終了します

なんでこんな面倒な方法に変えてしまったんでしょうね。確かにブラウザーごとに PDF をインライン表示するかどうか選択できた方が良いかも、という気はしなくなくもありませんが…

Older Posts »

WordPress.com で無料サイトやブログを作成.

%d人のブロガーが「いいね」をつけました。