[SCCM 2007] Powershell–MAJ2 Module de gestion (64 cmdlets)

Afin de faciliter toujours plus l’automatisation des tâches d’administration sous ConfigMgr 2007, je vous propose une mise à jour du fameux module de gestion Powershell réalisé initialement par Michael Niehaus, puis amélioré par Rikard Ronnkvist et Stefan Ringler.

Dans le cadre de cette mise à jour, j’ai développé 24 cmdlets et ajouté/adapté ceux de Jeremy Young et de Stephane Van Gulick.

[MAJ 08/03/13] Suite à une première remarque, des modifications ont été apportées sur toutes les fonctions liées aux Folders (Get-SCCMFolder, Copy-SCCMTaskSequence, Import-SCCMTaskSequence, New-SCCMAdvertisement, New-SCCMPackage). Il faut désormais saisir l’ID du Folder et plus son nom (cela posait problème en cas de noms identiques dans les arborescences).

[MAJ 14/03/13] Ajout d’un cmdlet de check d’installation de R3, et donc de l’ajout de nouvelles ressources dynamiquement à la création d’une nouvelle collection.

Voici la liste complète des cmdlets disponibles :

Cmdlet

Description

Arguments

Status

Add-SCCMCollectionRule

Add a Rule (Direct or WQL Query) to a collection

SccmServer

CollectionID

RuleName

ResourceName

QueryExpression

LimitToCollectionID

Native

Add-SCCMDistributionPoint

Add a Distribution Point

SccmServer

DPPackageID

DPName

DPsSiteCode

DPGroupName

AllDPs

Native

Connect-SCCMServer

Connect to one SCCM server

HostName

SiteCode

Credential

Native

Get-SCCMAdvertisement

Get Advertisement

SccmServer

Filter

Native

Get-SCCMBootImagePackage

Get Boot Image Package

SccmServer

Filter

Native

Get-SCCMCollection

Get Collection

SccmServer

Filter

Native

Get-SCCMCollectionMembers

Get Collection Members

SccmServer

CollectionID

Native

Get-SCCMCollectionRules

Get Collection Rules

SccmServer

CollectionID

Native

Get-SCCMCommands

Display all SCCM cmdlets available

 

Native

Get-SCCMDriver

Get Driver

SccmServer

Filter

Native

Get-SCCMDriverPackage

Get Driver Package

SccmServer

Filter

Native

Get-SCCMImagePackage

Get Image Package

SccmServer
Filter

Native

Get-SCCMInboxes

Get Inboxes

SccmServer
minCount

Native

Get-SCCMIsR2

Get if R2 is installed

SccmServer

Native

Get-SCCMObject

Get an SCCM Object based on WMI classes

SccmServer
Class
Filter

Native

Get-SCCMOperatingSystemInstallPackage

Get Operating System Install Package

SccmServer
Filter

Native

Get-SCCMPackage

Get Package

SccmServer
Filter

Native

Get-SCCMParentCollection

Get Parent Collection of a Collection

SccmServer
CollectionID

Native

Get-SCCMSite

Get SCCM Site Information

SccmServer
Filter

Native

Get-SCCMSiteDefinition

Get SCCM Site Definition

SccmServer

Native

Get-SCCMSiteDefinitionProps

Get SCCM Site Definition Properties

SccmServer

Native

Get-SCCMSubCollections

Get sub Collections of a collection

SccmServer
CollectionID

Native

Get-SCCMUser

Get SCCM User

SccmServer
ResourceID
UniqueUserName
WindowsNTDomain
UserName

Native

New-SCCMProgram

Create a new Program

SccmServer
PrgName
PrgPackageID
PrgComment
PrgCommandLine
PrgMaxRunTime
PrgSpaceReq
PrgWorkDir
PrgFlags

Native

Update-SCCMDriverPkgSourcePath

Update Driver Package Source Path

SccmServer
CurrentPath
NewPath

Native

Update-SCCMDriverSourcePath

Update Driver Source Path

SccmServer
CurrentPath
NewPath

Native

Update-SCCMPackageSourcePath

Update Package Source Path

SccmServer
CurrentPath
NewPath

Native

Clear-SCCMLastPXEAdvertisement

Clear Last PXE Advertisement

SccmServer
CollectionID
ResourceName

New

Copy-SCCMTaskSequence

Copy Task Sequence

SccmServer
TaskSequenceID
NewName

FolderID

Description
CustomText
Duration

New

Export-SCCMTaskSequence

Export Task Sequence

SccmServer
TaskSequenceID
Path

New

Get-SCCMDCMAssignment

Get Desired Configuration Management

SccmServer
CollectionID

New

Get-SCCMFolder

Get Folder

SccmServer

Filter

FolderNodeID

ParentFolderID

New

Get-SCCMFolderNode

 

Get folder Node (like Packages, Advertisements, Task Sequences, …)

NodeName

New

Get-SCCMIsR3

Get if R3 is installed

 

New

Get-SCCMReport

Get Report

SccmServer

Filter

New

Get-SCCMSUMDeploymentTemplate

Get Software Updates Deployment Template

SccmServer

Filter

New

Get-SCCMSUMUpdatesInfo

Get Software Updates Information

SccmServer

ArticleID

Severity

Downloaded

Deployed

New

Import-SCCMTaskSequence

Import Task Sequence

SccmServer

Name

Path

FolderID

Description

CustomText

Duration

New

New-SCCMFolder

Create a new folder

FolderName

FolderNodeID

ParentFolderID

New

New-SCCMSUMDeploymentTemplate

Create a new Software Updates Deployment Template

SccmServer
Name
Description
CollectionID
Duration
DurationUnit
IncludeSubCollection
AllowNotification
ScheduleUTC
RestartServers
RestartWorkstations
RestartOutsideMaintenance
DownloadFromLocalDP
DownloadFromUnprotectedDP

New

Remove-SCCMAdvertisement

Remove Advertisement

SccmServer
AdvertisementID

New

Remove-SCCMBootImagePackage

Remove Boot Image Package

SccmServer
BootImagePackageID

New

Remove-SCCMCollection

Remove Collection

SccmServer
CollectionID
Force

New

Remove-SCCMCollectionRule

Remove Collection Rule

SccmServer
CollectionID
RuleName

New

Remove-SCCMComputer

Remove Computer

SccmServer
ResourceID
Obsolete

New

Remove-SCCMDriverPackage

Remove Driver Package

SccmServer
DriverPackageID

New

Remove-SCCMFolder

Remove Folder

SccmServer

FolderID

New

Remove-SCCMPackage

Remove Package

SccmServer
PackageID

New

Remove-SCCMReport

Remove Report

SccmServer
ReportID

New

Remove-SCCMSUMDeploymentTemplate

Remove Software Updates Deployment Template

SccmServer
Name

New

Remove-SCCMTaskSequence

Remove Task Sequence

SccmServer
TaskSequenceID

New

Add-SCCMDirUserCollectionRule

Add a User Rule to a Collection

SccmServer
CollectionID
UserName

Update

Clear-SCCMCollectionVariables

Removes all collection variables from the CollectionID passed in

SccmServer
CollectionID

Update

Get-SCCMCollectionVariablePrecedence

Returns the variable precedence on the CollectionID passed in

SccmServer
CollectionID

Update

Get-SCCMCollectionVariables

Retrieves collection variables and their values from the SCCM site server WMI repository; if no CollectionID is
passed in it will collect variables from all collections

SccmServer
CollectionID

Update

Get-SCCMComputer

Get Computer

SccmServer
ResourceID
NetbiosName
Obsolete

Update

Get-SCCMTaskSequence

Get Task Sequence

SccmServer
Filter

Update

New-SCCMAdvertisement

Create a new Program or Task Sequence Advertisement

