Deaktivieren von Legacy Systemsteuerung (CSCP)
Nach dem Start des neuen Systemsteuerung von Skype for Business Server Build 2019 2046.524 fügen wir Unterstützung für zwei neue Registrierungsschlüssel hinzu, die die Eingabe überprüfen und die ursprüngliche Systemsteuerung (CSCP) im Startoptionsmenü deaktivieren, sofern vorhanden.
SOFTWARE\Microsoft\Echtzeitkommunikation{5DC8C4D5-5133-4CE5-BF4E-8C459BF419D6}\DMR : Fügt die Überprüfung für den Monitoring Server hinzu
SOFTWARE\Microsoft\Echtzeitkommunikation{5DC8C4D5-5133-4CE5-BF4E-8C459BF419D6}\OCP : Registrierungsschlüssel zum Deaktivieren des ursprünglichen Systemsteuerung (CSCP)
Hinweis
Wenn die Registrierungsschlüssel nicht vorhanden sind, ändert sich das Systemsteuerung Startverhalten nicht.
Das folgende PowerShell-Skript fügt die beiden neuen Registrierungsschlüssel hinzu:
[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"
Hinweis
Wenn Sie das obige Skript versehentlich ausgeführt haben und die Änderungen rückgängig machen möchten, führen Sie das obige PowerShell-Skript mit -Undo
dem Parameter aus.