Aller au contenu

Messages recommandés

Posté(e)

Bonjour,

J'ai un raccourci de lecteur réseau amenant sur mon NAS via le protocole SMB sur le bureau de mon PC sous Win 10.

Actuellement, j'ai aussi un raccourci sur mon bureau " net use * /delete /yes " qui me permet de déconnecter ce lecteur réseau du PC.

 

Ce que je voudrais, c'est que ça déconnecte automatiquement ce lecteur à la fermeture de la fenêtre. Est-ce possible svp ?

Merci

Posté(e)

Tout à fait oui 😉

J'ai essayé aussi de passer par un planificateur de tâche mais il n'y a rien que je vois qui soit en rapport avec la fermeture d'une fenêtre de l'explorateur.

Posté(e)

À moins de trouver un évènement Windows correspondant à la fermeture d'une fenêtre d'explorateur, ça risque d'être compliqué.

Ou alors, il faut vérifier le nombre de processus explorer.exe à intervalle régulier. Si ce nombre est <=1 alors tu peux déconnecter les lecteurs réseau.

Posté(e)

Et dans ce cas ça serait quoi le script svp car là je coince sur cette dernière partie. Je vois pas quoi mettre comme ligne de code pour dire ça dans le script.

On est bien d'accord que explorer.exe ne prend en compte que les dossiers ouverts et non les applications par exemple ?!

Posté(e) (modifié)

Je crois que si on kill tous les process explorer, la barre des tâches (menu démarrer) disparaît de l'écran ...

Modifié par serpinh
Posté(e)
Il y a 21 heures, InfoYANN a dit :

Je vois pas quoi mettre comme ligne de code pour dire ça dans le script.

Utiliser PowerShell me semble être le plus pertinent pour écrire ton script.

Maintenant, ne compte pas sur moi pour le faire à ta place. 😉

Posté(e) (modifié)

Oui oui, je vais voir de ce côté là. Pas trop le temps aujourd'hui mais je vais me pencher sur la question. Et puis c'est pas vital, juste du confort en gros.

Merci 😉

Modifié par InfoYANN
  • 3 semaines après...
Posté(e)

Comme ça faisait longtemps que je n'avais pas bidouillé du PowerShell et que ça ne devait pas être bien long à pondre, voici un exemple de script  :

$process = "explorer"
$letter = "X"

if (
    (Get-PSDrive | where {$_.Name -eq $letter} | measure).Count -eq 1 `
    -and (Get-Process | where {$_.ProcessName -eq $process} | measure).Count -eq 1
){
	net use "$($letter):" /delete
}

Évidemment il faut remplacer "X" par la lettre de lecteur souhaitée.

Malheureusement pour la tâche planifiée, je n'ai pas trouvé d'autres alternatives que de l'exécuter à intervalles réguliers (à ta convenance). Voici l'action à renseigner dans la tâche planifiée :

Programme/script : powershell.exe
Ajouter des arguments (facultatif) : -WindowStyle Hidden -ExecutionPolicy Bypass "C:\script.ps1"

Il y a toujours au moins un processus explorer.exe actif. Lors de la fermeture de la dernière fenêtre d'explorateur, le processus correspondant reste actif quelques dizaines de secondes (variable) avant de se fermer.

La commande net use peut également être remplacée par Remove-PSDrive.

Posté(e)

ce serait pas plus simple d'avoir un script qui:

  • crée le raccourci réseau
  • ouvre un explorer qui pointe sur le raccourci réseau (et attend la fin du process lancé)
  • supprime la connexion réseau

ça doit même pouvoir se faire avec un .bat

 

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.