ConfigMgr: System Center 2012 R2 Operations Manager Console

Auch wenn bereits der OpsMgr 2016 verfügbar ist, möchte eventuell der ein oder andere noch die alte Konsole verteilen. Als Voraussetzung benötigt diese den Report Viewer 2012 und ein aktuelle .Net Framework. Beide sind entsprechend verlinkt.

<appdefinition>
<file>setup.exe</file>
<hash type="SHA256">E95135DD934B1DF1B9396CB86FA4E79F4C84B311825AD8ABED3F4CA2DE5C1CCE</hash>
<info>
    <company>Microsoft Corporation</company>
    <productName>System Center 2012 R2 Operations Manager Console</productName>
    <setupType>NSIS</setupType>
    <isX86>false</isX86>
    <hasUninstall>true</hasUninstall>
</info>
<install>
Show-InstallationProgress -StatusMessage "Installing $appName . This may take some time. Please wait..."
Execute-Process -Path "setup.exe" -Parameters "/silent /install /components:OMConsole /EnableErrorReporting:Never /SendCEIPReports:0 /UseMicrosoftUpdate:1 /AcceptendUserLicenseAgreement:1"
</install>
<uninstall>
Show-InstallationProgress -StatusMessage "DeInstalling $appName . This may take some time. Please wait..."
Execute-MSI -Action Uninstall -Path "{041C3416-87CE-4B02-918E-6FDC95F241D3}"
</uninstall>
<detection>
Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | where {$_.psChildname -like "{041C3416-87CE-4B02-918E-6FDC95F241D3}"  -and $_.WindowsInstaller -eq 1}
</detection>
<supersedence/>
<dependency>
<dependencyGroup name="DOTNET">
<application autoInstall="true" type="SHA256">BEAA901E07347D056EFE04E8961D5546C7518FAB9246892178505A7BA631C301</application>
</dependencyGroup>
<dependencyGroup name="ReportViewer2012">
<application autoInstall="true" type="SHA256">ECCBBF99C7174E2B23C4398077C0757D1EA8A5C18D68B18A5A391DE985696A90</application>
</dependencyGroup>
</dependency>
</appdefinition>
Posted in automateAppDeployment, Configuration Manager, Deutsch, Operations Manager, System Center, System Center 2012 | Tagged , , , | 1 Comment

ConfigMgr: Report Viewer 2012

Der etwas aktuellere Report Viewer 2012 benötigt als Vorbedingung die SQL 2012 Befehlszeilenprogramme, die entsprechend als Abhängigkeit hinterlegt sind:

<appdefinition>
<file>ReportViewer.msi</file>
<hash type="SHA256">ECCBBF99C7174E2B23C4398077C0757D1EA8A5C18D68B18A5A391DE985696A90</hash>
<info>
<setupType>MSI</setupType>
<isX86>true</isX86>
</info>
<install/>
<uninstall/>
<detection/>
<supersedence/>
<dependency>
<dependencyGroup name="SQL">
<application autoInstall="true" type="SHA256">674C396E9C9BF389DD21CEC0780B3B4C808FF50C570FA927B07FA620DB7D4537</application>
</dependencyGroup>
</dependency>
</appdefinition>
Posted in automateAppDeployment, Configuration Manager, Deutsch, System Center, System Center 2012 | Tagged , | Leave a comment

ConfigMgr: SQl Server 2012 Befehlszeilenprogramme

Das SQL Server 2012 SP1 Befehlszeilenprogramme ist Voraussetzung für den Report Viewer 2012 und kann mit nachfolgendem Script schnell angelegt werden.

<appdefinition>
<file>SQLSysClrTypes.msi</file>
<hash type="SHA256">674C396E9C9BF389DD21CEC0780B3B4C808FF50C570FA927B07FA620DB7D4537</hash>
<info>
<setupType>MSI</setupType>
<isX86>false</isX86>
</info>
<install/>
<uninstall/>
<detection/>
<dependency/>
<supersedence>
<!--<deploymentType uninstall="false" type="SHA256">251635687D847E74AD07676C0E4EEA8D95EFC7763B9B6BA74803D92A0C5C3CF4</deploymentType>-->
</supersedence>
</appdefinition>
Posted in automateAppDeployment, Configuration Manager, Deutsch, System Center, System Center 2012 | Tagged , , | Leave a comment

