Question Lister dossiers contenant les taches plannifées

Plus d'informations
il y a 14 ans 1 mois #11046 par Burgun
Bonjour,

Je suis à la recherche d'une solution me permettant d'inventorier l'ensemble des taches plannifiées présentes sur les machines d'un domaine.

Pour cela je suis parti sur l'utilisation de la méthode suivante que j'ai pu trouver sur internet.

Je créer un objet COM
$schedule = new-object -com(\"Schedule.Service\")

J'utilise la méthode \"connect\" pour accéder au serveur (la variable $servername est remplacé dans un foreach)
$schedule.connect($servername)

Je récupere les taches à la racine
[code:1]$tasks = $schedule.getfolder(\"\\"«»).gettasks(0)[/code:1]

Et c'est justement là le problème. Lorsque je passe comme parametre [code:1](\"\\"«»)[/code:1] à la méthode \"getfolder\", je ne peux ensuite inventorier que les taches présente à la racine. Ce qui me convient pour des postes sous XP mais qui m’embête pour des serveurs sous 2008 par exemple, ou il est possible que des taches ont été créées dans des sous dossier dont j'ignore le nom.

Je cherche donc un moyen de lister l'ensemble des répertoires présent à la racine de l'arborescence des taches planifiées, de façon par la suite à les passer en parametre de \"getfolder\" pour inclure les taches qu'ils contiennent.

En faisant un get-member sur mon objet \"$schedule\", je ne vois pas d'autre méthodes ou propriété me permettant de faire une sorte de \"Get-ChildItem\" au niveau des taches plannifiées.

Si quelqu'un à une idée je suis preneur.

Message édité par: bvivi57, à: 1/02/12 13:50

Message édité par: bvivi57, à: 1/02/12 13:51<br><br>Message édité par: bvivi57, à: 1/02/12 13:52

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 14 ans 1 mois #11048 par Laurent Dardenne
Salut,
peut-être faut-il un code pour XP et un autre pour 2008 ?
Voir cet article :
msdn.microsoft.com/fr-fr/magazine/cc163350.aspx

Les API indiquées ici nécessitent au minimum Vista.

Sur MSDN, j'ai peu trouvé d'informations sur l'objet COM.<br><br>Message édité par: Laurent Dardenne, à: 1/02/12 20:37

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 14 ans 1 mois #11056 par Gaga
Salut,

Si tu appliques la méthode getfolders(0) sur ton objet [code:1]$schedule.GetFolder('\')[/code:1] tu devrais obtenir la liste des répertoires directement sous la racine.
ex: [code:1]$schedule.GetFolder('\').getfolders(0)[/code:1]
ex: [code:1]$schedule.GetFolder('\microsoft').getfolders(0)[/code:1]

Pour avoir tous les répertoires sous la racine, il faut faire une fonction récursive qui listera tous les sous-répertoires de premier niveau avec le méthode getfolders(0) d'un répertoire donné passé en paramètre.

Message édité par: Gaga, à: 3/02/12 12:07<br><br>Message édité par: Gaga, à: 3/02/12 12:08

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.087 secondes
Propulsé par Kunena