ほげぐらまの別館

プログラムに限らずてきとーに、ね?

先日の記事に書いたように”FilterAdministratorToken”の値を修正することでモダンUI(WinRT)アプリケーションを管理者アカウントからでも利用することが可能になりました。もちろんこれで目的自体は達成されたのですが、では”FilterAdministratorToken”とは何か、という疑問になります。

 

因みに毎度言いますが私の英語力の低さはヤヴァイいので、間違っていたらごめんね・・・・。しかも英語文献を参照する場合は適当翻訳で分かった気になっているのですが、本気で翻訳するとかなり疲れるものだな・・・・と実感するばかりです。

 

Vista上で隠された”本当の”の管理者アカウントとは

WindowsXPにおいて”隠された”管理者アカウントはWindowsをPC上にインストールしたときに作成されます。一般的にそのパスワードはブランクとなっています。Vistaではこのシチュエーションに似たようなもので、基本的な一点を除けばです。それは、管理者アカウントが隠されているのではなく、無効化されている点になります。Vista上の管理者アカウントは全ての実行に於いて管理者特権を使いますが、”通常の”管理者とは異なり、VistaPC上にあなた自身が管理者を作成します。通常はだれかが一般ユーザー特権でPCを操作しますが、管理者レベルの操作が要求された場合はUACプロンプトにより管理者アカウントを求められます。

“本当の管理者アカウント”が標準で無効になって以降でこれらを使う場合は最初に有効化する必要があり、またそれを行うには”通常の”管理者としてログインしている場合にのみ変更が可能です。この方法はVistaのBusiness, Enterprise, Ultimateエディションに限られます。

例えば、それらのエディション上で可能な幾つかの方法の2つをしましょう。

■ 方法.1
[スタートメニュー]-[ファイル名を指定して実行]から”LUSRMGR.MSC”を入力します。UACプロンプトが表示されるので”OK”を選択します。するとローカルユーザーとグループのウィンドウが表示されます。左ペインの”ユーザー”をダブルクリックし、中央ペインで”Administrator”ダブルクリックします。新しいウィンドウが出現しますので、”アカウントを無効にする”のチェックを外します。

■ 方法.2
[スタートメニュー]-[ファイル名を指定して実行]から”SECPOL.MSC”を入力します。UACプロンプトが表示されるので”OK”を選択します。するとローカルユーザーとグループのウィンドウが表示されます。左ペインの”セキュリティの設定”-”ローカルポリシー”を開き、その配下の”セキュリティオプション”を選択します。”アカウント: Administrator アカウントの状態”が”無効”となっていることがわかります。同項目をダブルクリックし、新しく表示されたウィンドウで”有効”に変更します。そして”ユーザー アカウント制御: ビルトイン Administrator アカウントのための管理者承認モード”までスクロールダウンしましょう。そのセキュリティオプションは標準で”無効”となっていますが、ダブルクリックで表示されたウィンドウ上で”有効”変更ができます。

Vista Home Basic、及びHome Premium上では”LUSRMGR.MSC”及び、”SECPOL.MSC”のどちらも利用することができません。その為、それらの為に別の方法を提示しましょう。

■ 方法.3
[スタート]から”全てのプログラムを表示”で展開し、”アクセサリ”を表示します。”コマンドプロンプト”の上で右クリックを押し、”管理者として実行”を選択します。そしてプロンプトに以下を入力します。

net user Administrator /active:yes

Vista Home Basicエディションに関しては”REGEDIT.EXE”を管理者として実行し、レジストリエディタ上からレジストリの修正が必要となります。レジストリエディタを開いて、以下のエントリを修正します。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System

“FilterAdministratorToken”というDWORD値をダブルクリックし、”0″に設定します。

という流れから、方法.3の最後のレジストリ変更部分となるわけで、セキュリティポリシーの”ユーザー アカウント制御: ビルトイン Administrator アカウントのための管理者承認モード”を”有効”にする操作を行った事になります。確かにこれ以降はWindows8上で見なかったUACプロンプトが一部の操作で要求されるようになった気がします。

仕事の都合上でWindowsを深く触る、ということは頻度として少なくなったのですがWindows信者としてはちょっと奥を知ることができたのかな、と。この稀なるディープな記事でも何かの参考になれば幸いです。

最後に。方法.2で”SECPOL.EXE”を出していますが、直訳上の案内となり、もちろん使い慣れた”gpedit.msc”でも操作は可能です。レジストリを不用意に触るよりはこちらの方法が安全でしょう。

gpedit

最近どうにもやるゲームが無いな~と思いつつ王道(?)のRPGをやってみたいな、と。そして先日購入したのがSTINGの『エクシズ・フォルス』 評価もそこそこ良くダウンロードコンテンツで2,800円だったかな。主人公が2人からの選択制で本日15時間のプレイを経て♀主人公をクリアしました。

プレイ感想はどこぞのレビューを見れば書いてあると思われるので割愛。強いて言えば神器・霊器という2つの武器区分があるのですが、結局『神器のみ』でクリアしてしまい、別に霊器っていらないんぢゃない?と。実は防具もラスボス直前1時間で合成作成したのみ、とか。

