IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

PowerShell Execution pendant période précise


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 54
    Par défaut PowerShell Execution pendant période précise
    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.

  2. #2
    Membre émérite Avatar de messinese
    Homme Profil pro
    IT Security Consultant
    Inscrit en
    Septembre 2007
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IT Security Consultant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2007
    Messages : 429
    Par défaut
    Salut,

    Ce genre de code me rappelle un de mes projet qui, pour ce faire s'appuyait sur une routine du type :

    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....
    Ainsi tu peux t'appuyer sur Get-date (doc) afin de récupérer l'heure et la date pour planifier tes actions.

    En espérant t'avoir apporté de l'aide.
    Cordialement.

  3. #3
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Salut,
    une solution :
    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
    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
    $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.
    Je pense qu'on peut faire mieux...

Discussions similaires

  1. Réponses: 7
    Dernier message: 10/06/2010, 19h16
  2. Congés/RTT pendant période de préavis
    Par lecter11 dans le forum Congés
    Réponses: 13
    Dernier message: 01/10/2007, 16h41
  3. Demander une augmentation pendant période d'essai
    Par Mathusalem dans le forum Paie
    Réponses: 10
    Dernier message: 13/07/2007, 09h28
  4. SSII vers éditeur pendant période d'essai ?
    Par szdavid dans le forum Droit du travail
    Réponses: 2
    Dernier message: 22/06/2006, 14h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo