Question
pb recuperation propriétés taches planifiées
- Stephane
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 5
- Remerciements reçus 0
il y a 7 ans 10 mois #25394
par Stephane
pb recuperation propriétés taches planifiées a été créé par Stephane
Bonjour,
je suis en train de faire un script afin de pourvoir récupérer l'ensemble des taches planifiées sur des machines avec certaines propriétés pour ensuite les injecter en base pour avoir une visu générale des tâches s'exécutant sur ces machines.
J'ai regardé les posrs déjà existants sur cela mais j'y ai pas trouvé mon bonheur.
mon problème, c'est que les paramètres correspondant aux jours de la semaine ainsi que l'intervalle n'apparaissent pas. Pourtant, je récupère bien d'autres valeurs en provenance du xml.
[code:1]param(
$computername = \"localhost\",
[switch]$RootFolder
)
#region Functions
function Get-AllTaskSubFolders {
[cmdletbinding()]
param (
# Set to use $Schedule as default parameter so it automatically list all files
# For current schedule object if it exists.
$FolderRef = $Schedule.getfolder(\"\\"«»)
)
if ($FolderRef.Path -eq '\') {
$FolderRef
}
if (-not $RootFolder) {
$ArrFolders = @()
if(($folders = $folderRef.getfolders(1))) {
$folders | ForEach-Object {
$ArrFolders += $_
if($_.getfolders(1)) {
Get-AllTaskSubFolders -FolderRef $_
}
}
}
$ArrFolders
}
}
try {
$schedule = New-Object –ComObject (\"Schedule.Service\"«»)
} catch {
Write-Warning \"Schedule.Service COM Object not found, this script requires this object\"
return
}
$Schedule.connect($ComputerName)
$AllFolders = Get-AllTaskSubFolders
foreach ($Folder in $AllFolders) {
if (($Tasks = $Folder.GetTasks(1))) {
$Tasks | Foreach-Object {
[xml]$_FormatXml = $_.xml
$tableau=New-Object PSObject
$tableau | Add-Member -Name Hostname -MemberType NoteProperty -Value $ComputerName
$tableau | Add-Member -Name Tache -MemberType NoteProperty -Value $_.Name
$tableau | Add-Member -Name Active -MemberType NoteProperty -Value $_.Enabled
$tableau | Add-Member -Name LastRunTime -MemberType NoteProperty -Value $_.LastRunTime
$tableau | Add-Member -Name NextRunTime -MemberType NoteProperty -Value $_.NextRunTime
#$tableau | Add-Member -Name Auetur -MemberType NoteProperty -Value $_FormatXml.Task.RegistrationInfo.Author
$tableau | Add-Member -Name ToutesLesSemaines -MemberType NoteProperty -Value $_FormatXml.Task.Triggers.CalendarTrigger.ScheduleByWek.WeeksInterval
$tableau | Add-Member -Name Jours -MemberType NoteProperty -Value $_FormatXml.Task.Triggers.CalendarTrigger.ScheduleByWeek.DaysOfWeek
$tableau | Add-Member -Name UserRunning -MemberType NoteProperty -Value $_FormatXml.Task.Principals.Principal.UserId
$tableau | Add-Member -Name Command -MemberType NoteProperty -Value $_FormatXml.Task.Actions.Exec.Command
$tableau | Add-Member -Name Command_Arg -MemberType NoteProperty -Value $_FormatXml.Task.Actions.Exec.Arguments
$tableau
#Add-content -value $tableau -Path C:\resulat_jobtask.csv
}
}
}
[/code:1]
Si quelqu'un a une idée ou un conseil, je suis preneur.
d'avance merci
Stéphane
je suis en train de faire un script afin de pourvoir récupérer l'ensemble des taches planifiées sur des machines avec certaines propriétés pour ensuite les injecter en base pour avoir une visu générale des tâches s'exécutant sur ces machines.
J'ai regardé les posrs déjà existants sur cela mais j'y ai pas trouvé mon bonheur.
mon problème, c'est que les paramètres correspondant aux jours de la semaine ainsi que l'intervalle n'apparaissent pas. Pourtant, je récupère bien d'autres valeurs en provenance du xml.
[code:1]param(
$computername = \"localhost\",
[switch]$RootFolder
)
#region Functions
function Get-AllTaskSubFolders {
[cmdletbinding()]
param (
# Set to use $Schedule as default parameter so it automatically list all files
# For current schedule object if it exists.
$FolderRef = $Schedule.getfolder(\"\\"«»)
)
if ($FolderRef.Path -eq '\') {
$FolderRef
}
if (-not $RootFolder) {
$ArrFolders = @()
if(($folders = $folderRef.getfolders(1))) {
$folders | ForEach-Object {
$ArrFolders += $_
if($_.getfolders(1)) {
Get-AllTaskSubFolders -FolderRef $_
}
}
}
$ArrFolders
}
}
try {
$schedule = New-Object –ComObject (\"Schedule.Service\"«»)
} catch {
Write-Warning \"Schedule.Service COM Object not found, this script requires this object\"
return
}
$Schedule.connect($ComputerName)
$AllFolders = Get-AllTaskSubFolders
foreach ($Folder in $AllFolders) {
if (($Tasks = $Folder.GetTasks(1))) {
$Tasks | Foreach-Object {
[xml]$_FormatXml = $_.xml
$tableau=New-Object PSObject
$tableau | Add-Member -Name Hostname -MemberType NoteProperty -Value $ComputerName
$tableau | Add-Member -Name Tache -MemberType NoteProperty -Value $_.Name
$tableau | Add-Member -Name Active -MemberType NoteProperty -Value $_.Enabled
$tableau | Add-Member -Name LastRunTime -MemberType NoteProperty -Value $_.LastRunTime
$tableau | Add-Member -Name NextRunTime -MemberType NoteProperty -Value $_.NextRunTime
#$tableau | Add-Member -Name Auetur -MemberType NoteProperty -Value $_FormatXml.Task.RegistrationInfo.Author
$tableau | Add-Member -Name ToutesLesSemaines -MemberType NoteProperty -Value $_FormatXml.Task.Triggers.CalendarTrigger.ScheduleByWek.WeeksInterval
$tableau | Add-Member -Name Jours -MemberType NoteProperty -Value $_FormatXml.Task.Triggers.CalendarTrigger.ScheduleByWeek.DaysOfWeek
$tableau | Add-Member -Name UserRunning -MemberType NoteProperty -Value $_FormatXml.Task.Principals.Principal.UserId
$tableau | Add-Member -Name Command -MemberType NoteProperty -Value $_FormatXml.Task.Actions.Exec.Command
$tableau | Add-Member -Name Command_Arg -MemberType NoteProperty -Value $_FormatXml.Task.Actions.Exec.Arguments
$tableau
#Add-content -value $tableau -Path C:\resulat_jobtask.csv
}
}
}
[/code:1]
Si quelqu'un a une idée ou un conseil, je suis preneur.
d'avance merci
Stéphane
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
il y a 7 ans 10 mois #25395
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Re:pb recuperation propriétés taches planifiées
Bonjour Stéphane,
Quelle version de PowerShell et d'OS utilises tu ?
En effet, depuis Server 2012R2 il me semble, il existe un module pour gérer les tâches planifiées. Peut-être qu'il te donnera toutes les infos que tu cherches ?
[code:1]
PS > Get-Command *sched*task*
CommandType Name Version Source
----
Function Disable-ScheduledTask 1.0.0.0 ScheduledTasks
Function Enable-ScheduledTask 1.0.0.0 ScheduledTasks
Function Export-ScheduledTask 1.0.0.0 ScheduledTasks
Function Get-ClusteredScheduledTask 1.0.0.0 ScheduledTasks
Function Get-ScheduledTask 1.0.0.0 ScheduledTasks
Function Get-ScheduledTaskInfo 1.0.0.0 ScheduledTasks
Function New-ScheduledTask 1.0.0.0 ScheduledTasks
Function New-ScheduledTaskAction 1.0.0.0 ScheduledTasks
Function New-ScheduledTaskPrincipal 1.0.0.0 ScheduledTasks
Function New-ScheduledTaskSettingsSet 1.0.0.0 ScheduledTasks
Function New-ScheduledTaskTrigger 1.0.0.0 ScheduledTasks
Function Register-ClusteredScheduledTask 1.0.0.0 ScheduledTasks
Function Register-ScheduledTask 1.0.0.0 ScheduledTasks
Function Set-ClusteredScheduledTask 1.0.0.0 ScheduledTasks
Function Set-ScheduledTask 1.0.0.0 ScheduledTasks
Function Start-ScheduledTask 1.0.0.0 ScheduledTasks
Function Stop-ScheduledTask 1.0.0.0 ScheduledTasks
Function Unregister-ClusteredScheduledTask 1.0.0.0 ScheduledTasks
Function Unregister-ScheduledTask 1.0.0.0 ScheduledTasks
[/code:1]
Quelle version de PowerShell et d'OS utilises tu ?
En effet, depuis Server 2012R2 il me semble, il existe un module pour gérer les tâches planifiées. Peut-être qu'il te donnera toutes les infos que tu cherches ?
[code:1]
PS > Get-Command *sched*task*
CommandType Name Version Source
----
Function Disable-ScheduledTask 1.0.0.0 ScheduledTasks
Function Enable-ScheduledTask 1.0.0.0 ScheduledTasks
Function Export-ScheduledTask 1.0.0.0 ScheduledTasks
Function Get-ClusteredScheduledTask 1.0.0.0 ScheduledTasks
Function Get-ScheduledTask 1.0.0.0 ScheduledTasks
Function Get-ScheduledTaskInfo 1.0.0.0 ScheduledTasks
Function New-ScheduledTask 1.0.0.0 ScheduledTasks
Function New-ScheduledTaskAction 1.0.0.0 ScheduledTasks
Function New-ScheduledTaskPrincipal 1.0.0.0 ScheduledTasks
Function New-ScheduledTaskSettingsSet 1.0.0.0 ScheduledTasks
Function New-ScheduledTaskTrigger 1.0.0.0 ScheduledTasks
Function Register-ClusteredScheduledTask 1.0.0.0 ScheduledTasks
Function Register-ScheduledTask 1.0.0.0 ScheduledTasks
Function Set-ClusteredScheduledTask 1.0.0.0 ScheduledTasks
Function Set-ScheduledTask 1.0.0.0 ScheduledTasks
Function Start-ScheduledTask 1.0.0.0 ScheduledTasks
Function Stop-ScheduledTask 1.0.0.0 ScheduledTasks
Function Unregister-ClusteredScheduledTask 1.0.0.0 ScheduledTasks
Function Unregister-ScheduledTask 1.0.0.0 ScheduledTasks
[/code:1]
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- Stephane
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 5
- Remerciements reçus 0
il y a 7 ans 10 mois #25396
par Stephane
Réponse de Stephane sur le sujet Re:pb recuperation propriétés taches planifiées
Bonjour Arnaud,
Pour l'instant, je teste depuis ma machine qui a un PS 3.0 et Windows 7 SP1.
A terme, il sera sur un 2012 qui est actuellement en version 3.0 de powershell et n'a pas ces fonctions lorsque je fais un get-coommand.
Pour l'instant, je teste depuis ma machine qui a un PS 3.0 et Windows 7 SP1.
A terme, il sera sur un 2012 qui est actuellement en version 3.0 de powershell et n'a pas ces fonctions lorsque je fais un get-coommand.
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
il y a 7 ans 10 mois #25397
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Re:pb recuperation propriétés taches planifiées
Je serai toi j'essaierai de pousser pour un update de PowerShell en version 5.1 et un update de Windows vers 2012R2 minimum.
Tu te compliqueras beaucoup moins la vie...
Après je sais que ce n'est pas toujours possible, mais quand on veux on peut !
Arnaud
Tu te compliqueras beaucoup moins la vie...
Après je sais que ce n'est pas toujours possible, mais quand on veux on peut !
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- Stephane
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 5
- Remerciements reçus 0
il y a 7 ans 10 mois #25398
par Stephane
Réponse de Stephane sur le sujet Re:pb recuperation propriétés taches planifiées
c est un peu ça.
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.049 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- pb recuperation propriétés taches planifiées