レガシ コントロール パネル (CSCP) を無効にする
新しいコントロール パネルの起動後、ビルド 2019 2046.524 Skype for Business Serverから、入力を検証し、起動オプション メニューから元のコントロール パネル (CSCP) を無効にする 2 つの新しいレジストリ キーのサポートを追加しています。
SOFTWARE\Microsoft\Real-Time Communications{5DC8C4D5-5133-4CE5-BF4E-8C459BF419D6}\DMR : 監視サーバーの検証を追加します
SOFTWARE\Microsoft\Real-Time Communications{5DC8C4D5-5133-4CE5-BF4E-8C459BF419D6}\OCP :元のコントロール パネル (CSCP) を無効にするためのレジストリ キー
注意
レジストリ キーが存在しない場合、コントロール パネル起動動作に変更はありません。
次の PowerShell スクリプトは、2 つの新しいレジストリ キーを追加します。
[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
実行します。