Category Archives: Windows

PowerShellスクリプト(ps1)を実行しやすくする


PowerShellスクリプト(ps1)に対して、ファイルをドラッグ&ドロップしてもファイルを認識して実行してくれない。

また、そもそもPowerShellスクリプトを実行しようとしても、下記のエラーで実行ができない。

PS C:\Users\osakanataro\Documents\powershell> .\powershelltest.ps1
スクリプトの実行がシステムで無効になっているため、ファイル C:\Users\osakanataro\Documents\powershell\powershelltest.ps1 を読み込めません。詳細については、「get-help about_signing」と入力してヘルプを参照してください。
発生場所 行:1 文字:25
+ .\powershelltest.ps1 <<<<
    + CategoryInfo          : NotSpecified: (:) &#91;&#93;、PSSecurityException
    + FullyQualifiedErrorId : RuntimeException
PS C:\Users\osakanataro\Documents\powershell> 

回避方法は下記の2つを行う、ということ
・バッチファイル経由でPowerShellを起動する
・うまく行かない場合は、管理者権限でバッチファイルを起動する

今回使用したバッチファイルは下記の内容とした

@echo off
rem PowerShellスクリプトの実行が禁止されている場合に
rem このバッチファイルを管理者権限で動作させると
rem PowerShellスクリプトが実行できます。
powershell -sta -ExecutionPolicy Unrestricted -File %0\..\powershelltest.ps1 %*

powershell起動時に「-sta」オプションをつけているのは、powershellからフォームダイアログを開こうとすると、下記のエラーがでてしまうことを回避するため。
powershell-sta

なお、詳細を開くと下記の情報が出力されている

Just-In-Time (JIT) デバッグを呼び出すための詳細については、
ダイアログ ボックスではなく、このメッセージの最後を参照してください。
************** 例外テキスト **************
System.InvalidOperationException: DragDrop 登録は成功しませんでした。 ---> System.Threading.ThreadStateException: OLE が呼び出される前に、現在のスレッドが Single Thread Apartment (STA) モードに設定されていなければなりません。Main 関数に STAThreadAttribute が設定されていることを確認してください。
   場所 System.Windows.Forms.Control.SetAcceptDrops(Boolean accept)
   --- 内部例外スタック トレースの終わり ---
   場所 System.Windows.Forms.Control.SetAcceptDrops(Boolean accept)
   場所 System.Windows.Forms.Control.OnHandleCreated(EventArgs e)
   場所 System.Windows.Forms.ListBox.OnHandleCreated(EventArgs e)
   場所 System.Windows.Forms.Control.WmCreate(Message& m)
   場所 System.Windows.Forms.Control.WndProc(Message& m)
   場所 System.Windows.Forms.ListBox.WndProc(Message& m)
   場所 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   場所 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** 読み込まれたアセンブリ **************
mscorlib
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.5485 (Win7SP1GDR.050727-5400)
    コードベース: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
----------------------------------------
Microsoft.PowerShell.ConsoleHost
    アセンブリ バージョン: 1.0.0.0
    Win32 バージョン: 6.1.7600.16385
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.PowerShell.ConsoleHost/1.0.0.0__31bf3856ad364e35/Microsoft.PowerShell.ConsoleHost.dll
----------------------------------------
System
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.8686 (QFE.050727-8600)
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Management.Automation
    アセンブリ バージョン: 1.0.0.0
    Win32 バージョン: 6.1.7601.17514
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/System.Management.Automation/1.0.0.0__31bf3856ad364e35/System.Management.Automation.dll
----------------------------------------
Microsoft.PowerShell.Commands.Diagnostics
    アセンブリ バージョン: 1.0.0.0
    Win32 バージョン: 6.1.7601.17514
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.PowerShell.Commands.Diagnostics/1.0.0.0__31bf3856ad364e35/Microsoft.PowerShell.Commands.Diagnostics.dll
----------------------------------------
System.Core
    アセンブリ バージョン: 3.5.0.0
    Win32 バージョン: 3.5.30729.5420 built by: Win7SP1
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/System.Core/3.5.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Configuration.Install
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.5483 (Win7SP1GDR.050727-5400)
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration.Install/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.Install.dll
----------------------------------------
Microsoft.WSMan.Management
    アセンブリ バージョン: 1.0.0.0
    Win32 バージョン: 6.1.7601.17514
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.WSMan.Management/1.0.0.0__31bf3856ad364e35/Microsoft.WSMan.Management.dll
----------------------------------------
System.Transactions
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.5483 (Win7SP1GDR.050727-5400)
    コードベース: file:///C:/Windows/assembly/GAC_64/System.Transactions/2.0.0.0__b77a5c561934e089/System.Transactions.dll
