2016/06/18

いつの間にかRDPでGPUが使われるようになっていたというお話

ちゃんとブログを更新するのも久しぶりですね。
というのも、個人的にかなり驚きの事実を知りまして。

なんと、どーもRDP(リモート デスクトップ接続)時に
ホストに接続されているGPUが使われるようになってたみたいなんです。

何の気なしにローカル グループ ポリシーを眺めていたら、
リモート デスクトップ関連関連のポリシーに見慣れない項目を発見。

いつの間に追加されていたんだ……

いろいろと動作確認をしようと思い、
とりあえずAndroid端末(Nexus 6P)のRD Client Betaで接続して
何となくPSO2のベンチを回してみたところ……


…!?!?
RDP接続では見たこともないようなスコア。

DirectX 診断ツール(dxdiag.exe)から見るとこんな感じ。


一部制限がかかっているみたいですが、
RDP接続時おなじみの「RDPDD Chained DD」ドライバにはなっていません。

ゲーム用途に使えるかはともかく、
Google マップなどのハードウェア アクセラレーションを使って描画して欲しい
Webページを見るときなどには非常に有効なので、
RDP接続の快適度が高まったように感じました。


※環境詳細
OS:Windows 10 Pro 64bit版 Build 10586.318
GPU:GeForce 750Ti

Windows 10 で記憶域階層を構築する

Windows 10 で記憶域階層を構築する
Windows 10 での記憶域階層構築、とりあえずできたのでメモ。
ちゃんとした記事にするかは気分次第。

作業手順

ディスクの用意

ディスクの取得

# とりあえずすべての物理ディスクを取得してみる
PS C:\Windows\system32> Get-PhysicalDisk

FriendlyName         SerialNumber       CanPool OperationalStatus HealthStatus Usage            Size
------------         ------------       ------- ----------------- ------------ -----            ----
INTEL SSDSC2CW120A3  CVCV4245024L120BGN True    OK                Healthy      Auto-Select 111.79 GB
WDC WD20EFRX-68EUZN0 WD-WMC4M3024963    True    OK                Healthy      Auto-Select   1.82 TB
WDC WD20EFRX-68AX9N0 WD-WMC301416814    True    OK                Healthy      Auto-Select   1.82 TB
INTEL SSDSC2BP240G4  BTJR5212052W240AGN False   OK                Healthy      Auto-Select 223.57 GB
ST2000DM001-1CH164   Z1E2CK71           False   OK                Healthy      Auto-Select   1.82 TB
INTEL SSDSC2CW120A3  CVCV242006R5120BGN True    OK                Healthy      Auto-Select 111.79 GB

# 記憶域プールに追加できるディスクのみ取得
PS C:\Windows\system32> $Disks = Get-PhysicalDisk -CanPool $true

PS C:\Windows\system32> $Disks

FriendlyName         SerialNumber       CanPool OperationalStatus HealthStatus Usage            Size
------------         ------------       ------- ----------------- ------------ -----            ----
INTEL SSDSC2CW120A3  CVCV4245024L120BGN True    OK                Healthy      Auto-Select 111.79 GB
WDC WD20EFRX-68EUZN0 WD-WMC4M3024963    True    OK                Healthy      Auto-Select   1.82 TB
WDC WD20EFRX-68AX9N0 WD-WMC301416814    True    OK                Healthy      Auto-Select   1.82 TB
INTEL SSDSC2CW120A3  CVCV242006R5120BGN True    OK                Healthy      Auto-Select 111.79 GB

記憶域プールの作成

# 記憶域プールを作成
PS C:\Windows\system32> $Pool = New-StoragePool -FriendlyName StoragePool -PhysicalDisks @($Disks) -StorageSubSystemUniqueId (Get-StorageSubSystem).UniqueId

PS C:\Windows\system32> $Pool

FriendlyName OperationalStatus HealthStatus IsPrimordial IsReadOnly
------------ ----------------- ------------ ------------ ----------
StoragePool  OK                Healthy      False        False

メディアタイプの確認・変更

# 記憶域プールに含まれているディスクのメディアタイプを表示
PS C:\Windows\system32> $Pool | Get-PhysicalDisk | Format-Table FriendlyName,Size,MediaType

