$limit = 90
$testpath = « h:\ »
$resultpath = « c:\ee »
$admins = « [email protected] »
$from = « [email protected] »
$smtpserver = « smtp.domain.com »
Obtenir-ChildItem - chemin $testpath - Recurse | ? {$_.fullname.length - GT $limit} |
Nom et prénom de Choisir-Objet,
@ {n= " propriétaire " ; e= {
$_.GetAccessControl () .GetOwner (« System.Security.Principal.NTAccount ")}},
@ {n= " namelength " ; e= {$_.fullname.length}} |
% {
Le Dehors-Dossier - FilePath « $resultpath \ Longfiles de $ ($_.owner - remplacer » \ \ « , » - « ) .txt » - apposent - InputObject « $ ($_.namelength) - $ ($_.fullname) »
}
Obtiennent-ChildItem $resultpath - Filtre « longfiles de * » | % {
si ($_.name - assortir « Longfiles \ sof \ s (. +) \ .txt ») {
$user = $matches [1] - remplacer « - », « \ »
$ntacc = Nouveau-Objet System.Security.Principal.NTAccount ($user)
$sid = $ntacc. Traduire ([System.Security.Principal.SecurityIdentifier])
$ADUSER = [ADSI] « LDAP : / »
$email = $aduser. Properties.mail
si ($email) {Envoyer-MailMessage - les attachements $_.fullname - le corps « changent svp les noms de fichier des dossiers énumérés dans le dossier ci-joint en plus court ! » `
- De $from - SmtpServer $smtpserver - soumettre la « notification de système » - à $email - cc $admins
}
autrement {
Envoyer-MailMessage - attachements $_.fullname - le `à propriétaire de corps « coudn't d'email soit envoyé »
- De $from - iqjb-exchback de SmtpServer - soumettre la « notification de système » - à $admins
}
}
autrement {Écrire-Centre serveur une « certaine erreur avec dossier $_ »}
}
|