----------------------------------------
Microsoft.PowerShell.Commands.Utility
    アセンブリ バージョン: 1.0.0.0
    Win32 バージョン: 6.1.7601.17514
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.PowerShell.Commands.Utility/1.0.0.0__31bf3856ad364e35/Microsoft.PowerShell.Commands.Utility.dll
----------------------------------------
Microsoft.PowerShell.Commands.Management
    アセンブリ バージョン: 1.0.0.0
    Win32 バージョン: 6.1.7601.17514
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.PowerShell.Commands.Management/1.0.0.0__31bf3856ad364e35/Microsoft.PowerShell.Commands.Management.dll
----------------------------------------
Microsoft.PowerShell.Security
    アセンブリ バージョン: 1.0.0.0
    Win32 バージョン: 6.1.7601.17514
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.PowerShell.Security/1.0.0.0__31bf3856ad364e35/Microsoft.PowerShell.Security.dll
----------------------------------------
Microsoft.PowerShell.ConsoleHost.resources
    アセンブリ バージョン: 1.0.0.0
    Win32 バージョン: 6.1.7600.16385
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.PowerShell.ConsoleHost.resources/1.0.0.0_ja_31bf3856ad364e35/Microsoft.PowerShell.ConsoleHost.resources.dll
----------------------------------------
System.Xml
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.5494 (Win7SP1GDR.050727-5400)
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Management
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.5483 (Win7SP1GDR.050727-5400)
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/System.Management/2.0.0.0__b03f5f7f11d50a3a/System.Management.dll
----------------------------------------
System.DirectoryServices
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.5483 (Win7SP1GDR.050727-5400)
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/System.DirectoryServices/2.0.0.0__b03f5f7f11d50a3a/System.DirectoryServices.dll
----------------------------------------
System.Management.Automation.resources
    アセンブリ バージョン: 1.0.0.0
    Win32 バージョン: 6.1.7600.16385
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/System.Management.Automation.resources/1.0.0.0_ja_31bf3856ad364e35/System.Management.Automation.resources.dll
----------------------------------------
Microsoft.WSMan.Management.resources
    アセンブリ バージョン: 1.0.0.0
    Win32 バージョン: 6.1.7601.17514
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.WSMan.Management.resources/1.0.0.0_ja_31bf3856ad364e35/Microsoft.WSMan.Management.resources.dll
----------------------------------------
mscorlib.resources
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.5485 (Win7SP1GDR.050727-5400)
    コードベース: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
----------------------------------------
Microsoft.PowerShell.Security.resources
    アセンブリ バージョン: 1.0.0.0
    Win32 バージョン: 6.1.7601.17514
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.PowerShell.Security.resources/1.0.0.0_ja_31bf3856ad364e35/Microsoft.PowerShell.Security.resources.dll
----------------------------------------
System.Data
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.8692 (QFE.050727-8600)
    コードベース: file:///C:/Windows/assembly/GAC_64/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Windows.Forms
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.5491 (Win7SP1GDR.050727-5400)
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.5495 (Win7SP1GDR.050727-5400)
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
Accessibility
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.5483 (Win7SP1GDR.050727-5400)
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
System.Windows.Forms.resources
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.5420 (Win7SP1.050727-5400)
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_ja_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------
************** JIT デバッグ **************
Just-In-Time (JIT) デバッグを有効にするには、このアプリケーション、
またはコンピュータ (machine.config) の構成ファイルの jitDebugging
値を system.windows.forms セクションで設定しなければなりません。
アプリケーションはまた、デバッグを有効にしてコンパイルされなければ
なりません。
例:
<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>
JIT デバッグが有効なときは、このダイアログ ボックスで処理するよりも、
ハンドルされていない例外はすべてコンピュータに登録された
JIT デバッガに設定されなければなりません。

