停用舊版 主控台 (CSCP)
從 商務用 Skype Server 組建 2019 2046.524 啟動新主控台之後,我們新增了兩個新登錄機碼的支援,在出現時驗證輸入並停用啟動選項功能表中的原始 主控台 (CSCP) 。
SOFTWARE\Microsoft\Real-Time Communications{5DC8C4D5-5133-4CE5-BF4E-8C459BF419D6}\DMR: 新增監控伺服器的驗證
SOFTWARE\Microsoft\Real-Time Communications{5DC8C4D5-5133-4CE5-BF4E-8C459BF419D6}\OCP:用於停用原始 主控台 (CSCP) 的登錄機碼
注意事項
如果沒有登錄機碼,則不會變更控制台啟動行為。
下列 PowerShell 腳本新增了兩個新的登錄機碼:
[CmdletBinding()]
param (
[switch]$Undo
)
# IIS site details
$iisSiteName = "Skype for Business Server Internal Web Site"
$iisAppName = "cscp"
$iisAppPhysicalPathOld = "C:\Program Files\Skype for Business Server 2019\Web Components\AdminUI"
$iisAppPhysicalPath = "C:\Program Files\Skype for Business Server 2019\Web Components"
# Load the WebAdministration module
Import-Module WebAdministration
if ($Undo) {
# Undo the changes made by the script
$parentKey = "HKLM:\SOFTWARE\Microsoft\Real-Time Communications\{5DC8C4D5-5133-4CE5-BF4E-8C459BF419D6}"
$registryKeys = @("DMR", "OCP")
foreach ($key in $registryKeys) {
$registryKey = "$parentKey\$key"
# Check if the key exists before removing it
if (Test-Path $registryKey) {
Remove-Item -Path $registryKey -Recurse -Force
Write-Host "Registry key '$registryKey' removed."
} else {
Write-Host "Registry key '$registryKey' does not exist. No changes were made."
}
}
# IIS application changes
# Check if the IIS site exists
if ($iisSite = Get-Website $iisSiteName -ErrorAction SilentlyContinue) {
# Check if the application exists
$existingApp = Get-WebApplication -Site $iisSiteName | Where-Object { $_.Path -eq "/$iisAppName" }
if ($existingApp) {
# If the application exists, change the Physical Path using Set-WebConfigurationProperty
Set-WebConfigurationProperty -Filter "/system.applicationHost/sites/site[@name='$iisSiteName']/application[@path='/$iisAppName']/virtualDirectory[@path='/']" -Name "physicalPath" -Value $iisAppPhysicalPathOld
Write-Host "IIS application '$iisAppName' Physical Path changed to '$iisAppPhysicalPathOld'."
} else {
Write-Host "IIS application '$iisAppName' does not exist. The Physical Path cannot be changed."
}
} else {
Write-Host "IIS site '$iisSiteName' does not exist. The application cannot be changed."
}
}
else {
# Apply the changes
# Registry changes
$parentKey = "HKLM:\SOFTWARE\Microsoft\Real-Time Communications\{5DC8C4D5-5133-4CE5-BF4E-8C459BF419D6}"
$registryKeys = @("DMR", "OCP")
foreach ($key in $registryKeys) {
$registryKey = "$parentKey\$key"
# Check if the key exists
if (-Not (Test-Path $registryKey)) {
# If the key does not exist, create it with a default value or add any necessary subkeys or values
New-Item -Path $registryKey -Force | Out-Null
Write-Host "Registry key '$registryKey' and values created."
} else {
Write-Host "Registry key '$registryKey' already exists."
}
}
# IIS application changes
# Check if the IIS site exists
if ($iisSite = Get-Website $iisSiteName -ErrorAction SilentlyContinue) {
# Check if the application exists
$existingApp = Get-WebApplication -Site $iisSiteName | Where-Object { $_.Path -eq "/$iisAppName" }
if ($existingApp) {
# If the application exists, change the Physical Path using Set-WebConfigurationProperty
Set-WebConfigurationProperty -Filter "/system.applicationHost/sites/site[@name='$iisSiteName']/application[@path='/$iisAppName']/virtualDirectory[@path='/']" -Name "physicalPath" -Value $iisAppPhysicalPath
Write-Host "IIS application '$iisAppName' Physical Path changed to '$iisAppPhysicalPath'."
} else {
Write-Host "IIS application '$iisAppName' does not exist. The Physical Path cannot be changed."
}
} else {
Write-Host "IIS site '$iisSiteName' does not exist. The application cannot be changed."
}
}
Write-Host "Restarting IIS Server"
# Perform IIS reset
iisreset
Write-Host "Done"
注意事項
如果您不小心執行上述腳本,並想要還原變更,請使用參數執行上述 PowerShell 腳本 -Undo
。