FriendlyName                  Size MediaType
------------                  ---- ---------
INTEL SSDSC2CW120A3   119185342464 SSD
WDC WD20EFRX-68EUZN0 1999575711744 HDD
WDC WD20EFRX-68AX9N0 1999575711744 UnSpecified
INTEL SSDSC2CW120A3   119185342464 SSD

# メディアタイプをHDDに設定
PS C:\Windows\system32> Get-PhysicalDisk -FriendlyName "WDC WD20EFRX-68AX9N0" | Set-PhysicalDisk -MediaType "HDD"

PS C:\Windows\system32> $Pool | Get-PhysicalDisk | Format-Table FriendlyName,Size,MediaType

FriendlyName                  Size MediaType
------------                  ---- ---------
INTEL SSDSC2CW120A3   119185342464 SSD
WDC WD20EFRX-68EUZN0 1999575711744 HDD
WDC WD20EFRX-68AX9N0 1999575711744 HDD
INTEL SSDSC2CW120A3   119185342464 SSD

階層の作成

# SSD階層を作成
PS C:\Windows\system32> $SSDTier = $Pool | New-StorageTier -FriendlyName SSDTier -MediaType SSD

# HDD階層を作成
PS C:\Windows\system32> $HDDTier = $Pool | New-StorageTier -FriendlyName HDDTier -MediaType HDD

階層のサイズ設定

# ライトバック キャッシュのサイズを設定
$WriteCacheSize = 1GB

# 記憶域プールに含まれる物理ディスクの容量を確認
PS C:\Windows\system32> $Pool | Get-PhysicalDisk | Format-Table MediaType,Size

MediaType          Size
---------          ----
SSD        119185342464
HDD       1999575711744
HDD       1999575711744
SSD        119185342464

# SSD階層のサイズを物理ディスクの9割 - ライトバック キャッシュのサイズに設定
$SSDSize = 119185342464 * 0.9 - $WriteCacheSize
# HDD階層のサイズを物理ディスクの9割に設定
$HDDSize = 1999575711744 * 0.9

記憶域の作成

# 記憶域の作成
PS C:\Windows\system32> $Pool | New-VirtualDisk -FriendlyName TieredStorage -ResiliencySettingName Mirror -StorageTiers@($SSDTier,$HDDTier) -StorageTierSizes @($SSDSize,$HDDSize) -WriteCacheSize $WriteCacheSize

記憶域のフォーマット

2015/11/19

Windows 10, Version 1511 (Build 10586) でWPA2-Enterpriseな無線LANに接続できない問題

たまには更新しないとせっかく開設した意味がなくなっちゃうので、
とりあえず調べたことをメモします。

Surface 3をリカバリしてWindows 10, Ver.1511にしたところ、
某所の無線LAN APに接続出来なくなってしまいました。
APの暗号化方式は WPA2-Enterprise 。

色々調べてみたところ、どうもVer.1511からTLSのバージョンが1.2になった模様。

どうもFreeRADIUSでTLS1.2で認証しようとするとバグを踏むっぽい…?
RADIUSサーバ側で何らかの対処を行うか、クライアント側でレジストリを書き換える必要があるみたいです。(書き換えについてはこちらを)

んー、知識と英語力が足りない……。
勉強しないとね。


参考元:

2015/04/13

全画面のリモートデスクトップ中にどのマシンに接続しているかを確認する方法

皆さん、リモートデスクトップ接続(mstsc.exe)使ってますか?

最近のRDP(Remote Desktop Protocol)は非常に強力で、ある程度の回線品質があればローカルマシンとほぼ変わらないエクスペリエンスを得ることが出来ます。

"ローカルマシンと変わらないエクスペリエンス"ということは、今自分が操作しているマシンがローカルマシンなのか、はたまたリモートなのか、リモートだとしてどのマシンなのか、本気で分からなくなります。(実体験)

今回はこの問題の解決方法について考えてみました。

案1. 壁紙を変更する

恐らくこの手法が最もポピュラーなのではないでしょうか。

さくっとググると、この方法が最もヒットします。(体感)

ですが、基本的に作業時は画面いっぱいにウィンドウを表示しているため壁紙は見えない上、壁紙を見るためにいちいち[Win] + [D]のような操作はしたくありません。

このため、この案は没

案2. BgInfoを利用する

皆さんはWindows Sysinternalsをご存知ですか?

ここにはWindowsを利用・管理する上で便利なツールがたくさん掲載されています。