GOLE2のクラウドファウンディングが開始されるも変態度が激下がり


5月に「中華ベンダGOLE社のGOLE1というタッチパネル付きミニPC」という記事でGOLE1のクラウドファウンディングを紹介しました。
これは無事出荷されました。

で・・・6月にはGOLE2を企画してるよ、との発言があり、どうなるかな?と思っていたところ
ついに、クラウドファウンディングが開始されました。

GOLE2, The real Mini PC with FHD wide-angle camera
gole2-1

・タッチパネルを廃止
・TVの横に置いて使うことを想定
・カメラを装備
・Intel Z8350搭載のWindows10モデルと、Allwinner A64搭載のAndroidモデルの2つを用意
・2.5インチHDD/SSD内蔵可能
・日本語マニュアル付き

Androidモデル・・・とはいっても、正確にはAOSPベースの「Phonenix OS」を採用(JideのRemixOSと似たようなもんです)

価格は
・Phoenix OSモデル(Orange): $69(100個限定),$79(200個限定),$89(300個限定),$99
・Windows10モデル(White or Black): $114(50個限定), $124(100個限定),$134(200個限定)

うーーーーん・・・・
それほど・・・コレといって・・・

ASUS Eee PC 1215NにWindows10をインストールする


ジャンク4500円で入手したASUS Eee PC 1215NにWindows10をインストールした。

Windows10標準インストール完了後の状態では、ドライバがいくつか足りないので、追加する必要がある。

その0:Intel Graphics Media Accelerator 3150ドライバ
Windows10標準ドライバでは画面解像度がおかしな状態となっている。
Windows Updateで最新版のドライバがインストールされ、おかしな状態は解消されるので、画面解像度については直さず、そのままWindows Updateを実施すること。

その1:Nvidia IONドライバ
NVIDIAドライバダウンロードページ」の[ION]-[ION(Notebook)]-[Windows Vista 32bit or 64bit]-[Graphic Drivers]で検索して出てくるWindows10用のドライバでは、サポートされていないデバイスとなり、ドライバのインストールに失敗する。

いろいろ探したところ、「Nvida ION windows 10 64Bit Driver for ASUS 1215N」にGEFORCE R304 DRIVER (version 306.97)の「32bit用」「64bit用」であれば対応しているという情報を発見。
インストールしてみたところ、認識されたようでドライバが設定された。

駄目だったバージョン:310.90のwin8~vista用, 341.95のwin8~vista用とwin10用, 347.88のwin8/win7用

その2:タッチパッドドライバ
ASUS Eee PC 1215Nドライバー&ツール」から「Windows7 32bit or 64bit」の「タッチパッド」にある「TP_Synaptics_v14_0_16_C.zip」をインストール。
これをやらないと、次のATK(KBFilter)でタッチパッドのドライバが見付からないというエラーメッセージが表示されてしまう。
ただ、これを入れると、ホットキー操作が微妙な動作に・・・

その3:ホットキー操作用ドライバ
ASUS Eee PC 1215Nドライバー&ツール」から「Windows7 32bit or 64bit」の「ATK」にある「KBFilter.zip」をインストール。
AsusSetup.exeを普通に実行するとサポートしていないバージョンだと言われてインストールできない。
32bitの場合はWin7\AsusSetup.exe、64bitの場合はWin764\AsusSetup.exeのプロパティで互換性をWindows7に設定してから実行する。
前述のタッチパッドドライバをインストールせず、こちらのドライバだけをインストールした場合は、ホットキー操作の際にちゃんと画面上に操作したキーに関するグラフィックが表示された。
しかし、起動時にタッチパッドドライバがインストールされていないというメッセージが出てしまう。

その4:CPUの動作切り替えソフト
ASUS Eee PC 1215Nドライバー&ツール」から「Windows7 32bit or 64bit」の「ユーティリティ」にある「Super Hybrid Engine(SupHybridEngine-V2_13.zip)」をインストール。
これもAsusSetup.exeを普通に実行するとサポートしていないバージョンだと言われてインストールできない。
SuperHybridEngine_2.13.exeのプロパティで互換性をWindows7に設定してから実行する。