SccmServer
AdvertisementName
CollectionID
PackageID
ProgramName

FolderID
Priority
RerunBehavior
StartTime
EndTime
MandatoryTime
Download
IncludeSubCollection
EnableWOL
IgnoreMaintenance
AllowRestart
TSUseRemoteDP
TSUseUnprotectedDP
TSShowProgressBar

Update

New-SCCMCollection

Create a new Collection

SccmServer

Name

Comment

DynamicAddResources

RefreshMinutes

RefreshHours

RefreshDays

ParentCollectionID

Update

New-SCCMPackage

Create a new Package

SccmServer
Name
Version
Manufacturer
Language
Description
PkgSourcePath
PkgShareName

FolderID

Update

New-SCCMAppVPackage

Creates an App-V Package

SccmServer
AppName
smsShare
ApplicationNameSourceFolder
Manufacturer
Language

Update

New-SCCMCollectionVariable

Creates a collection variable and assigns a value to it for the CollectionID passed in

SccmServer
VariableName
VariableValue
CollectionID

Update

Remove-SCCMCollectionVariable

Removes the variable from the CollectionID passed in

SccmServer
VariableName
CollectionID

Update

Set-SCCMCollectionVariablePrecedence

Sets the variable precedence on the CollectionID passed in

SccmServer
VariablePrecedence
CollectionID

Update

Pour ajouter le module à votre console Powershell :

Import-Module <path>\SCCM-Commands.psm1

N’hésitez pas à consulter l’aide de chaque cmdlet en utilisant Get-Help.

J’espère que ce module vous sera utile autant qu’à moi ! Sourire

Bon téléchargement !

LIEN DE TELECHARGEMENT

Publicités

A propos Florian VALENTE

IT Consultant specialized in Microsoft Deployment Solutions like MDT or ConfigMgr
Cet article, publié dans ConfigMgr 2007, Outils, Scripting, est tagué , , . Ajoutez ce permalien à vos favoris.

2 commentaires pour [SCCM 2007] Powershell–MAJ2 Module de gestion (64 cmdlets)

  1. svangulick dit :

    Bonjour Florian,

    J’ai télécharger ta version du module. J’ai peut être pas la toute derniere version, mais n’y a-t-il pas une partie du project qui manque ? Je pense nottament une partie de l’historique ?

    C’est une bonne idée d’avoir mis un auteur dans l’aide de get-commands. Cela doit être une erreur également, mais je pense que la aussi il manque les 5 autre auteurs 🙂

    J’ai ouvert un projet Github pour que les modifications fait module puissent être suivies, et que nous aeyons accès a des functionalités tel que le Bug tracking par exemple etc voici le lien

    https://github.com/Stephanevg/SCCM-Module

    Je préconise que les modifications futur soient fait la dessus. Qu’en penses-tu ?

    • Bonjour Stéphane,

      Tout d’abord, merci pour ton retour.
      Comme tu as pu le voir, le billet a été publié le 6 mars 2013 et je ne l’ai pas retouché depuis, ce qui commence à dater 🙂
      J’ai téléchargé ton module et après lecture il s’avère que tu as ajouté de ton côté de nombreuses cmdlets bien pratiques depuis l’an dernier, d’où cet écart. Certaines font en revanche doublon comme notamment les cmdlets liées aux séquences de tâches et aux dossiers que j’ai développé en 2013 et toi en 2014.
      Concernant l’auteur, en effet je n’ai mis que mon nom en auteur principal, mais j’ai respecté le travail des créateurs/contributeurs initiaux en les mentionnant. Je ne vois pas d’inconvénient à tous les ajouter en haut du script si cela te pose un souci.

      Pour le GitHub c’est une bonne idée. Si tu es d’accord, je te laisse ajouter les cmdlets du module que je propose. J’essaierai de créer une branche si jamais je prends le temps de développer/mettre à jour de nouvelles cmdlets pour SCCM 2007 dans le futur.

      Bien cordialement

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s