2015/01/26

RemoteApp プログラムの「ファイルの種類の関連付け」ができない件(と /REMOTEFILE オプション)

Windows Server 2012 および 2012 R2 のリモート デスクトップ サービス (RDS) では、RD セッション ホストや仮想デスクトップにインストールされたアプリケーションを RemoteApp プログラムとして公開できます。

その際、「ファイルの種類の関連付け」を設定できるのですが、クライアントに関連付けが反映されないってトラブルありませんか?

2015/01/25

[暫定情報] Windows 10 Build 9926 でネットワーク プロファイルをパブリックからプライベートに切り替える

Windows の新しいバージョンが出るたびに、パブリックとして認識されてしまったネットワークをプライベートに切り替える方法で悩みます。

Windows 10 Build 9926 の場合は、コントロールパネルの[ホームグループ]から変更できました。パブリックからプライベートに変更すると、ホームグループが作成されちゃうので、不要なら[ホームグループへの参加の終了...] を。



ちなみに、これまでは...

[暫定情報] Windows 10 Build 9926 の Sysprep で致命的なエラーの件

Windows 10 Technical Preview for Enterprise Build 9926 の Hyper-V 用仮想マシン テンプレートを作ろうと、インストール直後に Sysprep を実行したのですが、「コンピューターの sysprep を実行中に致命的なエラーが発生しました。」となって失敗しました。

試行錯誤の末、ようやく成功する方法を見つけたのでメモ。ただし、これで 100%成功するかどうかはわからなので暫定的なメモってことで。

2015/01/23

リモートデスクトップ接続の Public モードについて

昨日の投稿に引き続き、リモートデスクトップ接続 (mstsc.exe) のあまり知られていないオプションの話。昨日は新しい /RestrictedAdmin オプションの話でしたが、今日は古くからある /Public オプションについて。拙著『Windows Server 2012 R2 テクノロジ入門 (p.574)』『Windows Server 2012 テクノロジ入門 (p.464)』のフォローアップを兼ねて...

2015/01/22

リモートデスクトップ接続の RestrictedAdmin モードが既定で無効に変わってた

Windows 8.1 および Windows Server 2012 R2のリモート デスクトップ サービスの新機能の 1 つに、RestrictedAdmin モード (制限付き管理モード) による接続機能があります。

What's New in Remote Desktop Services in Windows Server > RestrictedAdmin Mode Remote Desktop
[URL] https://technet.microsoft.com/ja-jp/library/dn283323.aspx#BKMK_Admin

知らない間にこの機能の対応 OS の拡大と、Windows 8.1 および Windows Server 2012 R2 におけるこの機能の既定の動作の変更が行われていました。

KB287199: マイクロソフト セキュリティ アドバイザリ: 資格情報の保護と管理を強化する更新プログラム (2014 年 5 月 13 日) 
[URL] https://support.microsoft.com/kb/2871997
※RDP 8.0 以降に対応した Windows 7、Windows 8、Windows Server 2008 R2、および Windows Server 2012 に対して、 RestrictedAdmin モードのサポートを追加する更新プログラム


KB2973351: マイクロソフト セキュリティ アドバイザリ: 2919355 更新プログラムがインストールされた Windows ベースのシステムで資格情報の保護と管理を強化するレジストリの更新(2014 年 7 月 8 日) 
[URL]  https://support.microsoft.com/kb/2973351
KB2975625: マイクロソフト セキュリティ アドバイザリ: 2919355 更新プログラムがインストールされていない Windows システムで資格情報の保護と管理を強化するレジストリの更新(2014 年 7 月 8 日) 
[URL]  https://support.microsoft.com/kb/2975625
※ RestrictedAdmin の有効化/無効化を行うための DisableRestrictedAdmin レジストリを提供する更新プログラム。Windows 8.1 と Windows Server 2012 R2 は、既定で RestrictedAdmin モードが無効になる(以前は既定で有効だった)。

この変更を知らずに、RestrictedAdmin モードを使おうとすると、“アカウントの制限により、このユーザーはサインインできません。空のパスワードが許可されていない、サインイン時間が制限されている、またはポリシーによる制限が適用されたなどの理由が考えられます。” と表示され...

2015/01/21

SMB のトランスポートでかつて利用できた Direct Hosting IPX の話

@IT さんの記事『ファイル共有プロトコル、SMBとCIFSの違いを正しく理解できていますか?(前編)』に出てくる、Direct Hosting IPX (NetBIOS over IPX (NBX, NBIPX) でないやつ) ですが、クライアント側は Windows 95 と Windows for Worgroups 3.11 まで、サーバー側は Windows Server 2003 R2 まで対応していたらしい。

現在の MS-CIFS に規定されている Direct Hosting は、Direct Hosting of SMB (Microsoft-DS) ではなく、こっちの古い Direct Hosting IPX のほう。IPX は、Novell NetWare の初期のコア プロトコルである IPX/SPX の下位 (ネットワーク層) のプロトコル。企業内 LAN では、TCP/IP よりも、NetBEUI よりも、IPX/SPX がメジャーだった時代もありました。

参考:
MSDN Library > [MS-CIFS]: Common Internet File System (CIFS) Protocol > 2.1.2.1 Direct IPX Transport
[URL] https://msdn.microsoft.com/en-us/library/ee442180.aspx

Description of Microsoft NWLINK IPX/SPX-Compatible Transport 
[URL]  http://support.microsoft.com/kb/203051
"NOTE: Windows 95 and Windows for Workgroups 3.11 use Direct Hosting by default. Windows NT Server 3.5 and later support Direct Hosting using the Server service only. "

MSDN Library > EnableWFW311DirectIPX
[URL] https://msdn.microsoft.com/ja-jp/library/cc757933(v=ws.10).aspx

今、Direct Hosting IPX を試そうとしても、クライアント環境を用意するのが大変ですが、この前復活した Windows 95 の仮想マシン (メモ: Microsoft Virtual PC で作成した WIN95 仮想マシンを Windows Virtual PC で...) と Windows Server 2003 R2 SP1 仮想マシンの組わせで試してみました。もはや何の役にもたたない情報ですが、Windows や SMB の歴史的な価値のある情報かと。

2015/01/20

cURL と SMB/CIFS

@IT さんの連載で SMB と CIFS の違いについて説明を試みています。今後の連載では、Windows で SMB 2/3 を無効にする方法や、SMB/CIFS と Linux、SMB/CIFS と Mac について説明していくつもりです。

ファイル共有プロトコル、SMBとCIFSの違いを正しく理解できていますか?(前編)
[URL] http://www.atmarkit.co.jp/ait/articles/1501/19/news092.html

以下の MS さんのブログを見ると、“CIFS-The ancient version of SMB that was part of Microsoft Windows NT 4.0 in 1996. SMB1 supersedes this version. ” “SMB 1.0 (or SMB1)-The version used in Windows 2000, Windows XP, Windows Server 2003 and Windows Server 2003 R2 ” と書いあります。これを見て ??? と感じた方は、@IT さんの私の記事を見てみてください。

Windows Server 2012 R2: Which version of the SMB protocol (SMB 1.0, SMB 2.0, SMB 2.1, SMB 3.0 or SMB 3.02) are you using?
[URL] http://blogs.technet.com/b/josebda/archive/2013/10/02/windows-server-2012-r2-which-version-of-the-smb-protocol-smb-1-0-smb-2-0-smb-2-1-smb-3-0-or-smb-3-02-you-are-using.aspx

ところで、今月、cURL の新バージョン 7.40.0 がリリースされました。cURL (カール)は、HTTP や HTTPS、FTP などのプロトコルでファイル転送を行うための、Linux や BSD ではお馴染みのコマンドライン ツールです。新バージョン 7.40.0 では、SMB/CIFS プロトコルのサポートが追加されたそうです。

cURL
[URL] http://curl.haxx.se/

openSUSE 13.2 で cURL 7.40.0 の smb:// への対応を確認しました。(Windows 版の cURL 7.40.0 だと、smb:// を使えないかも)


この cURL の SMB/CIFS プロトコルのサポートが言っている SMB/CIFS は何かというと、SMB ダイレクト NT LM 0.12 の SMB 1.0/CIFS のことでした。現在の SMB/CIFS の解釈に従った正しい表現です。以下のキャプチャを見るとわかるように、NT LM 0.12 より古いダイアレクトと、SMB 2.0 以降の新しいダイアレクトには対応していません。使用する TCP ポートは、Microsoft-DS (445/TCP) でした。


ソースコード (smb.c) を見ても、現時点では「NT LM 0.12」だけに対応していることがわかります。

static CURLcode smb_send_negotiate(struct connectdata *conn)
 {
   const char *msg = "\x00\x0c\x00\x02NT LM 0.12";
   return smb_send_message(conn, SMB_COM_NEGOTIATE, msg, 15);
 }


ソースコード (urldata.h) を見ると、NetBIOS Session (139/TCP) にも対応していないのがわかります。

#define PORT_SMB 445

cURL の TODO リスト を見ると、現在は、NTLMv1 にのみ対応し、NTLMv2 への対応は今後の予定だそうな。

追記)
Windows 版 (Win64 - Generic) の cURL 7.40.0 では smb:// を使えないようですが、Windows だと普通に SMB (SMB 1.0/CIFS より速い SMB 2.x 以降を含む) が使えるので、意図的に無効化されているのかもです。