その5:カメラアプリ
ASUS Eee PC 1215Nドライバー&ツール」から「Windows7 32bit or 64bit」の「ユーティリティ」にある「YouCam Utility(YouCam-V2_0.zip)」をインストール。

さて・・・これで一通りインストールが出来た。
IONの威力でも試してみるか!と、さしあたって、ドラクエXベンチを起動・・・
エラーで起動できませんでした・・・・・・・
SuperHybridEngine UtilityでPerformance設定にしてみても状況は変わらず。
ION切り替えのあたりの問題っぽいんだけどなぁ・・・


「NVIDIA Optimus」で検索

Hone.のたま~に戯言「Windows10でnVidia Optimusが動かない場合の一時しのぎ技」に347.88-notebook-win8-win7-64bit-international-whqlはいける、というような記載がある。
GEFORCE GAME READY DRIVER 347.88「64bit版」「32bit版」が該当っぽいが、製品サポートリストが駄目っぽい雰囲気が・・・

みむらの手記手帳「VAIO Z VPCZ1 のグラフィクス機能を Optimus Technology を用いて動かす。
nVidiaドライバのinfファイルを書き換えて、強制的に認識させてドライバを適用するという手法。
署名を無視する設定にしなければならないが、これをすると地デジチューナーのアプリなどがうまく動かなくなる恐れあり

GEFORCE GAME READY DRIVER 341.81 64bit版」の製品サポートリストに「ION(Notebook)」があるが動くのか?
少なくともVAIOとFujitsu製品はサポート対象外らしい
リリースノートを読むと「NVIDIA Optimus technology is supported」だけど、「Hybrid Power technology is no longer supported.」という記述が・・・しかし、Hybrid Power technologyはNVIDIA Optimus technologyの前世代の技術のことのようなので、サポートされていなくても問題はなさそうだ。


ドラクエXが起動しない件は、nVidiaコントロールパネルの「3D設定」-「3D設定の管理」の「プログラム設定」にて、ドラクエベンチマークのexeファイルを指定して「高パフォーマンスNVIDIAプロセッサ」を使用する設定とすることで起動し、ベンチマークを取得することができた。

グラフィック設定:標準
解像度:640×480
表示方法:フルスクリーン
結果「評価:重い」「スコア:(1回目:1263),(2回目:1260)」

グラフィック設定を低品質に変えても「スコア:1351/重い」でした。

Samba 4.4.xでActive Directoryを1から立てる


2014年2月、samba 4.1.xが最新だった時代に「Samba 4.xでActive Directoryを1から立てる」という記事を書いてから2年。
現状の最新はsamba 4.4.5となっている。

現在もこの手順で問題無いかの確認をした。
結論としては、必須パッケージが列挙されているところが改善され、抜けていたところもちゃんと含まれるようになっていた、という以外は、まったく同じ状態で実行できた。


Linux上でSambaを使ってActive Directoryサーバを立てるメリット
Windows Serverを買わなくてもActive Directoryを作れる
 ライセンス費用の低減
Active Directoryユーザの作成などのユーザ管理をWindowsマシンからWindows標準ツールで行える
 ユーザ作成/変更、コンピュータアカウントの作成、DNS管理など、Active Directoryの管理を行う際に
 良く使う動作については、Linuxのコマンドではなく、WindowsのActive Directory管理ツールで行える
 具体的にはADに参加しているWindowsマシンにWindows機能のActive Directory管理ツールを追加インストールしたあと、
 ADの管理者ユーザでログオンすることでAD管理を行うことができる
設定が難しくない
 いまのsambaは、DNSサーバとLDAPサーバ機能が統合されており、AD名とAD上の役割と
 管理者パスワードを決めてしまえば、あとは良きに計らってくれるので
 設定の難易度が非常に低い

ちなみに、デメリット、もあります
ActiveDirectoryの全機能が搭載されていない
 ドメイン/フォレストの機能レベルが「Windows Server 2008 R2」までとなっている。
 さらに、Failoverクラスタを作成する際に必要な機能、とかが実装されていない。

それでは、実際の手順について・・・
元ネタは公式ページの「Setup a Samba Active Directory Domain Controller」となります。

0. CentOS6の最小インストールを実施

