どうもミツシマです。

今回はADのグループポリシー(スタートアップスクリプト)を使用してTeamsアプリを各クライアントへインストールする方法を検証してみました。

検証環境は以下のとおりです。
サーバーOS:Windows Server 2016
クライアントOS:Windows 10 Pro x64 2004
クライアントOS:Windows 10 Pro x86 1909


〜検証〜

全体的な流れとしてはこんな感じになります。

  1. Teamsインストール用のMSIをダウンロードする
  2. ダウンロードしたMSIファイルを配置する共有フォルダを準備する
  3. スタートアップスクリプト用のbatを作成する
  4. GPOを設定する
  5. 展開する


1.Teamsインストール用のMSIをダウンロードする

通常Teamsアプリをインストールしようとする際は下記サイトから「Teams_windows_x64.exe」等のEXEファイルからインストールすると思います。
https://www.microsoft.com/ja-jp/microsoft-365/microsoft-teams/download-app


ですが、このEXEファイルだとインストールしたユーザーにしかTeamsアプリがインストールされません。その為、インストールしたユーザー以外でログインするとTeamsアプリが使用出来ないのです。。。。汗

これだと何かと不便なので、PCの展開用(ADでの配布やSCCM、サードパーティ製の資産管理ソフトウェア向け)にMSIインストーラと手順が用意されています。

Microsoft Endpoint Configuration Manager を使用して Microsoft Teams をインストールする
上記サイトから「商用」のMSIをダウンロードしてきます。


Microsoft 365 Apps と同時に Microsoft Teams を展開する

ちなみに上記サイトに記載があるように64bit版OSに32bit版のTeamsをインストールすることが可能です。かつ、他のOfficeアプリケーションとbit数が異なってもいいということなので、32bit版OSと64bit版OSが混在している環境で面倒であれば、すべて32bit版のTeamsをインストールして問題ないということです。
※64bit版OSに32bit版のTeamsをインストールして動作することは確認しました。

それでも、今回はちゃんとOSを判別してそれぞれ対応したインストーラーを実行するように組んでますので。


そんな感じで32bit版と64bit版のMSIファイルをダウンロードしておきます。


2.ダウンロードしたMSIファイルを配置する共有フォルダを準備する

MSIファイルを配置する共有フォルダを作成します。
今回は検証を簡略化する意味でDC上に「共有$」という隠し共有フォルダを作成しています。
共有アクセス権は「Everyone」フルコントール、NTFS権限で「Domain Users」に変更権限を追加します。
その中に「Logs」フォルダとMSIファイルを配置します。
Logs」フォルダはbat実行時のログを出力する場所となります。
07-フォルダ配置
(注)batが置いてありますが、これは本来不要です。このbatはADのSYSVOLフォルダ(該当ポリシー内)に配置するものです。


こんな感じで共有フォルダの作成が完了です。


3.スタートアップスクリプト用のbatを作成する

今回の肝となる部分です!!!
↓↓とりあえず完成したbatファイルがこちら↓↓

Teams-Install-startup.bat
@echo off

REM 環境変数定義
REM Set DomaiName & UserName & PW
set DomainName=MITSU
set NetUserName=test01
set NetUserPW=Password

set DeployServer=¥¥10.10.10.20¥共有$¥Teams
set LOG=%DeployServer%¥LOG¥%COMPUTERNAME%-Install.log
set INSTALLER-32=%DeployServer%¥Teams_windows.msi
set INSTALLER-64=%DeployServer%¥Teams_windows_x64.msi

REM net use
net use %DeployServer% /user:%DomainName%¥%NetUserName% %NetUserPW%

REM ログがあった場合処理しない
if exist %LOG% goto :EOF

REM ログ出力
echo StartTime:%DATE% %TIME% > %LOG%