それよりも特筆すべきはサウンドが良いに尽きるということ。もちろん過去の強者サウンド(SoundTeMP, Falcom Sound Team JDKなど)とは比べると全体的な質は見劣りするものの、個別の楽曲では素晴らしいものがちらほら。というわけで、サウンドトラックを即刻Amazonで注文と。

※ Windows Live Writer用 Amazon Associate JP Pluginがエラーで落ちるので今回はAmazletを使用してみるテスト

エクシズ・フォルス オリジナル・サウンドトラック
ゲーム・ミュージック
コロムビアミュージックエンタテインメント (2009-11-18)

私の環境ではActiveDirectory(ドメイン)環境を使っていて、参加ユーザーが自分一人なだけに常にDomain Admin権限のユーザーを使っています。Windows 8を入れてずっと困っていたことがシステムからAdministrator権限相当のユーザーと判定されるとメトロUI(WinRT)アプリケーションが起動できないようにされています。

WinRT-error

このアプリを開けません

ビルドイン Administratorアカウントを使って、○○○を開けません。別のアカウントでサインインしてやり直してください。

この理不尽なメッセージで何度心が折れたことか・・・・。と2ヵ月間悩んでいましたが、こちらの記事にその解決方法が書かれていました。(※英語で探しても見当たらなかっただけに感謝感激です!)

情報を提示してくだったとよピーさんによれば HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\FilterAdministratorToken (DWORD) の値を”1”にすれば良いとのこと。そして、再起動後に・・・・

WinRT-store

 

ようやく使うことができました・・・。今までWindows8のスタート画面が全く機能していなかったのですが、初めて価値が生まれたという感じです。メールもばっちり機能しましたのでようやくAl-Mailとお別れ・・・・があるのかな。

最後に、リモートデスクトップ(RemoteFX)からゲームを起動してみたところ・・・・

game

ばっちりですね。フル画面転送なので凄まじく重いですが!!、とりあえずほぼ全ての機能が仮想PC上へシフトできたかな、というところです。ローカルはほぼほぼ整ったので後は外部環境の設定の詰めかな。

追記: “FilterAdministratorToken”について調べてみた

特にこれといって複雑なものでもないですが、Windows Server 2012 (UEFI)上にあるWindows 8のvhdxをVHDブートする設定のメモ書き、です。

bcdedit /export “C:\bcdedit.backup”
bcdedit /create /d “Windows 8 Enterprise – VHD” /application osloader

 

bcdedit /set <UUID> device vhd=”[D:]\hyper-v\Windows 8\Virtual Hard Disks\system.vhdx”
bcdedit /set <UUID> osdevice vhd=”[D:]\hyper-v\Windows 8\Virtual Hard Disks\system.vhdx”
bcdedit /set <UUID> path \Windows\system32\winload.efi
bcdedit /set <UUID> systemroot \Windows
bcdedit /set <UUID> locale ja-JP
bcdedit /set <UUID> detecthal yes

bcdedit /displayorder <UUID> /addlast

注意すべき点は赤文字の部分、vhd側のブートパスもefiを使用します。手っ取り早いのは既存の構成をコピーして、device, osdeviceの部分を上書きするという方法が良いかもしれません。後、何気に書いていますがvhdx(Windows Server 2012移行でサポートされる仮想HDDイメージファイル)でも普通に起動できます。

これが出来ないと私の場合は iPod Touch / iPad のWi-Fi同期が行えないので、ミュージックなどのコンテンツを更新できないクリティカルな部分でしたが無事行えてほっとしています。

※ RemoteFX USB RedirectでもiTunesは正常認識しないよ・・・・!!

ってことで、これからもHyper-V + RemoteFX生活は続きます。

前回のBlog、「Windows Server 2012 Hyper-V + RemoteFX環境について」で反省したことはHyper-Vならまだしも、RemoteFXのような一般には用いられないであろう機能を使用すると通常のエディションではサポート外になり得るということ、でした。サポートして欲しいのですけどね、心の底から。

そんなわけで、Windows 8系列で十分ではあったもののクライアント側は Enterprise Editionという企業向けエディションを選択しています。このEnterprise Editionがそもそもボリュームライセンス版(以下、VL版)である事を知らず、ライセンス認証で意味不明なエラーに遭遇しましたので解決方法を記載しておきます。(あくまで参考程度に、正しくはライセンス認証窓口の方に聞くと良いでしょう)

VL版はインストール時にプロダクトコードを入力しない製品なのでそのままライセンス認証を行ってもエラーが返ってきます。そのエラーがお得意の意味不明なエラーで・・・・

0x8007232B – DNS名がありません

こちらのエラーがでたら、以下のようにして正しいプロダクトコードを入力します。

  1. Windowsキー + R で「ファイル名を指定して実行」を表示
  2. “slui.exe 3”を入力して、ライセンスコードの入力画面を表示
  3. 正しいプロダクトコードを入力後にライセンス認証を実行
  4. ライセンスが認証されたら Windowsキー + Pause + Break でライセンス認証が正常に終了していることを確認

 

slui.exeに関して初耳だったのですが、オプションで 3 を指定することで任意のプロダクトコードに切り替えられるようですね。ってことで今後も使うかもしれないコマンドなのでφ(。。)メモメモ