none
Comment installer un programme via SCCM sans l'ouvrir RRS feed

  • Question

  • Bonjour,

    J'aimerai pouvoir installer un programme sur un serveur en utilisant SCCM sans ouvrir le GUI de ce dernier avec SCClient.exe

    Est-ce qu'il y a un moyen de lancer SCCM en arrière plan avec en comme paramètre le nom du programme à installer?

    Merci pour votre aide.

    mercredi 3 mai 2017 21:15

Réponses

  • Bonjour,

    Voici un morceau de script qui devrait vous aider :

    Function Execute-Application {
        Param (
            [parameter(Mandatory = $true)]
            [string]$Name
        )
        Try {
            Write-Host "Connecting to the SCCM client Software Center..."
            $softwareCenter = New-Object -ComObject "UIResource.UIResourceMgr"
        }
        Catch {
            Throw "Could not connect to the client Software Center."
        }
        If ($softwareCenter) {
            Write-Host "Searching for deployments for Applications [$name]..."
            $taskSequence = $softwareCenter.GetAvailableApplications() | Where { $_.PackageName -eq "$Name" }
            If ($application) {
                $applicationProgramID = $application.ID
                $applicationPackageID = $application.PackageID
                Write-Host "Found Application [$name] with ID [$applicationPackageID]."
                # Execute the task sequence
                Try {
                    Write-Host "Executing Application [$name]..."
                    $softwareCenter.ExecuteProgram($applicationProgramID,$applicationPackageID,$true)
                    Write-Host "Application executed."
                }
                Catch {
                    Throw "Failed to execute the Application [$name]"
                }
            }
        }
    }

    Sinon plus simplement : 

    Invoke-WmiMethod -Namespace root\ccm\clientsdk -Class CCM_Application -Name Install -ArgumentList 0,"xxAPP scope IDxx",$True,$False,1,1 

    Cordialement,


    Jean-Sébastien DUCHÊNE - www.windowstouch.fr - Microsoft Valuable Professional (MVP) Enterprise Mobility - Microsoft Student Partner (MSP) 2008/2010, MCSE : Enterprise Devices and Apps, MCSE : Private Cloud, MCTS Configuration Manager/MDOP

    jeudi 4 mai 2017 06:20
    Modérateur
  • Bonjour,

    Je pense que je dois mal comprendre la question pour ma part parce que c'est une des fonctionnalitées de bases de sccm sinon.

    Vous pouvez créer une application avec un déploiement obligatoire sur un regroupement computer et une deadline immédiate par exemple et le déploiement de l'application se fera des que le refresh de la policy computer aura lieu soit toutes les 60 min par défaut

    Le déploiement obligatoire permet d'installer l'application sans aucune interraction de l'utilisateur une fois que la deadline est atteinte.

    Le déploiement en mode disponible nécessite que l'utilisateur lance le processus d'installation via la GUI ou le script qu'a fourni jean sébastien je pense.


    Merci de marquer comme réponse les sujets qui vous ont permis d'avancer afin que cela puisse être bénéfique aux personnes qui rencontrent le même problème.


    jeudi 4 mai 2017 20:46

Toutes les réponses

  • Bonjour,

    Voici un morceau de script qui devrait vous aider :

    Function Execute-Application {
        Param (
            [parameter(Mandatory = $true)]
            [string]$Name
        )
        Try {
            Write-Host "Connecting to the SCCM client Software Center..."
            $softwareCenter = New-Object -ComObject "UIResource.UIResourceMgr"
        }
        Catch {
            Throw "Could not connect to the client Software Center."
        }
        If ($softwareCenter) {
            Write-Host "Searching for deployments for Applications [$name]..."
            $taskSequence = $softwareCenter.GetAvailableApplications() | Where { $_.PackageName -eq "$Name" }
            If ($application) {
                $applicationProgramID = $application.ID
                $applicationPackageID = $application.PackageID
                Write-Host "Found Application [$name] with ID [$applicationPackageID]."
                # Execute the task sequence
                Try {
                    Write-Host "Executing Application [$name]..."
                    $softwareCenter.ExecuteProgram($applicationProgramID,$applicationPackageID,$true)
                    Write-Host "Application executed."
                }
                Catch {
                    Throw "Failed to execute the Application [$name]"
                }
            }
        }
    }

    Sinon plus simplement : 

    Invoke-WmiMethod -Namespace root\ccm\clientsdk -Class CCM_Application -Name Install -ArgumentList 0,"xxAPP scope IDxx",$True,$False,1,1 

    Cordialement,


    Jean-Sébastien DUCHÊNE - www.windowstouch.fr - Microsoft Valuable Professional (MVP) Enterprise Mobility - Microsoft Student Partner (MSP) 2008/2010, MCSE : Enterprise Devices and Apps, MCSE : Private Cloud, MCTS Configuration Manager/MDOP

    jeudi 4 mai 2017 06:20
    Modérateur
  • Bonjour,

    Je pense que je dois mal comprendre la question pour ma part parce que c'est une des fonctionnalitées de bases de sccm sinon.

    Vous pouvez créer une application avec un déploiement obligatoire sur un regroupement computer et une deadline immédiate par exemple et le déploiement de l'application se fera des que le refresh de la policy computer aura lieu soit toutes les 60 min par défaut

    Le déploiement obligatoire permet d'installer l'application sans aucune interraction de l'utilisateur une fois que la deadline est atteinte.

    Le déploiement en mode disponible nécessite que l'utilisateur lance le processus d'installation via la GUI ou le script qu'a fourni jean sébastien je pense.


    Merci de marquer comme réponse les sujets qui vous ont permis d'avancer afin que cela puisse être bénéfique aux personnes qui rencontrent le même problème.


    jeudi 4 mai 2017 20:46