#author("2019-09-22T12:11:54+09:00","default:tanak0to","tanak0to") #author("2019-09-22T12:14:22+09:00","default:tanak0to","tanak0to") RIGHT:[[Mac 関係覚え書き]] *ボリュームライセンスのクローニング [#v5d4e3dd] Office 2011 のボリュームライセンスをインストールした Mac を DeployStudio などでクローニングしても, クローニング先の Mac では,再度 Office のアクティベーションを せずに利用可能だった. が,Office 2016 のボリュームライセンスをインストールした Mac をクローニングする場合には,事情が変わってしまった. クローニング先の Mac で Excel などのソフトを起動し, 新規文書を作成する際にウインドウの上部に 「サインインして Office を有効化してください」 といったメッセージが表示され, ライセンス認証を受けていない状態での起動となってしまう. そのため,ファイルの保存等ができない. (ライセンス認証を受けていないことの制限によるため) いろいろ,検証してみると, ボリュームライセンスの Office 2016 をインストールした直後の 状態をディスクイメージにして,クローニングした場合には, ライセンス認証を受けた状態での起動できることがわかった. また,Word, Excel などを立ち上げただけ状態のものを ディスクイメージにしてクローニングしても ライセンス認証を受けた状態での起動できた. 唯一,Office の AutoUpdate で Office をアップデート, パッチ適用などをしたものは, クローニング後, ライセンス認証を受けていない状態での起動となってしまう. (Office 2016 15.12.3 のアップデートが悪さをしている?) (なんで,こんな仕様になっている?MS) で,クローニングの対策として,以下の方法を行うことで 今のところうまくいっている. (1) Office 2016 ボリュームライセンスをクリーンインストール. インストール後,Office のアプリケーションは立ち上げない. (2) ライセンスの情報が書き込まれているだろうというファイル /Library/Preferences/com.microsoft.office.licensingV2.plist をデスクトップなどにバックアップ. (3) Office の AutoUpdate で Office を最新にアップデート. (4) バックアップしておいた com.microsoft.office.licensingV2.plist を /Library/Preferences/com.microsoft.office.licensingV2.plist に上書きコピー. (5) ディスクイメージを作成 (6) DeployStudio でクローニング. 参考: https://derflounder.wordpress.com/2015/08/05/creating-an-office-2016-15-12-3-installer/ **Volume License Serializer for Office 2016 for Mac [#l5a7f6d3] 正式には Volume License Serializer for Office 2016 for Mac というのを使って アクティベーションしてやる必要があるらしい. https://support.microsoft.com/en-us/kb/3135924 現状(15.12)では,ランダムな間隔(weeks or months)でライセンスのチェックをしているから たまたまうまいこといっているだけで, 何からかのタイミングでライセンス認証されていない状態と判断される可能性はある. また, Office 15.20 (2016年 3月)からは起動ごとにライセンスチェックが走るようになる予定なので, 正式な対応をしておく必要があるようだ. //-------------------------------------- **Microsoft AU Daemon [#b8c4304c] 雛形をコピーした先の Mac で, 一般ユーザ(Office を起動したことの無いユーザ)で Office を起動すると 「未使用のアプリケーション"Microsoft AU Daemon"を開こうとしています. 開いてもよろしいですか?」 とダイアログが出る. 対応方法いずれか(未検証) (1) /usr/bin/xattr -r -d com.apple.quarantine /Library/Application\ Support/Microsoft/MAU2.0/Microsoft\ AutoUpdate.app "Microsoft AU Daemon" は "Microsoft AutoUpdate.app" に含まれるので, それを検疫しないようにすればよい. (2) root で以下のようにコマンドを打っておくか, /usr/bin/defaults write /Library/Preferences/com.microsoft.autoupdate2 HowToCheck -string "Manual" /usr/bin/defaults write /Library/Preferences/com.microsoft.Word kSubUIAppCompletedFirstRunSetup1507 -bool true /usr/bin/defaults write /Library/Preferences/com.microsoft.Outlook kSubUIAppCompletedFirstRunSetup1507 -bool true /usr/bin/defaults write /Library/Preferences/com.microsoft.PowerPoint kSubUIAppCompletedFirstRunSetup1507 -bool true /usr/bin/defaults write /Library/Preferences/com.microsoft.Excel kSubUIAppCompletedFirstRunSetup1507 -bool true /usr/bin/defaults write /Library/Preferences/com.microsoft.onenote.mac kSubUIAppCompletedFirstRunSetup1507 -bool true すべてのユーザでログイン時に以下のコマンドを打つか /usr/bin/defaults write com.microsoft.autoupdate2 HowToCheck Manual /usr/bin/defaults delete com.microsoft.Word kSubUIAppCompletedFirstRunSetup1507 /usr/bin/defaults delete com.microsoft.Outlook kSubUIAppCompletedFirstRunSetup1507 /usr/bin/defaults delete com.microsoft.PowerPoint kSubUIAppCompletedFirstRunSetup1507 /usr/bin/defaults delete com.microsoft.Excel kSubUIAppCompletedFirstRunSetup1507 /usr/bin/defaults delete com.microsoft.onenote.mac kSubUIAppCompletedFirstRunSetup1507 /usr/bin/defaults write com.microsoft.autoupdate2 WhenToCheck 0 (3) 次のスクリプトをログインスクリプトに仕込む #!/bin/sh CurrentUser=`/usr/bin/who | awk '/console/{ print $1 }'` register_trusted_cmd="/usr/bin/sudo -u $CurrentUser /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -R -f -trusted" application="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/Microsoft AU Daemon.app" $register_trusted_cmd "$application" もう一解 /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -R -f -trusted "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/Microsoft AU Daemon.app も同じようにスクリプトに組み込む. (4) 最終手段はAutoUpdate.app を管理者以外実行不可にする. sudo chmod o-rwx /Library/Application¥ Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/Microsoft¥ AU¥ Daemon.app ただし,Office 更新時には,一時的に元に戻すこと. chmod 755 /Library/Application¥ Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/Microsoft¥ AU¥ Daemon.app 加えて, /Library/LaunchAgents/com.microsoft.update.agent.plist を 編集し, <key>RunAtLoad</key> <false/> にしておく. (そうしないと,バックグラウンドでずっと AutoUpdate.app を起動しようとして失敗し,CPU を食いまくる.) *ようこそ画面が表示されないように [#jac4f6b2] 以下をテンプレートとする -Word ~/Library/Containers/com.microsoft.Word/Data/Library/Preferences/com.microsoft.Word.plist -Ecxel ~/Library/Containers/com.microsoft.Excel/Data/Library/Preferences/com.microsoft.Excel.plist -PowerPoint ~/Library/Containers/com.microsoft.PowerPoint/Data/Library/Preferences/com.microsoft.Powerpoint.plist