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 :

Gestion des profils avec PowerShell


Sujet :

Scripts/Batch

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Mai 2012
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Gestion des profils avec PowerShell
    Bonjour à tous,
    Je débute avec PowerShell et je réalise un script qui supprime les anciens profils sur une machine du domaine (sous "\\computer\c$\Documents and Settings" avec XP ou "\\computer\c$\Users" avec Windows 7) et garde le dernier profil, en se basant sur la date du dernier accès à son repertoire correspondant et garde aussi les profils par defaut tel que "Administrateur", "Users"...
    J'ai écrit le script qui boucle sur un fichier contenant les machines sujet du test, le problème c'est qu'il ne peut pas, pour une machine [j] lister les repertoires profil et les récupérer dans une variable $directoriesSorted.
    J'ai vraiment besoin d'aide ! Merci.

    Je procède de la sorte et la variable $directoriesSorted reste toujour de valeur NULLE

    IF ($computerosversion.version.startswith(5)) {

    Write-Host ("----- This Computer is running with Windows XP")
    $directoriesSorted = gci -Path "\\" + $computer + "\c$\Documents and Settings" | sort LastWriteTime -desc

    for( $j = 0; $j -lt $directoriesSorted.Length ; $j++ ){
    $lastUsedDirectory = $directoriesSorted[$j]
    if ($lastUsedDirectory.Name -eq "All Users" -or $lastUsedDirectory.Name -like "*Administrator*" -or $lastUsedDirectory.Name -like "*Default User*" -or $lastUsedDirectory.Name -eq "sophos-install"){

    write-host ("This is a folder to Keep : " + $lastUsedDirectory.Name + " --> I proceed to the next one ... ")

    }
    else{

    $lastUsedDirectory = $directoriesSorted[$j]
    Break #$j=$DirectoriesSorted.Length
    }
    }

  2. #2
    Membre chevronné
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Points : 1 991
    Points
    1 991
    Par défaut
    salut,

    je n'ai pas W7 pour tester mais tu peux essayer une chose du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Split-Path -Path $HOME -Parent | ls | Sort LastWriteTime -desc | select -First 1

  3. #3
    Membre habitué
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2008
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2008
    Messages : 100
    Points : 132
    Points
    132
    Par défaut
    Déjà je commencerais par clarifié un peu le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    if ($computerosversion.version.startswith(5)) {
      Write-Host ("----- This Computer is running with Windows XP")
      gci -Path "\\" + $computer + "\c$\Documents and Settings" | sort LastWriteTime -desc | % {
      if ($_.Name -match (All Users|Administrator|Default User|sophos-install){
        write-host ("This is a folder to Keep : " + $($_.Name) + " --> I proceed to the next one ... ")
      }
      else{
        write-host ("This is not a folder to Keep : " + $($_.Name) + " --> I proceed to the next one ... ")
      }
    }
    Je serais vous je n'utiliserais pas l'instruction Break.
    Dans votre code le problème c'est que ça s'arrêtait à la première erreur, alors que ça doit boucler sur tous les fichiers non ?

Discussions similaires

  1. Gestion des transactions avec les composants DOA
    Par lper dans le forum Bases de données
    Réponses: 2
    Dernier message: 01/12/2008, 17h06
  2. Gestion des profils avec Thunderbird
    Par byloute dans le forum Thunderbird
    Réponses: 4
    Dernier message: 11/12/2007, 15h27
  3. Gestion des cookies avec Indy 10
    Par membrax dans le forum Web & réseau
    Réponses: 5
    Dernier message: 21/09/2005, 19h44
  4. Gestion des profils
    Par tleboukaka dans le forum Bases de données
    Réponses: 1
    Dernier message: 20/09/2005, 22h33
  5. Class de gestion des images avec rotation
    Par Johnny Boy dans le forum MFC
    Réponses: 1
    Dernier message: 03/05/2005, 12h54

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