Konsola administratora Configuration Manager-a daje możliwość uruchamiania raportów poprzez przeglądarkę internetową. Można zauważyć, że domyślny URL zapisany jest w samej konsoli:
Niestety nie przewidziano tutaj przycisku „Change URL”, co przydałoby się w przypadku przejścia na protokół HTTPS, albo chociaż dla wymuszenia nazwy FQDN serwera raportowego w miejsce nazwy NetBIOS.
Jak zmienić domyślny URL nie uciekając się do reinstalacji serwera raportowego (SRS Reporting Point) lub bezpośredniej edycji danych w tabeli SQL?
Jak zwykle sterowanie Configuration Manager-em zapewnia WMI. Trzeba więc połączyć się z SMS WMI Provider-em (zazwyczaj umieszczony na CM Primary Site Server), do przestrzeni nazewniczej root\SMS\Site_{SMSSITECODE}, a następnie posługując się zapytaniem WQL uzyskać domyślny URL.
Interesująca nas właściwość zapisana jest w instancji klasy SMS_EmbeddedProperty jako właściwość Value2, która na szczęście jest określona jako zapisywalna.[1]
Zamianę URL ReportManager (a następnie ReportServer) można przeprowadzić za pomocą skryptu Powershell[2]:
#Zmiana domyslnego URL w konsoli CM dla raportów
$property = „ReportManagerUri”
#$property = „ReportServerUri”
$SMSSITECODE = „P00”
$SMSWMIPROVIDER = „WIN-DCLAB-CM”
$str1 = „http://win-dclab-sql/”
$str2 = „http://win-dclab-sql.dc.lab/”
$NAMESPACE = „root\SMS\Site_” + $SMSSITECODE
$QUERY = 'SELECT * FROM SMS_SCI_SYSRESUSE WHERE rolename = „SMS SRS Reporting Point”’
$RP = get-wmiobject -Namespace $NAMESPACE -Computername $SMSWMIPROVIDER -Query $QUERY
$props = $RP.props
$prop = $props | WHERE {$_.PropertyName -eq $property}
$NewURL = $prop.Value2.Replace($str1, $str2)
$prop.Value2 = $NewURL
$RP.props = $props
$RP.Put()
W skrypcie należy zmienić wartości zmiennych, aby odpowiadały używanym nazwom ($SMSWMIPROVIDER , $str1 , $str2), a także wstawić właściwy kod CM Site ($SMSSITECODE)
W efekcie dwukrotnego użycia skryptu (raz dla $property = „ReportManagerUri” , a następnie $property = „ReportServerUri”) otrzymujemy:
[1] https://learn.microsoft.com/en-us/mem/configmgr/develop/reference/core/servers/configure/sms_embeddedproperty-server-wmi-class
[2] Ustawienie wartości bazuje na skrypcie opisanym w https://techcommunity.microsoft.com/t5/configuration-manager-archive/content-distribution-priorities/ba-p/273393
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.
W ten sposób odwołania do raportów wykorzystywać będą pełną nazwę DNS-ową (FQDN). Używając analogicznej konstrukcji można zastąpić protokół http przez HTTPS, co oczywiście wymaga wcześniejszego przygotowania serwera raportowego.