Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Voici un script Powershell inspiré du SDK de SCCM vous permettant de créer un package SCCM et le programme d’installation associé
1: [system.reflection.assembly]::loadfrom("C:\Program Files\Microsoft Configuration Manager\AdminUI\bin\adminui.wqlqueryengine.dll")
2: [system.reflection.assembly]::loadfrom("C:\Program Files\Microsoft Configuration Manager\AdminUI\bin\microsoft.configurationmanagement.managementprovider.dll")
3:
4: # déclaration des constantes
5:
6: $newPackageName = "package de test"
7: $newPackageDescription = "Package cree a partir de powershell"
8: $newPackageSourceFlag = 3
9: $newPackageSourcePath = "\\Serveur1\sources\test"
10:
11: $newProgramName = "Installation"
12: $newProgramComment = "Programme d'installation cree a partir de powershell"
13: $newProgramCommandLine = "cscript installation.wsf"
14: $newProgramMaxRunTime = 0
15:
16: # declaration des variables
17:
18: $namedValues = New-Object -TypeName Microsoft.ConfigurationManagement.ManagementProvider.SmsNamedValuesDictionary
19: $connection = New-Object -TypeName Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine.WqlConnectionManager -ArgumentList $namedValues
20:
21: # connection au serveur sccm local
22:
23: $connection.Connect([System.Net.Dns]::GetHostName().ToUpper())
24:
25: # création du package
26:
27: $newPackage = $connection.CreateInstance("SMS_Package")
28:
29: #Populate new package properties.
30:
31: $newPackage["Name"].StringValue = $newPackageName
32: $newPackage["Description"].StringValue = $newPackageDescription
33: $newPackage["PkgSourceFlag"].IntegerValue = $newPackageSourceFlag
34: $newPackage["PkgSourcePath"].StringValue = $newPackageSourcePath
35:
36: # sauvegarde des parametres du package
37:
38: $newPackage.Put()
39: $newPackage.Get()
40:
41: # affichage des propriétés du package
42:
43: write-host "INFO : package cree : " $newPackageName
44: write-host "INFO : Package ID : " + $newPackage["PackageID"].StringValue
45:
46: # Création du programme
47:
48: $newProgram = $connection.CreateInstance("SMS_Program")
49:
50: # renseignement des propriétés du programme
51:
52: $newProgram["PackageID"].StringValue = $newPackage["PackageID"].StringValue
53: $newProgram["ProgramName"].StringValue = $newProgramName
54: $newProgram["Comment"].StringValue = $newProgramComment
55: $newProgram["CommandLine"].StringValue = $newProgramCommandLine
56: $newProgram["Duration"].IntegerValue = $newProgramMaxRunTime
57:
58: # sauvegarde des parametres du programme
59:
60: $newProgram.Put();
61:
62: write-host "INFO : Programme cree: " $newProgramName