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
|
# Déclaration des fichiers texte et leurs emplacements
$NomUtilisaUnique = "c:\Txt-Listes\Liste_user.txt"
$NomUtilisaDetail = "c:\Txt-Listes\Liste_user_detail.txt"
$NomPCUnique = "c:\Txt-Listes\Liste_WKST.txt"
$NomPCDetail = "c:\Txt-Listes\Liste_WKST_detail.txt"
$TraitUser = "c:\Traitement\traitement.txt"
$DossSauv = "c:\Txt-Listes\doss_a_sauv.txt"
#----------------------------------------------------------------------------------------------------------
# Déclaration des variables.
$var_PC = get-content $NomPCUnique # On récupère le contenu de ce fichier dans la variable $var_PC
$var_User = get-content $TraitUser # On récupère le contenu de ce fichier dans la variable $var_User
$var_rep = get-content $DossSauv # On récupère le contenu de ce fichier dans la variable $var_rep
# Début boucle de recherche de ligne par ligne dans le fichier se rapportant à $NomPCUnique.
foreach ($ligne in $var_PC)
{
# Recherche et transmission dans un fichier texte, unique et portant le nom de la machine,
# des loggins utilisateurs se trouvant dans Documents and Settings des PC + Purge des noms commencant par "adm", "form" et "All Users".
gci -Name "\\$ligne\c$\Documents and Settings" |
Where-Object {$_ -notlike "adm*"} |
Where-Object {$_ -notlike "FORM*"} |
Where-Object {$_ -notlike "ex*"} |
Where-Object {$_ -ne "All Users"} > $TraitUser
# Traitement des utilisateurs recus dans le fichier "traitement.txt".
foreach ($name in $var_User)
{
# Vérification de la "non-existence" du répertoire portant le nom de l'utilisateur par un if.
$TestDir = "c:\Profils_sauvegardes\$name"
$DirExists = Test-Path $TestDir
if ($DirExists -eq $False)
{
# Création du répertoire portant le nom de l'utilisateur.
new-item -path "c:\Profils_sauvegardes" -name $name -type directory
}
# Traitement des répertoires à sauvegarder recus dans le fichier "doss_a_sauv.txt".
foreach ($rep in $var_rep)
{
# Vérification de l'"existence" des répertoires à sauvegarder chez l'utilisateur par un if.
$TestRepOrig = "\\$ligne\C$\Documents and Settings\$name\$rep"
$RepExistsOrig = Test-Path $TestRepOrig
$TestRepDest = "c:\Profils_sauvegardes\$name\$rep"
$RepExistsDest = Test-Path $TestRepDest
if ($RepExistsOrig -eq $True -and $RepExistsDest -eq $False)
{
# Copie des répertoires.
copy-item $TestRepOrig -destination "c:\Profils_sauvegardes\$name\" -recurse
}
}
}
} |
Partager