none
Deployment Type Requirement mit Powershell hinzufügen RRS feed

  • Frage

  • Hallo,

    ist es möglich über Powershell ein bestimmtes Requirement dem App. Deployment Type hinzuzufügen?
    Ziel ist es, auf allen Applications dieses Requirement zu setzen, ohne Alle manuell durchklicken zu müssen.

    Leider habe ich im Powershell CMDlet "Set-CMDeploymentType" bzw. "Get-CMDeploymentType" keinen Parameter hierfür gefunden.

    Vielen Dank
    Patrick

    Donnerstag, 21. Mai 2015 11:53

Antworten

  • Geht, ist aber alles andere als trivial. Hier ein Bsp, welches in die Richtung geht: https://gallery.technet.microsoft.com/SCCM-2012-Global-Condition-2b133101

    Torsten Meringer | http://www.mssccmfaq.de

    • Als Antwort markiert _Patrick.K Dienstag, 26. Mai 2015 09:07
    Donnerstag, 21. Mai 2015 13:50
    Beantworter
  • Hi

    wenn Du überall das gleiche Requirement brauchst und CU4 installiert hast geht es relativ einfach die Regeln einer App zu kopieren:

    # get applications
    $appSource      = Get-CMApplication -Name "Name der Quell App" | ConvertTo-CMApplication
    $appDestination = Get-CMApplication -Name "Name der Ziel App" | ConvertTo-CMApplication
    
    # get requiurements from first DT
    $reqSource = $appSource.DeploymentTypes[0].Requirements
    
    # get target DT
    $dtDestination = $appDestination.DeploymentTypes[0]
    
    # copy all requirements
    foreach ($req in $reqSource)
    {
        # create new rule ID
        $guid = [guid]::NewGuid()
        $ruleId = "Rule_$guid"
    
        $req.RuleID = $ruleId
    
        $dtDestination.Requirements.Add($req)
    }
    
    # save changes
    $obj = ConvertFrom-CMApplication -Application $appDestination
    $obj.Put()

    • Als Antwort markiert _Patrick.K Dienstag, 26. Mai 2015 09:07
    Sonntag, 24. Mai 2015 08:39

Alle Antworten

  • Geht, ist aber alles andere als trivial. Hier ein Bsp, welches in die Richtung geht: https://gallery.technet.microsoft.com/SCCM-2012-Global-Condition-2b133101

    Torsten Meringer | http://www.mssccmfaq.de

    • Als Antwort markiert _Patrick.K Dienstag, 26. Mai 2015 09:07
    Donnerstag, 21. Mai 2015 13:50
    Beantworter
  • Hi

    wenn Du überall das gleiche Requirement brauchst und CU4 installiert hast geht es relativ einfach die Regeln einer App zu kopieren:

    # get applications
    $appSource      = Get-CMApplication -Name "Name der Quell App" | ConvertTo-CMApplication
    $appDestination = Get-CMApplication -Name "Name der Ziel App" | ConvertTo-CMApplication
    
    # get requiurements from first DT
    $reqSource = $appSource.DeploymentTypes[0].Requirements
    
    # get target DT
    $dtDestination = $appDestination.DeploymentTypes[0]
    
    # copy all requirements
    foreach ($req in $reqSource)
    {
        # create new rule ID
        $guid = [guid]::NewGuid()
        $ruleId = "Rule_$guid"
    
        $req.RuleID = $ruleId
    
        $dtDestination.Requirements.Add($req)
    }
    
    # save changes
    $obj = ConvertFrom-CMApplication -Application $appDestination
    $obj.Put()

    • Als Antwort markiert _Patrick.K Dienstag, 26. Mai 2015 09:07
    Sonntag, 24. Mai 2015 08:39
  • Danke euch, das hilft mir schon sehr weiter.
    Dienstag, 26. Mai 2015 08:35