VS2015 Remote Debugging JavaScript
SCRIPT : créer un package SCCM et le programme d'installation associé
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 SCRIPT : Windows Server 2008 – Lister les composants installés
Dernièrement un de mes collègues m'a demandé de récupérer la liste des composants installés sur un serveur Windows Server 2008 via un script. J'ai tout de suite pensé à utiliser Powershell et je vous fais part du (tout) petit script que j'ai écrit.
le but était donc d'avoir une liste des éléments cochés dans les fenêtres suivantes :
et
Pour écrire ce script, je me suis appuyé sur l'outil servermanagercmd.exe qui permet d'installer/desinstaller des rôles et des fonctionnalités sous Windows Sevrer 2008 mais qui permet également de dumper la configuration dans un fichier XML (ô joie)
le plus gros du travail étant fait, voici donc le petit bout de script :
function Get-InstalledComponents {
[Environment]::GetEnvironmentVariable("TMP") | Push-Location
servermanagercmd –query serverroles.xml | out-null
$serverroles = [XML] (gc .\serverroles.xml)
$serverroles.SelectNodes("//*") | ? {$_.Installed –eq "true"}
del .\serverroles.xml
Pop-Location
}
et voila le résultat
Etant donné que l'on traite un fichier XML Powershell récupère des informations sur lesquelles on peut faire des traitements, comme par exemple :
récupérer la liste des Fonctionnalités installées :
Get-InstalledComponents | ? {$_.name –eq "Features"}
Récupérer la liste des rôles et services de rôles installés :
Get-InstalledComponents | ? {$_.name –like "Role*"}
Choisir les colonnes à afficher
Get-InstalledComponents | select Id, DisplayName, Name
etc.































Tools à Internet Options and select Advanced tab




Comments
Post a Comment