Bonjour,
je cherche comment exécuter un PowerShell seulement si il répond a cette obligation:
Être après vendredi 19H00 et avant lundi 00H00.
Alors: Fin du script .PS
Sinon: Exécution des lignes suivantes.
Merci d'avance.
Bonjour,
je cherche comment exécuter un PowerShell seulement si il répond a cette obligation:
Être après vendredi 19H00 et avant lundi 00H00.
Alors: Fin du script .PS
Sinon: Exécution des lignes suivantes.
Merci d'avance.
Salut,
Ce genre de code me rappelle un de mes projet qui, pour ce faire s'appuyait sur une routine du type :
Ainsi tu peux t'appuyer sur Get-date (doc) afin de récupérer l'heure et la date pour planifier tes actions.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 $TimeZ_ = Get-date -format F $warn_ = write-host("`n /!\ Erreur: le démon n'a pas pu etre lancé ") start-transcript -path $path $warn stop-transcript return($false) } if($time -match $value){ <ton code>..................</ton code> } etc....
En espérant t'avoir apporté de l'aide.
Cordialement.
Salut,
une solution :
Qq tests :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 Function Test-IntervalDate{ #Être après vendredi 19H00 et avant lundi 00H00. Param ( [DateTime] $CurrentDate ) $Result=$false $Dow=$CurrentDate.DayOfWeek #Lundi débutant à zéro heure est tjr exclu #Samedi et dimanche tjr inclus if ([System.DayOfWeek]::Monday..[System.DayOfWeek]::Friday -notContains $Dow) { $Result=$True } #Test l'heure de vendredi if ($Dow -eq [System.DayOfWeek]::Friday) { if (($CurrentDate.Hour -ge 19) -and ($CurrentDate.Minute -gt 0)) { $Result=$True} } # elseif ($Dow -eq [System.DayOfWeek]::Monday) # { # if (($CurrentDate.Hour -lt 0) -and ($CurrentDate.Minute -lt 0)) # { $Result=$True } # } $Result }#Test-IntervalDate
Je pense qu'on peut faire mieux...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 $Ve1="10/02/2012 18:59" -as [datetime] $Ve2="10/02/2012 19:01" -as [datetime] $Sa="11/02/2012 12:00" -as [datetime] $Di1="12/02/2012 12:00" -as [datetime] $Di2="12/02/2012 23:59" -as [datetime] $Lu="13/02/2012 00:00" -as [datetime] $Ma="14/02/2012 08:29" -as [datetime] $Ve1,$Ve2,$Sa,$Di1,$Di2,$Lu,$Ma| Foreach { if (Test-IntervalDate $_) { Write-host "La Date est concernée : $($_.tostring("f"))" } } #Utiliser Compare-Object pour afficher les dates concernées et celles qui ne le sont pas.
Tutoriels Delphi Win32/Delphi .NET/Oracle/PowerShell - FAQ Delphi - FAQ Delphi .NET
Beatus, qui prodest, quibus potest.
Partager