ConfigMgr: ReportViewer 2010

Auch wenn der Report Viewer 2010 schon ziemlich alt ist, wird er teilweise noch bei manchen Konsolen benötigt. Daher hier als Prerequest das Programm:

<appdefinition>
<file>ReportViewer.exe</file>
<hash type="SHA256">E8FF182E202B321AC2B9245EE20C4EB659008FFB2A34CDBD3486F9DA3D4C3E06</hash>
<info>
    <company>Microsoft Corporation</company>
    <setupType>NSIS</setupType>
    <isX86>true</isX86>
    <hasUninstall>true</hasUninstall>
</info>
<install>
Show-InstallationProgress -StatusMessage "Installing $appName . This may take some time. Please wait..."
Execute-Process -Path "ReportViewer.exe" -Parameters "/q /c:`"install.exe /q`""
</install>
<uninstall>
Show-InstallationProgress -StatusMessage "Uninstalling $appName. This may take some time. Please wait..."
Execute-MSI -Action Uninstall -Path "{C19B3EB6-B54C-3204-A4DF-88432E0C79F7}"
</uninstall>
<detection>
if ([IntPtr]::Size -eq 8) {$regPath="HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*"} else { $regPath="HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*"}
Get-ItemProperty $regPath| where {$_.psChildname -like "{C19B3EB6-B54C-3204-A4DF-88432E0C79F7}"  -and $_.WindowsInstaller -eq 1}
</detection>
<dependency/>
<supersedence/>
</appdefinition>
Posted in automateAppDeployment, Configuration Manager, Deutsch, System Center, System Center 2012 | Tagged , , | Leave a comment

ConfigMgr: .Net 3.5 für Windows 2012 R2 verteilen

Anbei ein kleines Script, um für Windows 2012 R2 das .Net Framework 2-3.5 nachzuinstallieren. Dafür ist der SXS von der Installations-CD notwendig. Dafür wird die OS Language ausgelesen und verwendet, um das passende SXS Verzeichnis zu verwenden.
Somit legt man für jede notwendige Betriebssystemsprache ein Unterordner mit Namen des Laguage Codes (1031 für deutsch, 1033 für englisch, …) an und kopiert den Inhalt des jeweiligen SXS Ordners dort hinein.
Als Vergleichsfile habe ich willkürlich das microsoft.build.tasks.v3.5.dll genommen. Dies ist aber in diesem Fall nicht weiter relevant.
(Anmerkung: Ich habe den Produktnamen bewusst gekürzt, da es sonst bei den SXS Ordner beim Kopieren in die Zielordner zu Dateilängen über 256 Zeichen komme und das normale Powershell Kopierkommando damit nicht zurecht kommt)

<appdefinition>
<file>microsoft.build.tasks.v3.5.dll</file>
<hash type="SHA256">DDC3B09E15C565FA1E10562FE0FF13FB4612D5F486362A58E4EDE65E13FEE7C5</hash>
<info>
    <company>Microsoft Corporation</company>
    <productName>NET Framework</productName>
    <productVersion>3.5</productVersion>
    <setupType>NSIS</setupType>
    <isX86>false</isX86>
    <hasUninstall>true</hasUninstall>
</info>
<install>
Show-InstallationProgress -StatusMessage "Installing $appName . This may take some time. Please wait..."
$osLanguage=(get-wmiobject Win32_OperatingSystem).osLanguage
Execute-Process -Path "dism.exe" -Parameters "/online /enable-feature /featurename:NetFX3 /all /Source:$dirFiles\$osLanguage /LimitAccess /LogPath:$configToolkitLogDir\$installName-dism.log"
</install>
<uninstall>
Show-InstallationProgress -StatusMessage "Uninstalling $appName. This may take some time. Please wait..."
Execute-Process -Path "dism.exe" -Parameters "/online /disable-feature /featurename:NetFX3 /LimitAccess /LogPath:$configToolkitLogDir\$installName-dism-remove.log"
</uninstall>
<detection>
$regPath="HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5\*"
if (test-path $regPath) {Get-ItemProperty $regPath | where {$_.Install -eq 1}}
</detection>
<supersedence>
</supersedence>
</appdefinition>
Posted in automateAppDeployment, Configuration Manager, Deutsch, System Center, System Center 2012 | Tagged , , | 1 Comment