REM インストール実行
if "%PROCESSOR_ARCHITECTURE%" equ "x86" (
        cls
        echo この画面は閉じずに何も操作しないでください.
        echo Microsoft Teams x86をインストール中です.
        echo %PROCESSOR_ARCHITECTURE%-32bit版をインストールします >> %LOG%
        msiexec /i %INSTALLER-32% ALLUSERS=1 /quiet /norestart
) else (
        cls
        echo この画面は閉じずに何も操作しないでください.
        echo Microsoft Teams x64をインストール中です.
        echo %PROCESSOR_ARCHITECTURE%-64bit版をインストールします >> %LOG%
        msiexec /i %INSTALLER-64% ALLUSERS=1 /quiet /norestart
)

REM ログ出力
echo EndTime:%DATE% %TIME% >> %LOG%

cls
echo インストール処理が完了しました.Enterキーを押してこの画面を閉じてください.
pause


解説します。
取り急ぎ変更する必要があるのは、赤字で記載がある項目です。
処理としては、「各種環境変数の設定」・「net useコマンドの実行」・「ログファイルの有無を確認(ログファイルがあればインストールスキップ)」・「各OSに応じたTeamsアプリをインストール」・「ログファイルの出力
という感じです。

今回もちゃんと実行されたかを確認する為の表示用にecho文pauseを入れてますが、実際には不要な部分なので削ってもいいと思います。
(以前検証したMicrosoft 365アプリのインストールと違ってインストール時間は圧倒的に短いです)
(Microsoft 365)Office365アプリケーションをADのGPOで展開する方法を検証してみた 〜スタートアップスクリプト〜

ちなみにインストール時に「ALLUSERS=1」というオプションがありますが、これは必ず入れたほうが良いと思いました。
このオプションがなくともインストール自体は出来ましたが、インストール後、コントロールパネルの「プログラムと機能」に「Teams Machine-Wide Installer」が表示されないようで、後々アンインストールする際に面倒なことになるからです。


batファイルの作成が終わったら、GPOの設定に移ります。


4.GPOを設定する

グループポリシーとしては以下の内容が必要となります。
  • スタートアップスクリプトへbatファイルを設定
  • 「コンピューターの構成」-「ポリシー」-「管理用テンプレート」-「システム」-「スクリプト」にて「グループポリシー スクリプトの最大待機時間を指定する」を設定
  • 「コンピューターの構成」-「ポリシー」-「管理用テンプレート」-「システム」-「スクリプト」にて「スタートアップスクリプトを非同期に実行する」を「無効」に設定
  • 「コンピューターの構成」-「ポリシー」-「管理用テンプレート」-「システム」-「スクリプト」にて「実行中のスタートアップスクリプトの命令を表示する」を「有効」に設定

06-GPO画面

ただし、今回は検証でわかりやすくするためにスタートアップスクリプトを表示してますので、本来は不要です。
スタートアップスクリプトを配置するGPOだけでOKです!!


このGPOを展開するコンピューターオブジェクトが所属するOUにリンクさせて設定は完了です。
後はPCを再起動したりすると、ログイン画面が表示される頃に展開されるはずです。


5.展開する

↓↓PC起動時のログオン画面で展開されて、こんな感じになります↓↓
02-インストール画面
03-インストール画面

ログオンするとTeamsがユーザー領域に展開されます(デスクトップ上にTeamsのショートカットが作成されるはずです)
「プログラムと機能」を確認すると
04-プログラムと機能

しっかりとインストールされているのが確認出来ますね!
↓↓bat処理中に出力されたログはこんな感じです↓↓
05-インストールログ例
(注)msiexec自体が実行してすぐにプロンプトへ処理を返す仕様みたいなので、インストール時間が短いように表記されてますが、実際のTeamsインストールにはもう少し時間がかかります。それでも検証環境では1分もかからずインストールされていたので、問題はないかと思います。。。(汗)


こんな感じで今回の検証も終わります。
コロナの影響でTeamsやZoomの需要が急激に伸びたので、何かの参考になれば幸いです(*^^*)
スポンサードリンク