Question schtasks y a t'il une autre alternative ?

Plus d'informations
il y a 15 ans 9 mois #7181 par Lymnia
Bonjour,

Voilà j'ai un petit problème avec schtasks et j'ai vu que j'étais pas le seul.

Alors j'arrive sans problème à créer à distance ma tâche basée sur un event ( j'avoue que sa pas été une mince à faire :pinch: )

Vous allez me dire: 'Ben, il où ton problème ?'
:whistle: C'est tout bête en faite je voudrais faire trois choses:
- Ajouter une description à ma tâche (:huh: c'est con, mais j'ai pas trouvé comment faire avec schtasks)

- Lancer la tâche même si l'utilisateur n'est pas connecté mais en utilisant un mot de passe ( il y a /NT mais il coche l'option ne pas garder le mot de passe grrr!)

- Dans les settings, cocher : 'Run task as soon as possible ...'

Je vous donne la ligne de code :
quand j'ai l'évènement avec l'id 4 qui arrive, il me lance un script
[code:1]$NomMachine = \"HC001WPM\"
echo $NomMachine
$NomTache = \"test3\"
$CheminScript = \"& 'E:\sysapp\prodexpl\Powershell\GestionSwitchVMS\SCRIPT_R2SEAU_HYPERV.ps1'\"
$CommandeTache = \"powershell -ImportSystemModules -command \"+ $CheminScript
if($NomMachine -eq \"\"«»)
{
$NomUtilisateur = \"toto\"
}
else
{
$NomUtilisateur = \"$NomMachine\toto\"
}
$MDP_Utilisateur = \"LeMDP\"
SCHTASKS /Create /tn $NomTache /tr $CommandeTache /sc ONEVENT /EC System /MO *[System[EventID=4]] /s $NomMachine /u $NomUtilisateur /p $MDP_Utilisateur /RL Highest
[/code:1]

Si j'ai raté des commandes dans schtasks merci de me le rappeler sinon si quelqu'un connait une autre solution je la prends :lol:

Ps: Sur serveur 2008, schtasks propose des commandes supplémentaire qui ne sont pas accessible sur 2003 ou XP. Je travail à partir d'un serveur 2008 qui va aller travailler sur ses confrères.

Merci d'avance.

Pour WMI, pensez à scriptomatic ça peut aider quand on connait pas la classe que l'on voudrait utiliser.

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

Plus d'informations
il y a 15 ans 8 mois #7196 par Arthur
J'ai moi même rencontré ce problème, je n'ai trouvé qu'une seule solution à peu prêt convenable, mais elle ne marche pas pour 2003 :dry:
En faite il faut d'abord configurer une tâche planifiée avec les droits d'accès ensuite il suffit de l'exporter, de la placer dans un script, de la modifier comme on veut,et pour finir l'importer avec l'option /XML de la commande /create de schtasks.exe :whistle:

social.technet.microsoft.com/Forums/en/w...b2-b361-254894d80404

L'option /XML n'existe que sur 2008 (Sous 2008 les Job file sont sous la forme de fichiers XML mais pas sur 2003)

Facile hein? :laugh:

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

Plus d'informations
il y a 15 ans 8 mois #7207 par Lymnia
:woohoo: Ok vu que je cherche uniquement une sollution sur 2008 c'est parfait enfin celà répond à mon problème.

Je te remercie, je teste et je passe en résolut si ça marche.:lol:

merci encore.

Pour WMI, pensez à scriptomatic ça peut aider quand on connait pas la classe que l'on voudrait utiliser.

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

Plus d'informations
il y a 15 ans 8 mois #7230 par Alan Pinard
Bonjour,

tu peux peut-être regarder du côté de ce site:

code.msdn.microsoft.com/PowerShellPack

Sinon, il y a du côté de l'objet Com:

[code:1]
$ST = New-Object -com(\"Schedule.Service\"«»)
$ST | GM
[/code:1]

TypeName: System.__ComObject#{2faba4c7-4da9-4013-9697-20cc3fd40f85}

Name MemberType Definition
----



Connect Method void Connect (Variant, Variant, Variant, Variant)
GetFolder Method ITaskFolder GetFolder (string)
GetRunningTasks Method IRunningTaskCollection GetRunningTasks (int)
NewTask Method ITaskDefinition NewTask (uint)
Connected Property bool Connected () {get}
ConnectedDomain Property string ConnectedDomain () {get}
ConnectedUser Property string ConnectedUser () {get}
HighestVersion Property uint HighestVersion () {get}
TargetServer Property string TargetServer () {get}


Et voici un Get-Member qui décrit les méthodes et les propriétés. Je n'ai pas testé mais lorsque j'aurai un peu de temps je le ferai. Mais d'ici là tu peux regarder dans cette direction.

Et finalement, il y a une DLL que tu peux p-e importer dans Powershell et qui semble être bien construite. Tu pourras la trouver sur le site suivant:

www.codeproject.com/KB/cs/tsnewlib.aspx#Sample%20Code

Tu peux importer la DLL avec comme ceci:

[code:1]
$assemblyFile = \"C:\Temp\TaskScheduler.dll\"
[System.Reflection.Assembly]::LoadFile($assemblyFile)
[/code:1]

Alan Pinard
Version A

Message édité par: Versiona, à: 22/06/10 20:16<br><br>Message édité par: Versiona, à: 22/06/10 20:19

Alan Pinard
Version A

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

Plus d'informations
il y a 15 ans 8 mois #7231 par Alan Pinard
Bonjour,

En attendant, tu peux aller voir sur ce lien (anglais :( ). Il y a un exemple avec l'API du Task Scheduler.

myitforum.com/cs2/blogs/yli628/archive/2...k-scheduler-api.aspx

Alan Pinard
Version A

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

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