1. /etc/hostsの修正
自ホスト名を/etc/hostsに追加
追加の際は、ショートのホスト名と、ドメイン付きのFQDNの両方を列挙すること。

[root@adserver ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
172.17.44.40    adserver adserver.adosakana.local
[root@adserver ~]#

2. 好みに応じて使うツールをインストール
セッションが途中で切れても良い様に「screen」と、ファイルダウンロードするためにwget(curlでもいいのですが)をインストールします。

[root@adserver ~]# yum install wget screen
<略>
[root@adserver ~]#

3. 必要なパッケージをインストール
Samba公式の「Operating system requirements/Dependencies – Libraries and programs」に記載されているパッケージをインストール

[root@adserver ~]# yum install perl gcc attr libacl-devel libblkid-devel \
    gnutls-devel readline-devel python-devel gdb pkgconfig \
    krb5-workstation zlib-devel setroubleshoot-server libaio-devel \
    setroubleshoot-plugins policycoreutils-python \
    libsemanage-python perl-ExtUtils-MakeMaker perl-Parse-Yapp \
    perl-Test-Base popt-devel libxml2-devel libattr-devel \
    keyutils-libs-devel cups-devel bind-utils libxslt \
    docbook-style-xsl openldap-devel autoconf python-crypto pam-devel
<略>
[root@adserver ~]#

4. sambaのtar.gzをダウンロード

[root@adserver ~]# wget https://download.samba.org/pub/samba/stable/samba-4.4.5.tar.gz
--2016-xx-xx xx:xx:xx--  https://download.samba.org/pub/samba/stable/samba-4.4.5.tar.gz
download.samba.org をDNSに問いあわせています... 144.76.82.156
download.samba.org|144.76.82.156|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 20715838 (20M) [application/gzip]
`samba-4.4.5.tar.gz' に保存中
100%[======================================>] 20,715,838   390K/s 時間 60s
2016-xx-xx xx:xx:xx (338 KB/s) - `samba-4.4.5.tar.gz' へ保存完了 [20715838/20715838]
[root@adserver ~]#

5. configure実施

[root@adserver ~]# tar xfz samba-4.4.5.tar.gz
[root@adserver ~]# cd samba-4.4.5
[root@adserver samba-4.4.5]# ./configure
<略>
[root@adserver samba-4.4.5]#

6. make &amp make install

[root@adserver samba-4.4.5]# make
<略>
[3956/3956] Generating man/nmblookup4.1
Note: Writing nmblookup4.1
Waf: Leaving directory `/root/samba-4.4.5/bin'
'build' finished successfully (23m25.531s)
[root@adserver samba-4.4.5]# make install
<略>
* installing bin/default/pidl/Parse::Pidl::Wireshark::NDR.3pm as /usr/local/samba/share/man/man3/Parse::Pidl::Wireshark::NDR.3pm
Waf: Leaving directory `/root/samba-4.4.5/bin'
'install' finished successfully (6m26.187s)
[root@adserver samba-4.4.5]#

7. インストール完了確認

sambaのバージョン確認

[root@adserver ~]# /usr/local/samba/sbin/samba -V
Version 4.4.5
[root@adserver ~]#

8. Active Directoryのセットアップ
ドメイン「adosakana.local」を作成します。
また、sambaの機能を使ってAD DNSを構築するので「SAMBA_INTERNAL」を選択します。

なお、「–use-rfc2307」はADにNIS連携機能を追加するオプションです。AD上にUnix用のUID/GID/shell情報なども格納できるようにします。Samba環境では有効にしておくべきものです。

[root@adserver ~]# /usr/local/samba/bin/samba-tool domain provision --use-rfc2307 --interactive
Realm [ADOSAKANA.LOCAL]:
 Domain [ADOSAKANA]:
 Server Role (dc, member, standalone) [dc]:
 DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]:
 DNS forwarder IP address (write 'none' to disable forwarding) [172.30.50.100]:
Administrator password:
Retype password:
Looking up IPv4 addresses
Looking up IPv6 addresses
No IPv6 address will be assigned
Setting up share.ldb
Setting up secrets.ldb
Setting up the registry
Setting up the privileges database
Setting up idmap db
Setting up SAM db
Setting up sam.ldb partitions and settings
Setting up sam.ldb rootDSE
Pre-loading the Samba 4 and AD schema
Adding DomainDN: DC=adosakana,DC=local
Adding configuration container
Setting up sam.ldb schema
Setting up sam.ldb configuration data
Setting up display specifiers
Modifying display specifiers
Adding users container
Modifying users container
Adding computers container
Modifying computers container
Setting up sam.ldb data
Setting up well known security principals
Setting up sam.ldb users and groups
Setting up self join
Adding DNS accounts
Creating CN=MicrosoftDNS,CN=System,DC=adosakana,DC=local
Creating DomainDnsZones and ForestDnsZones partitions
Populating DomainDnsZones and ForestDnsZones partitions
Setting up sam.ldb rootDSE marking as synchronized
Fixing provision GUIDs
A Kerberos configuration suitable for Samba 4 has been generated at /usr/local/samba/private/krb5.conf
Setting up fake yp server settings
Once the above files are installed, your Samba4 server will be ready to use
Server Role:           active directory domain controller
Hostname:              adserver
NetBIOS Domain:        ADOSAKANA
DNS Domain:            adosakana.local
DOMAIN SID:            S-1-5-21-98280047-2622333268-1688910966
[root@adserver ~]#

9. sambaを起動

[root@adserver ~]# ps -ef|grep samba
root     26275  6434  0 14:20 pts/0    00:00:00 grep samba
[root@adserver ~]# /usr/local/samba/sbin/samba
[root@adserver ~]# ps -ef|grep samba
root     26277     1 66 14:20 ?        00:00:00 /usr/local/samba/sbin/samba
root     26278 26277  2 14:20 ?        00:00:00 /usr/local/samba/sbin/samba
root     26279 26277  2 14:20 ?        00:00:00 /usr/local/samba/sbin/samba
root     26280 26278 44 14:20 ?        00:00:00 /usr/local/samba/sbin/smbd -D --option=server role check:inhibit=yes --foreground
root     26281 26277  1 14:20 ?        00:00:00 /usr/local/samba/sbin/samba
root     26282 26277  0 14:20 ?        00:00:00 /usr/local/samba/sbin/samba
root     26283 26277 35 14:20 ?        00:00:00 /usr/local/samba/sbin/samba
root     26284 26277  0 14:20 ?        00:00:00 /usr/local/samba/sbin/samba
root     26285 26277  2 14:20 ?        00:00:00 /usr/local/samba/sbin/samba
root     26286 26277  2 14:20 ?        00:00:00 /usr/local/samba/sbin/samba
root     26287 26277  1 14:20 ?        00:00:00 /usr/local/samba/sbin/samba
root     26288 26277  0 14:20 ?        00:00:00 /usr/local/samba/sbin/samba
root     26289 26287 25 14:20 ?        00:00:00 /usr/local/samba/sbin/winbindd -D --option=server role check:inhibit=yes --foreground
root     26290 26277  0 14:20 ?        00:00:00 /usr/local/samba/sbin/samba
root     26291 26277  4 14:20 ?        00:00:00 /usr/local/samba/sbin/samba
root     26292 26277  1 14:20 ?        00:00:00 /usr/local/samba/sbin/samba
root     26294 26291  0 14:20 ?        00:00:00 python /usr/local/samba/sbin/samba_dnsupdate
root     26295 26291  0 14:20 ?        00:00:00 python /usr/local/samba/sbin/samba_spnupdate
root     26297  6434  0 14:20 pts/0    00:00:00 grep samba
[root@adserver ~]#

10.動作確認
CentOS内部からSMB接続を行うテストを実施。

[root@adserver ~]# /usr/local/samba/bin/smbclient --version
Version 4.4.5
[root@adserver ~]# /usr/local/samba/bin/smbclient -L localhost -U%
Domain=[ADOSAKANA] OS=[Windows 6.1] Server=[Samba 4.4.5]
        Sharename       Type      Comment
        ---------       ----      -------
        netlogon        Disk
        sysvol          Disk
        IPC$            IPC       IPC Service (Samba 4.4.5)
Domain=[ADOSAKANA] OS=[Windows 6.1] Server=[Samba 4.4.5]
        Server               Comment
        ---------            -------
        Workgroup            Master
        ---------            -------