このWindows Sysinternalsに掲載されているソフトウェアの1つがBgInfoです。

このBgInfoを用いると、ホスト名を始めとしたマシンの情報が壁紙に表示される様になり、非常に便利です。

…が、この方法も方法1と同じように壁紙を表示する必要があります。

このため、今回は没。

案3. テーマを変更する

次に考えたのが、テーマを変更する方法。
正確にはタスクバーの色を変更する方法です。

この方法であればいちいち壁紙を表示する必要が無いので、直ぐに判別することが可能です。

…が、Windows 8ではテーマがMicrosoft アカウントを介して同期されてしまい、さらに同期の設定をいちいち変更するのも面倒。
その上、接続するマシンが多くなればなるほど色を覚えるのも大変。

このため、この案も没

[MyBest]案4. タスクバーにホスト名を表示する

私が最後に考えたのがこの方法。

「(たいていの場合)常に表示されているタスクバーにホスト名を表示させればいいじゃないか!」という発想から生まれた案です。

どうやるかというと、タスクバーにツールバーとしてフォルダを表示するのと同じ手法です。

操作は簡単。

  1. タスクバーを右クリックし、「ツール バー」から「新規ツール バー」をクリック
  2. 適当な場所に新しいフォルダーを作成し、このフォルダーをホスト名にリネーム
  3. リネームしたらこのフォルダーを選択し、[フォルダーの選択]ボタンをクリック
この3ステップで、タスクバーにホスト名を表示される事が出来ます。

ホスト名を変更した場合は手動で反映させる必要がありますが、そんなことはまず無いはず。

わざわざサードパーティー製のソフトウェアを利用しなくて良いのも魅力です。


もしもマシンの判別でお困りの方がいらっしゃいましたら、是非。

2015/01/08

Google サイトにTwitter公式ウィジェットを挿入する - Google ドライブ利用版

管理面で少し面倒な部分があったので,自分のWebサイトをGoogle サイトに移行しました.

ここで躓いたのが,Twitterウィジェット.
Twitter公式のウィジェットは,そのままだとGoogle サイトに挿入できません.

調べるとGoogle Gadgets Editor(GGE)を利用する方法が出てくるのですが,フレームの中身が表示されず…….

色々と試行錯誤した結果,Google ドライブを利用する方法を思いつきました.

Twitter公式サイトでコードを生成

Twitter公式サイトの設定ページから,希望のウィジェットのコードを生成します.
このコードはメモ帳などにコピーしておきます.

コードをガジェット用XMLに

先ほどのコードをガジェット用のXMLにします.
こんな感じ.
<?xml version="1.0" encoding="UTF-8" ?>
<Module>
  <ModulePrefs title="<ガジェットの名前>" />
  <Content type="html">
    <![CDATA[
      <ここにTwitterで生成したコードを挿入>
    ]]>
  </Content>
</Module>

適当な名前(今回はtwitter.xmlにしました)で保存します.

Google ドライブに保存,共有

このセクションではGoogle ドライブのWebサイト上での操作になります. まず,先ほど作成したXMLファイルをGoogle ドライブにアップロードします.
アップロードが終わったらファイルを右クリックし,「共有...」→「詳細設定」の順にクリックします.
次に「変更」をクリックし,「オン - ウェブ上で一般公開」を選択して[OK]ボタンを押します.
さらに,「共有するリンク」のURLをコピーし,メモ帳などに貼り付けます.

URLの確認

先ほど貼り付けたURLを整形します.
"https://drive.google.com/file/d/<半角英数の文字列>/view?=usp=shar"を
"http://googledrive.com/host/<半角英数の文字列>"とし,ブラウザからアクセスします.
すると,別のURLにリダイレクトされ,XMLが表示されます.
XMLが表示されたこのURLを使います.

Google サイトにガジェットを挿入

最後にサイトにガジェットを挿入します.
挿入したいページの編集ページに入り,「挿入」から「その他のガジェット」を選択します.
「URLを指定してガジェットを追加」を選び.先ほどのXMLが表示されたURLを貼り付け,追加を押します.

あとは適宜サイズ等を指定すればGoogle サイトにTwitterガジェットが表示されます.

2015/01/07

VivoTab Note 8のタッチパネルが反応しなくなる問題 - 対処療法

