Question Lister Scheduled Tasks serveur distant

Plus d'informations
il y a 11 ans 11 mois #11413 par brutosaure
Bonjour,

J'aimerais pouvoir lister les scheduled tasks qui tournent sur des serveurs distant dont les noms se trouvent dans une liste.
Mais j'ai beau essayer avec

[code:1] get-wmiobject -class win32_scheduledjob -computername nomduserver[/code:1]

Cela ne fonctionne pas

Je n'ai que ce résultat
[code:1]
jobID command jobstatus Start time



1 C:\ONE\PERFLOG\restartPerfLog.cmd Success 01/01/0001 02:00:00[/code:1]

Pourtant sur ce serveur j'ai plus de 20 tâches planifiés, mais elles n'apparaissent pas.
Quelqu'un a-t-il une idée ?

Merci

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

Plus d'informations
il y a 11 ans 11 mois #11438 par sebastien
Salut,

Voici une méthode simple :

[code:1]get-content \"c:\maliste_de_serveur.txt\" | % {

schtasks /query /S $_ /FO TABLE }[/code:1]


Seb

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

Plus d'informations
il y a 11 ans 11 mois #11440 par brutosaure
Tout d'abord, merci pour ton aide ;-)
Le prob, je crois que la commande SCHTASKS ne me permet pas de voir à quelle heure les tâches démarrent, l'utilisateur qui les lance, le programme utilisé et le arguments passés à ce programme.

Moi j'aurais besoin d'avoir le nom de la tâche, l'utilisateur qui la lance, l'heure, le programme qui l'a lance et les arguments passés.

Pour le moment j'utilise ca :

$schedule = new-object -com(\"Schedule.Service\")
$schedule.connect($Server)
$tasks = $schedule.getfolder(\"\\").gettasks(0)


Le prob ca renvoit du xml et après pour mettre ca en forme dans un fichier .txt c'est un peu chiant.
Donc si il y a plus simple, je suis preneur ;-)

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

Plus d'informations
il y a 11 ans 11 mois #11465 par Gaga
Salut,

Il te suffit de sélectionner la propriété xml de ton objet et de piocher dedans les infos qu'il te faut.
Exemple si ta variable $tasks contient 5 objet tache planifiée et que tu veux sélectionner la 2ième par ex :

[code:1][xml]$a = $tasks.Item(2).xml[/code:1]

Pour récupérer la commande lancer :[code:1]$a.Task.Actions.Exec.Command[/code:1]

Pour récupérer le user :
[code:1]$a.Task.Principals.Principal.UserId[/code:1]

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

Plus d'informations
il y a 11 ans 11 mois #11470 par brutosaure
Ahh génial, c'est exactement ce que je cherchais.
Maintenant j'aimerais juste savoir c'est possible de connaitre le nombre d'entrés

Tu utilises

[code:1]$tasks.Item(2).xml[/code:1]

Mais comment savoir le nombre d'Item au total ?
C'est pour construire une fichier, si je sais le nombre d'Item, je peux construire une boucle qui partirait de $i=0;$i++;$i<=x, x etant ma valeur total d'Item, ensuite j'utiliserais les valeurs [code:1][xml]$MaVar = $tasks.Item($i).xml [/code:1]
Et ça ferait par exemple :
[code:1]write-host \"User = $MaVar.Task.Principals.Principal.UserId\"[/code:1]

Mais encore merci pour ton aide, en fait c'est excellent xml, nikel pour aller rechercher les infos dont j'ai besoin

Message édité par: brutosaure, à: 6/04/12 14:33<br><br>Message édité par: brutosaure, à: 6/04/12 14:33

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

Plus d'informations
il y a 11 ans 11 mois #11474 par Gaga

Mais comment savoir le nombre d'Item au total ?

[code:1]$tasks.Count[/code:1]

Pour boucler pas besoin de connaitre le nb d'item à l'avance, il suffit d'utiliser FOREACH, exemple :

[code:1]foreach ($element in $tasks)
{
$nom=$element.name
[xml]$a=$element.xml
$user=$a.Task.Principals.Principal.UserId
write-host (\&quot;user de la tache $nom est $user\&quot;«»)
}[/code:1]

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

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