Windowsドメイン環境でクライアントにアプリを追加する方法

いろいろ手法が書かれていたのでまとめ


トレンドマイクロ:リモートインストールを使用したインストール

・クライアントのWindowsファイアウォール設定で「ファイルとプリンタの共有」を有効にする
・レジストリを変更してUAC無効化(再起動必須)
・Remote Registryサービス有効化


キヤノンIT:「クライアント用プログラムのインストール方法について

【 方法3 】 グループポリシーオブジェクト(GPO)やログオンスクリプトを利用して各クライアント端末にリモートインストールする
【 方法4 】 各クライアント端末にプッシュインストールする
それぞれ、手法が解説されているが、結局はGUIを使用しているため流用はできない。
後者の「Windowsプッシュ」を使っている、というのだけ情報の起点として。


グループポリシーを使ってドメインに所属するコンピュータにGoogle Chromeをインストールする2つの方法

msiファイルを使ってGPOで配布する手法とインストールexeファイルをスタートアップで直接指定して実行するという大変大雑把な手法が解説されている。
後者は毎回実行されることになるので推奨しない。


Active Directoryのグループポリシーを利用したUnifierクライアントのインストール

こちらはスタートアップではなく、シャットダウンにインストール用のバッチファイルを入れてインストールする手法。
バッチファイル内でインストール済みか判定させているので毎回インストールが実行されることは避けられる。

rem --------------------------------------------------------
rem Unierサイレントインストール
rem 対象OS:Windows10(x86、x64)
rem --------------------------------------------------------

rem coejobsvc.exeが存在していたらインストール済みと判断し処理を抜ける
if exist "%PROOT%\0200\bin\coejobsvc.exe" exit

rem 下記パスを環境に合わせて変更する
set COPYFR="\\192.168.221.245\temp\Media_V540\Unifier"

set WORKDIR="%temp%\unifier"
set LOG=UnifierInst.log

rem インストール用フォルダ
if not exist %WORKDIR% mkdir %WORKDIR%
md %WORKDIR%
cd /d %WORKDIR%

echo --- 開始 %date% %time% > %LOG% 2>&1

rem 変数チェック
if "%PROCESSOR_ARCHITECTURE%" == "" (
	echo "■環境変数 %%PROCESSOR_ARCHITECTURE%% が空です。" >> %LOG% 2>&1
	exit
)

rem OSチェック %_osver% に Win10、Win8、Win7 をセット
call :ChkOsVer

if "%_osver%" == "" (
	echo "■ERR:OSバージョンの取得ができません。" >> %LOG% 2>&1
	exit

) else if "%_osver%" NEQ "Win10" (
	echo "■ERR:OSバージョン「%_osver%」はUnifierインストール対象外のOSです。" >> %LOG% 2>&1
	exit
)

if "%PROCESSOR_ARCHITECTURE%" == "x86" (
	if "%PROCESSOR_ARCHITEW6432%" == "AMD64" (

		echo "32bit process on 64bit OS - WOW64 : " %_osver% >> %LOG% 2>&1

		if "%_osver%" == "Win10" (
			echo "■Win10(x64) モジュールコピー " %COPYFR% %WORKDIR% >> %LOG% 2>&1
			xcopy %COPYFR% %WORKDIR% /E /H /Y >> %LOG% 2>&1
		)

	) else (
        echo "32bit process on 32bit OS : " %_osver% >> %LOG% 2>&1

		if "%_osver%" == "Win10" (
			echo "■Win10(x86) モジュールコピー " %COPYFR% %WORKDIR% >> %LOG% 2>&1
			xcopy %COPYFR% %WORKDIR% /E /H /Y >> %LOG% 2>&1
		)
	)

) else (

    echo "64bit process on 64bit OS : " %_osver% >> %LOG% 2>&1

	if "%_osver%" == "Win10" (
		echo "■Win10(x64) モジュールコピー " %COPYFR% %WORKDIR% >> %LOG% 2>&1
		xcopy %COPYFR% %WORKDIR% /E /H /Y >> %LOG% 2>&1
	)
)


rem Unifierインストール
start /w SilentInst.cmd


echo --- 終了 %date% %time% >> %LOG% 2>&1



rem -----------------------------------------
rem OSバージョンチェック
rem -----------------------------------------
:ChkOsVer

	For /f "tokens=2 delims=[]" %%G in ('ver') Do (set _version=%%G) 
	For /f "tokens=2,3,4 delims=. " %%G in ('echo %_version%') Do (set _major=%%G& set _minor=%%H& set _build=%%I) 

	rem echo _version=%_version%
	rem echo _major=%_major%
	rem echo _minor=%_minor%
	rem echo _build=%_build%

	if "%_major%"=="6" (
		rem Windows 7
		if "%_minor%"=="1" (set _osver=Win7)
		rem Windows 8
		if "%_minor%"=="2" (set _osver=Win8)
		rem Windows 8.1
		if "%_minor%"=="3" (set _osver=Win8)
	)

	if "%_major%"=="10" (
		rem Windows 10
		if "%_minor%"=="0" (set _osver=Win10)
	)


exit /b

hengbandコンパイルメモ

nethackの種類の1つhengbandをコンパイルしようしたらエラーがたくさんでた。

報告済みで対処予定とのこと

showroomの配信手法が変わった

showroomがさらなる低遅延の配信を行うために試験放送をやる、というので確認してみた・・・

いままでは低遅延表記の「Real Time Messaging Protocol(RTMP)」と「HTTP Live Streaming(HLS)」で配信されていた。

しかし、RTMPはAdobe Flashベースなので最近の世の中では使いにくい。

このため、「Low Latency HLS」というHLSを低遅延化したものを使うようにしたようだ。

参考資料「DeNAの大規模ライブ配信基盤を支える技術」(2018/02/14)

showroomはDeNAのサービスの1つで、上記資料でも触れられている。RTMPが使えなくなることに対する対応として、HLSよりさらに細かい単位時間に動画を区切って配信するLHLSを試行中、という話が載っている。

これがshowroom配信全体にも適用していく、ということのようだ。