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 :

Date Script PowerShell [PowerShell]


Sujet :

Scripts/Batch

  1. #1
    Membre averti
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Septembre 2021
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2021
    Messages : 13
    Par défaut Date Script PowerShell
    Bonjour,

    Je dois écrire un script qui récupère des fichier sur un site distant en SFTP et je dois stocker ces fichiers à un endroit avec dans le nom la date de la sauvegarde, cependant quand je lance mon script le nom s'affiche mais pas la date que j'ai rentrée préalablement dans une variables, mon résultat final est "sauvegarde_serveur_web_"
    Voici mon code :

    Code PowerShell : 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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    # Importation du module WinSCPnet.dll pour l'utilisation des commandes de WinSCP
    Import-Module ".\WinSCPnet.dll" -Verbose
    Add-Type -path  ".\WinSCPnet.dll"
    Add-Type -AssemblyName System.Windows.Forms
    
    # Déclaration des variables
    $path = "C:\Users\administrateur\Documents\sauvegarde_serveur_web_$date"
    $shortPath = "C:\Users\administrateur\Documents"
    $date = get-date -Format dd_MM_yy
    
    # Début de la condition de vérification de présence de dossier
    # Vérifie si le dossier n'existe pas
    if ($path -eq $false)
    {
        # Si il n'éxiste pas il le crée
        New-Item $path -ItemType Directory
    }
    # Fin de la condition de vérification de présence de dossier
    
    # Début de la condition de vérification de la date de création
    if ( Get-ChildItem $shortPath | Where name -like "sauvegarde_serveur_web_$date" | where LastWriteTime -lt  (Get-Date).AddDays(-1) ) 
    {
        # Si le dossier a été écrit pour la dernière fois il y a plus de 30 jours alors il sera supprimé
        Remove-Item $path -Force -Recurse
    }
    # Fin de la condition de vérification de la date de création
    
    # Déclaration de la variable d'ouverture de session
    $sessionOptions = New-Object WinSCP.SessionOptions -Property @{
        Protocol = [WinSCP.Protocol]::Sftp
        HostName = 
        UserName = 
        Password = 
        SshHostKeyFingerprint = 
    }
    
    $session = New-Object WinSCP.Session
    $session.ExecutablePath = ".\WinSCP.exe"
    try
    {
        # Ouverture de session
        $session.Open($sessionOptions)
        # Récupération des fichiers
        $session.GetFiles("/lamp0/web/vhosts", $path).Check()
    }
    finally
    {
        # Fermeture de la session
        [System.Windows.Forms.MessageBox]::Show("La sauvegarde des sites web est terminée", "Sauvegarde" , 0, 64) 
        $session.Dispose()
    }

    Les lignes 28 à 51 permettent d'ouvrir une connexion et de récupérer des fichiers SFTP grâce à WinSCP

    Et voici le code batch du .bat qui lance mon script si jamais

    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    powershell -file C:\Users\administrateur\Documents\Sauvegarde_Serveur_Web.ps1
    @pause


    Merci d'avance, et bonne journée,
    Axel.

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Août 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2021
    Messages : 4
    Par défaut
    Bonjour,

    la variable $date est délcaré apres sa 1ere utilisation, ce n'est pas bon il me semble !?

  3. #3
    Membre averti
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Septembre 2021
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2021
    Messages : 13
    Par défaut
    Bonjour,

    Oui effectivement c’était bien cela, je n'y avais pas pensé...
    Merci beaucoup.

    Cordialement,
    Axel.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Interface Java pour script Powershell
    Par Gulrick dans le forum Général Java
    Réponses: 0
    Dernier message: 21/06/2010, 09h48
  2. Essayer d'activer un script powershell sous IIS
    Par machpro dans le forum IIS
    Réponses: 1
    Dernier message: 06/12/2008, 00h08

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