玩轉Microsoft Teams Room系列3 - 手動升級MTR版本4.4.25.0

之前的章節當中, 我們已經可以成功把MTR安裝在Intel NUC當中,但在最近MTR版本升級到了4.4.25.0,在官網上面也只能下載到這個版本的軟件,請參考*1下載。所以如果你手上的MTR系統是舊版本要升級,或需要解決問題使用新版本的話,我們需要做一次手動升級MTR版本的操作,但這並不是一次簡單的軟件升級,過程還是比較讓人感動。


用得好好的MTR爲什麼要升級?如果你手上的MTR是很久之前的4.0.27.xxxx MTR版本的話,我們在項目上面測試上只能拿到Exchange日程但是登陸不上Teams(微軟做了版本限制?)但現在客戶需要Teams能登陸上MTR的話,也就只有兩個選擇:

1)重做MTR安裝鏡像來重新安裝,推倒重來,請參考《如何把MTR安裝在NUC主機中》 *3

2)本文的方法,手動升級MTR版本到最新


Option1不太現實,我們選擇option2來更新現有的MTR,在官網上面只有一筆帶過的更新說明 *2, 就這樣一段腳本:

Add-AppxPackage -Update -ForceApplicationShutdown -Path '\\<share>\$oem$\$1\Rigel\x64\Ship\AppPackages\*\*.appx' -DependencyPath (Get-ChildItem '\\<share>\$oem$\$1\Rigel\x64\Ship\AppPackages\*\Dependencies\x64\*.appx' | Foreach-Object {$_.FullName})

登陸到admin帳號下面,把最新的MSI下載回來 *1,安裝好,修改好<share>裏面的路徑之後,運行命令,直接報錯:

image

後面仔細研究了一下整個MTR的安裝腳本,MTR在OS裏面分了兩個默認的帳號(一個是skype帳號,用於啓動MTR;一個是admin帳號,用於做操作系統的日常管理),發現原來MTR App並不是直接在admin帳號下面更新,而是需要在skype帳號下面進行,問題又來了skype帳號在MTR裏面做了好多限制(包括禁用桌面,禁用運行腳本,登陸自動啓動MTR APP等)你是沒有辦法登陸到skype帳號下面進行MTR的更新操作,所以我們需要在admin 帳號下面來把MTR app安裝到skype帳號下面….這文章爲大家跳過很多升級過程中的坑,因爲在微軟的官方文章中對這個升級的說明少之又少 *2。如果你按照微軟文章中方法更新MTR的話必定出錯,列一些坑出來:

1)微軟的官方文章中對這個升級的說明少之又少 *2 (也就算了,我可以開O365 Case)

2)開了O365 Case後, 支持人員說這是硬件廠家自改的操作系統問題,不是Teams Room的問題(好吧,我找MTR硬件廠家)

3)開了MTR硬件廠家Case後,支持人員又說不能直接升級,需要用我們的原廠鏡像,重裝原廠鏡像後,MTR版本沒有升級上去還是在4.0.27.xxx。

4)微軟文檔裏面提供的命令不太準確,所以自力更生研究出以下方法。


以下是我們測試過已成功升級的方法,分享給大家使用。首先我們需要登陸到admin帳號,並把這個MTR應用安裝在Skype這個帳號下面:

1)下載前安裝最新的MTR到默認安裝目錄,參考*1下載。

2)登陸到admin,創建一個PowerShell腳本如下,並保存爲C:\InstallSkype.ps1

$temp = 'C:\Program Files (x86)\Skype Room System Deployment Kit\$oem$\$1'

Add-AppxPackage -ForceApplicationShutdown -Path $temp\Rigel\x64\Ship\AppPackages\*\*.appx -DependencyPath (Get-ChildItem $temp\Rigel\x64\Ship\AppPackages\*\Dependencies\x64\*.appx | Foreach-Object {$_.FullName})

3)用管理員模式打開PowerShell ISE, 並執行以下腳本,用於把MTR安裝到skype帳號下面

$creds = New-Object System.Management.Automation.PSCredential ("Skype", (new-object System.Security.SecureString))
reg.exe add "HKLM\System\CurrentControlSet\Control\Lsa" /f /v "LimitBlankPasswordUse" /t REG_DWORD /d 0
start-process -FilePath powershell.exe -wait -Credential $creds -ArgumentList @("-executionpolicy","Unrestricted","C:\InstallSkype.ps1")
reg.exe add "HKLM\System\CurrentControlSet\Control\Lsa" /f /v "LimitBlankPasswordUse" /t REG_DWORD /d 1

4)安裝好之後,重啓電腦,新增了開機動畫,新版本的MTR來了(4.4.25.0)

image

image

image



以下爲一些安裝記錄,供參考,先查看一下安裝前的MTR版本爲43420

image


如果這時你直接使用微軟網站上面的操作來執行更新MTR的命令時,就會報以下錯誤,原因是由於其實MTR APP是安裝在skype user下面,而不是admin user下面,所以報錯是正常的。

2da19931001627501e8f1db77afd16f


接着如果你使用上文中我的方案,就可以把app安裝在skype user下面了,從而順利地升級MTR.

運行完Step1~3之後,我們來檢查一下安裝好的版本,44250出來了,同時在PackageUserInformation可以看到是安裝在skype user下面了。

Get-AppxPackage -AllUsers | ?{$_.PackageFamilyName -like '*room*'}

image


參考:

*1 MTR部署工具包 https://go.microsoft.com/fwlink/?linkid=851168

*2 To update MTR using PowerShell https://docs.microsoft.com/zh-cn/MicrosoftTeams/rooms/rooms-operations#to-update-using-powershell

*2 The PowerShell command to update MTR software is not work #4475 https://github.com/MicrosoftDocs/OfficeDocs-SkypeForBusiness/issues/4475

*3 玩轉Microsoft Teams Room系列2 - 如何把MTR安裝在NUC主機中 https://blog.51cto.com/nemotan/2485928

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章