愛用中のASUS VivoTab Note 8(M80TA)ですが,数日前から画面OFFからの立ち上げ時にタッチパネルが反応しなくなりました.
タッチペンは反応するので何とか操作はできるのですが,やはり不便です.

検索してみると,どうも同じ症状の人がいる様子.
修理で直るようですが,出すのも少し面倒なので解決法を模索し,書き留めました.

以下の手法は完全に対処療法な上,弊害が起こる可能性があります.もし実行される場合は自己責任で.

取りあえず再起動

まずはOSを疑い,再起動してみました.
起動直後は使えるのですが,画面がOFFになってからしばらくすると,また直ぐに反応しなくなりました.

デバイス マネージャーで状況を確認

まずは現状把握から,ということで,デバイス マネージャーを確認.

"!"マークが付いちゃってます.
詳細を確認してみると,
どうやら電源周りの様子……?

デバイスの無効化→有効化

デバイスをON/OFFしてみます.
デバイス マネージャーからタッチパネルを無効にし,再度有効にしてみました.
こうすると"!"が取れて再びタッチパネルが使えるようになりました.
しかし,これも画面がOFFになってからしばらくすると,また反応しなくなってしまいます.

<本題>無効化→有効化を自動化

上記の方法で反応するようにはなるものの,いちいちデバイス マネージャーを開いて操作するのは面倒です.
なので,画面がONになったら自動的に3の処理を行うようにしました.

Windows Driver Kitの導入

ドライバの有効化・無効化を行うに当たり,Windows Driver Kit(WDK)を導入する必要があります.
ここの「WDK 8.1 Update のダウンロード」から,「wdksetup.exe」をダウンロードし,そのままインストールします.
※正確にはこれに含まれるdevcon.exeが必要なので,容量が気になる場合は他のPCにWDKをインストールし,devcon.exeをコピーしてくるといった方法も可能です.

ハードウェアIDの確認

自動化するために,タッチパネルのハードウェアIDを確認します.
デバイス マネージャーの「I2C HID デバイス」をダブルクリックし,「詳細」タブを表示します.
次に「プロパティ」から「ハードウェアID」を選択し,表示させます.※右クリックメニューからコピー可能

タスクの作成

最後に自動化の要,タスクを作成します.
アプリ一覧から「タスク スケジューラ」をクリックし,起動します.
右側のウィンドウにある「タスクの作成」をクリックします.

「全般」タブ

名前には適当な名前を入力します.※今回自分はTouchPanel Resetにしました
次に,「セキュリティ オプション」という枠の中にある「最上位の特権で実行する」にチェックを入れます.

「トリガー」タブ

[新規]ボタンをクリックします.
入力欄には
タスクの開始 … イベント時
ログ … システム
ソース … Kernel-Power
イベントID … 507
と入力します.
全て入力したら[OK]ボタンをクリックします.※こうすると画面ON時に自動実行されるようになります

「操作」タブ

[新規]ボタンをクリックします.
入力欄には
プログラム/スクリプト … "C:\Program Files\Windows Kits\8.1\Tools\x86\devcon.exe"
引数の追加 … disable "確認したハードウェアID"
と入力します.この時,ハードウェアIDは必ず""で括ってください.
※これはWindows 8.1 32bit版のVivoTabにWDKをインストールした場合です.その他の場合はよしなに……
全て入力したら[OK]ボタンをクリックします.
さらに,同じように[新規]ボタンをクリックし,
プログラム/スクリプト … C:\Program Files\Windows Kits\8.1\Tools\x86\devcon.exe
引数の追加 … enable "確認したハードウェアID"
と入力します.
※こちらも32bit版にインストールした場合
入力が終わったら[OK]ボタンをクリックします.

「条件」タブ

「コンピュータをAC電源で使用している場合のみタスクを開始する」というチェックボックスをオフにします.

ここまでの作業が全て終わったら,「タスクの作成」ウィンドウの[OK]ボタンを押して,タスクを作成します.

これで画面ON時に自動的にタッチパネルが無効化→有効化され,常にタッチパネルが使えるようになるはずです.

2015/01/06

ブログ,始めました.

前々から技術的なネタを書き留めておくブログを作ろうとは思っていたのですが,中々腰が上がらず…….
ようやく今日立ち上げました.

これから少しずつ更新しようと思います.