[root@adserver ~]#

Samba 4.1.x時代は「OS=Unix」だったものが、Samba 4.4.xでは「OS=Windows 6.1」に変わっていました。

netlogon共有にAdministrator権限でアクセスできるか確認。

[root@adserver ~]# /usr/local/samba/bin/smbclient //localhost/netlogon -UAdministrator -c 'ls'
Enter Administrator's password:
Domain=[ADOSAKANA] OS=[Windows 6.1] Server=[Samba 4.4.5]
  .                                   D        0  Tue Jul 19 14:19:16 2016
  ..                                  D        0  Tue Jul 19 14:19:26 2016
                29086704 blocks of size 1024. 25482608 blocks available
[root@adserver ~]#

11.AD DNSの動作テスト
AD DNSが想定通りに動作しているかテストします。

まず、どんなzoneが登録されているのか確認

[root@adserver ~]# /usr/local/samba/bin/samba-tool dns zonelist 127.0.0.1 -U Administrator
Password for [ADOSAKANA\Administrator]:
  2 zone(s) found
  pszZoneName                 : adosakana.local
  Flags                       : DNS_RPC_ZONE_DSINTEGRATED DNS_RPC_ZONE_UPDATE_SECURE
  ZoneType                    : DNS_ZONE_TYPE_PRIMARY
  Version                     : 50
  dwDpFlags                   : DNS_DP_AUTOCREATED DNS_DP_DOMAIN_DEFAULT DNS_DP_ENLISTED
  pszDpFqdn                   : DomainDnsZones.adosakana.local
  pszZoneName                 : _msdcs.adosakana.local
  Flags                       : DNS_RPC_ZONE_DSINTEGRATED DNS_RPC_ZONE_UPDATE_SECURE
  ZoneType                    : DNS_ZONE_TYPE_PRIMARY
  Version                     : 50
  dwDpFlags                   : DNS_DP_AUTOCREATED DNS_DP_FOREST_DEFAULT DNS_DP_ENLISTED
  pszDpFqdn                   : ForestDnsZones.adosakana.local
[root@adserver ~]#

Active Directoryで使用するDNSのSRVレコードが登録されているかをhostコマンドを使って確認。

[root@adserver ~]# host -t SRV _ldap._tcp.adosakana.local 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:
_ldap._tcp.adosakana.local has SRV record 0 100 389 adserver.adosakana.local.
[root@adserver ~]# host -t SRV _kerberos._udp.adosakana.local 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:
_kerberos._udp.adosakana.local has SRV record 0 100 88 adserver.adosakana.local.
[root@adserver ~]#

ADサーバのホスト名が登録されているか確認

[root@adserver ~]# host -t A adserver.adosakana.local 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:
adserver.adosakana.local has address 172.17.44.40
[root@adserver ~]#

12. DNSサーバの変更
ADサーバの/etc/resolv.confを、ADサーバ自身を使う様に書き換え

13. /etc/krb5.conf の変更
/usr/local/samba/private/krb5.conf に元となるものがあるので、それを使用する。

[root@adserver ~]# cat /etc/krb5.conf
[logging]
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log
[libdefaults]
 default_realm = EXAMPLE.COM
 dns_lookup_realm = false
 dns_lookup_kdc = false
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true
[realms]
 EXAMPLE.COM = {
  kdc = kerberos.example.com
  admin_server = kerberos.example.com
 }
[domain_realm]
 .example.com = EXAMPLE.COM
 example.com = EXAMPLE.COM
[root@adserver ~]# cat /usr/local/samba/private/krb5.conf
[libdefaults]
        default_realm = ADOSAKANA.LOCAL
        dns_lookup_realm = false
        dns_lookup_kdc = true
