Bonjour à tous,
Dans l'entreprise ou je suis actuellement, nous souhaitons mettre un script (powershell) en place afin que celui - ci puisse lister les différents fichiers ouvert par les utilisateurs. Ceci a pour but de savoir qui à ouvert quoi car beaucoup de fichier sont partagés et parfois laissé ouvert par un utilisateur au détriment d'autres utilisateurs.
Voici le script que nous utilisons actuellement :
Le problème de ce script c'est que le mot de passe est en clair dans le fichier et même si seul le service informatique peut y avoir accès ça peine de voir les mots de passe en clair. Donc pour cela petite évolution du script :
Code : Sélectionner tout - Visualiser dans une fenêtre à part openfiles /query /s monServeur /u monCompte /p monMotDePasse /fo CSV > C:\temp\fichiers_ouverts.csv
Donc ici le mot de passe est demandé à l'utilisateur et donc apparaît en clair lorsqu'on le tape. Pour cela on souhaite que quand on tape le mot de passe les caractères soient remplacés par des points ou des étoiles. Donc on a ajouté l'option "-AsSecureString".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $user = Read-host "Veuillez entrer l'utilisateur de la session" $Password = Read-Host "Saisissez le mot de passe" openfiles /query /s monServeur /u $user /p $password /fo CSV >> C:\temp\fichiers_ouverts.csv
Le problème avec cette option est que le script ne récupère plus le bon mot de passe.
Nous avons vu que le mot de passe était de type SecureString et à partir de là, nous n'arrivons pas a faire appel à ce mot de passe, même en utilisant l'option ConvertTo ou ConvertFrom.
Quelqu'un aurait il une information par rapport à la synthaxe à suivre pour que le mot de passe crypté puisse être accepté lors de la requête effectuée dans le script ?
Cordialement
dds69
Partager