1. #1
    Candidat au Club
    Homme Profil pro
    Collégien
    Inscrit en
    février 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : février 2017
    Messages : 4
    Points : 3
    Points
    3

    Par défaut Conservation des droits ntfs dans un script de sauvegarde.

    bonjour j'ai fais un script pour une sauvegarde Outlook mais je n'arrive pas a garder les droits sur le fichier sauvegardé sauriez vous m'indiquer la marche à suivre ;merci

    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
    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    'Set the amount of pst-files you want to copy. Start counting at 0!
    ReDim pst(0)
     
    'Define the location of each pst-file to backup. Increase the counter!
     
    Set Shell = Wscript.CreateObject ("Wscript.Shell")
    Username = Shell.ExpandEnvironmentStrings ("%USERNAME%")
     
    Msgbox "Le nom de l'utilisateur est " & Username
     
    pst(0) = "D:\..\USERS\" & Username & "\Documents\Fichiers Outlook\archive.pst"
     
    'Define your backup location
    BackupPath = "\\..F\install\archive_outlook\" & Username & "\"
     
     
    'Keep old backups? TRUE/FALSE
    KeepHistory = FALSE
     
    'Maximum time in milliseconds for Outlook to close on its own
    delay = 30000 'It is not recommended to set this below 8000
     
    'Start Outlook again afterwards? TRUE/FALSE
    start = TRUE
     
    '----------------------------------------------------------------------------------------
    ' **** POPUP AVERTISSEMENT *****
    '----------------------------------------------------------------------------------------
     
    MsgBox "Sauvegarde de vos mails en cours, Outlook sera ouvert automatiquement à la fin de la sauvegarde.Copie en cours de votre archive vers le NAS. Ne pas fermer cette fenetre. Patienter SVP..."
     
    '----------------------------------------------------------------------------------------
    ' **** COPIE PST EN BACKUP SUR SERVEUR ****
    '----------------------------------------------------------------------------------------
    'Close Outlook
    Call CloseOutlook(delay)
     
    'Outlook is closed, so we can start the backup
    Call BackupPST(pst, BackupPath, KeepHistory)
     
    'Open Outlook again when desired.
    If start = TRUE Then
      Call OpenOutlook()
    End If
     
     
    Sub CloseOutlook(delay)
      strComputer = "."
      Set objWMIService = GetObject("winmgmts:" _
      & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
     
      'If Outlook is running, let it quit on its own.
      For Each Process in objWMIService.InstancesOf("Win32_Process")
        If StrComp(Process.Name,"OUTLOOK.EXE",vbTextCompare) = 0 Then
          Set objOutlook = CreateObject("Outlook.Application")
          objOutlook.Quit
          WScript.Sleep delay
          Exit For
        End If
      Next
     
      'Make sure Outlook is closed and otherwise force it.
      Set colProcessList = objWMIService.ExecQuery _
      ("Select * from Win32_Process Where Name = 'Outlook.exe'")
      For Each objProcess in colProcessList
        objProcess.Terminate()
      Next
      Set objWMIService = Nothing
      Set objOutlook = Nothing
      set colProcessList = Nothing
    End Sub
     
     
    Sub BackupPST(pst, BackupPath, KeepHistory)
      Set fso = CreateObject("Scripting.FileSystemObject")
     
      If KeepHistory = True Then
        ArchiveFolder = Year(Now) & "-" & Month(Now) & "-" & Day(Now)
        BackupPath = BackupPath & ArchiveFolder & "\"
      End If
     
      If fso.FolderExists(BackupPath) = False Then
        fso.CreateFolder BackupPath
      End If
     
      For Each pstPath in pst
        If fso.FileExists(pstPath) Then
          fso.CopyFile pstPath, BackupPath, True
        End If
      Next
      Set fso = Nothing
    End Sub
     
     
    Sub OpenOutlook()
      Set objShell = CreateObject("WScript.Shell")
      objShell.Run "Outlook.exe"
    End Sub

  2. #2
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    juillet 2009
    Messages
    1 981
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : juillet 2009
    Messages : 1 981
    Points : 4 513
    Points
    4 513

    Par défaut

    Remplace les lignes 86 à 90 par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
      For Each pstPath in pst
        If fso.FileExists(pstPath) Then
          cm = pstPath & " " & BackupPath & " /O /X /K /Y"  'fso.CopyFile pstPath, BackupPath, True
          Shell.Exec "Xcopy.exe " & cm
        End If
      Next
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA)
    Vous pouvez consulter mes contributions
    Consultez les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  3. #3
    Candidat au Club
    Homme Profil pro
    Collégien
    Inscrit en
    février 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : février 2017
    Messages : 4
    Points : 3
    Points
    3

    Par défaut

    Merci beaucoup à vous pour votre temps et votre réponse , ca à fonctionné.

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

Discussions similaires

  1. Différence SP2 et R2 dans la gestion des droits NTFS
    Par Tristan Zwingelstein dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 11/08/2010, 11h34
  2. script pour ajouter des droits d'exécution aux scripts
    Par Chatbour dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 14/10/2007, 17h40
  3. [Système] Appeler des commandes systèmes dans un script php
    Par TabrisLeFol dans le forum Fonctions
    Réponses: 1
    Dernier message: 14/03/2007, 15h56
  4. [PHP-JS] des variables PHP dans un script Javascript
    Par jiojioforever dans le forum Syntaxe
    Réponses: 13
    Dernier message: 25/01/2007, 15h24
  5. Récupérer des variables Perl dans un script PHP
    Par barabath dans le forum Syntaxe
    Réponses: 2
    Dernier message: 10/04/2006, 01h27

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