[root@adserver ~]# cp /usr/local/samba/private/krb5.conf /etc/krb5.conf
cp: `/etc/krb5.conf' を上書きしてもよろしいですか(yes/no)? y
[root@adserver ~]# cat /etc/krb5.conf
[libdefaults]
        default_realm = ADOSAKANA.LOCAL
        dns_lookup_realm = false
        dns_lookup_kdc = true
[root@adserver ~]#

14. Kerberosの動作確認

kinitコマンドを実行して確認します。

[root@adserver ~]# kinit administrator@ADOSAKANA.LOCAL
Password for administrator@ADOSAKANA.LOCAL:
Warning: Your password will expire in 41 days on Tue Aug 30 14:19:24 2016
[root@adserver ~]#

正常に設定されていれば、上記の様にAdministratorユーザのパスワード有効期限が表示されます。

ドメイン名指定の大文字/小文字を間違えると下記の様なエラーとなります。

[root@adserver ~]# kinit administrator@adosakana.local
Password for administrator@adosakana.local:
kinit: KDC reply did not match expectations while getting initial credentials
[root@adserver ~]#

また、DNSサーバ指定が誤っている場合は下記の様なエラーです。

[root@adserver ~]# kinit administrator@ADOSAKANA.LOCAL
kinit: Cannot resolve servers for KDC in realm "ADOSAKANA.LOCAL" while getting initial credentials
[root@adserver ~]#

「klist」コマンドを実行することでも確認出来ます。

[root@adserver ~]# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@ADOSAKANA.LOCAL
Valid starting     Expires            Service principal
07/19/16 14:28:32  07/20/16 00:28:32  krbtgt/ADOSAKANA.LOCAL@ADOSAKANA.LOCAL
        renew until 07/20/16 14:28:28
[root@adserver ~]#

15. フォレストとドメインの機能レベル確認
作成したActive Directoryのドメインの機能レベルとフォレストの機能レベルを確認します。

[root@adserver ~]# /usr/local/samba/bin/samba-tool domain level show
Domain and forest function level for domain 'DC=adosakana,DC=local'
Forest function level: (Windows) 2008 R2
Domain function level: (Windows) 2008 R2
Lowest function level of a DC: (Windows) 2008 R2
[root@adserver ~]#

Samba 4.4.5では、Windows Sevrer 2008R2と設定されているようです。
(Samba 4.1.x時代はWindows Server 2003でした)

以上で設定は終了です。

MobaXtermというX-Windowアプリを表示するためのXサーバ機能を含んだSSH/moshクライアントソフト


最近、Windows上でX-Windowアプリを表示させる場合、VcXsrvというXサーバソフトを使用している。(紹介記事:Windows上でX-Windowアプリを表示するためのXサーバ VcXsrv)

それ以外に、「MobaXterm」というソフトもあるというので確認してみた。

無償で利用できるHome Editionと、1ユーザ69ドルのProfessional Editionがあるという。

で・・・
このソフトは、Windowsから、Linux/UNIX系サーバにアクセスするための統合ソフトウェア、という位置づけと言えます。

現状、下記のプロトコルに対応しています。
・SSH
 SSHトンネル/SSHポートフォワーディングも対応
・telnet
・RSH
・XDMCP(X-Window)
 OpenGLも対応
・RDP(Windowsリモートデスクトップ)
・VNC
・FTP
・SFTP
Mosh(mobile shellというSSH代替プロトコル)

また、MobaXtermをインストールしたWindows上にCygwin相当の環境をセットアップし、cygwinのコマンドを利用することができます。
cygwinを使いやすく仕立て直した感じ、といえばいいでしょうか?

ざっと使ってみた感想

・Portable versionのバイナリを実行するとインストールしないでそのまま使える
  11.5MBのMobaXterm_Personal_8.6.exeを実行するだけでXサーバも動く!
  日本語表示も可能!
・puttyのsessions設定をそのまま利用できる
・ssh接続時、UTF-8の日本語表示は普通に出来る
・ssh接続時、scpによるファイルブラウザ機能も同時にオープンされる
・ssh接続時、標準設定でSSH圧縮とX11フォワーディングとDISPLAY設定がされている
・Xアプリ表示時、タイトルバーの日本語表示が出来る
・Xアプリ表示時、起動してくるアプリが最前面に表示されないので気がつきにくい

Xmingより良い感じで使えます。

お気軽に使ってみたい、moshを使いたい、とか、操作用ターミナルソフト含めて乗り換えてもいいのなら「MobaXterm」
普段使ってるTeraTerm, puttyなどはそのままにXサーバだけを追加したいのであれば「VcXsrv」という感じですね。