Question Déconnexion d'un lecteur de partage réseau sans redémarrage?


J'ai un petit script qui s'exécute sur chaque poste de travail qui exécute defrag et chkdsk et connecte temporairement chaque poste de travail à un partage réseau auquel ils n'ont normalement pas accès. La commande que j'utilise pour s'y connecter est la suivante:

net use \\server\sharename [password] /USER:domain\username P:No

Existe-t-il une commande pour déconnecter cet utilisateur du partage de disque sans redémarrer l'ordinateur?

Les stations de travail fonctionnent sous Windows XP SP3

EDIT: J'ai utilisé:

net use \\server\sharename /delete

mais la commande retourne "La connexion réseau est introuvable". Cependant, je peux toujours naviguer vers \\server\sharename dans la ligne d'adresse MyComputer et y avoir toujours accès.

EDIT2: Supposons que j'ai lu les fichiers d'aide pour l'utilisation du net; D

EDIT3: Un redémarrage suffirait-il? Oui ... Cependant, il est plus pratique de déconnecter l'utilisateur du partage = D. Je sais que je suis difficile.


4
2017-08-25 15:52


origine


As-tu essayé Net Use * /Del? - Ƭᴇcʜιᴇ007
nous autres utilisateurs partagés associés à la connexion, et nous ne souhaitons pas les supprimer tous. Juste celui que nous avons temporairement autorisé à accéder à l'utilisateur. - Mechaflash
Je (principalement) destiné à des fins de test. Mais je pense voir ce qui se passe ici, alors j'ai ajouté une «réponse». :) - Ƭᴇcʜιᴇ007


Réponses:


net use \\server\sharename /delete

MODIFIER: Pour que les informations d'identification soient vidées:

net use \\server\IPC$ /delete

4
2017-08-25 15:53



hmm, habituellement, SU me prévient plus tôt si une réponse est ajoutée lorsque je tape, +1 pour être le premier. - MaQleod
J'ai essayé ceci, mais la commande retourne "La connexion réseau ne peut pas être trouvée." Cependant, je peux toujours accéder au partage de réseau librement. - Mechaflash
Je suis si bête ... j'ai vérifié mon code ce matin et j'ai constaté que je suivais un \ après le nom de domaine ... testé et que la barre oblique fait la différence. Désolé pour mon n00bizm - Mechaflash
j'ai essayé net use \\server\IPC$ /delete et ça donne l'erreur The network connection could not be found. - Drew Chapin
net use * /del peut être utilisé comme un fusil de chasse si vous n'avez pas d'autres liens à détruire (net use par lui-même les listera). Après cela, s'il ne fonctionne toujours pas, redémarrez le Poste de travail service au lieu de redémarrer. - Jason C


net use \\server\sharename /delete

Voir la commande full net use ici.


3
2017-08-25 16:01





Si la net use commandes énumérées ici ne font pas le tour, au lieu de redémarrer, vous pouvez simplement redémarrer le Poste de travail service (je ne sais pas comment faire sans le redémarrage du service bien que):

  1. Utilisez d'abord le bon net use commandes comme ci-dessus (par ex. net use * /del pour l'approche du fusil de chasse).
  2. Panneau de configuration -> Outils d'administration -> Services
  3. Trouver Poste de travail dans la liste.
  4. Clic droit et choisir Redémarrer.

Si vous avez des fenêtres d’explorateur ouvertes pour le dossier partagé ou des fichiers ouverts, vous devrez peut-être les fermer pour que le service redémarre (si le redémarrage semble se bloquer, c’est généralement le cas).

Sinon, vous pouvez redémarrer le service sur la ligne de commande avec:

net stop Workstation
net start Workstation
net start "Computer Browser"

le Navigateur informatique le démarrage est généralement nécessaire pour arrêter Poste de travail s'arrête aussi Navigateur informatique. Vous verrez si cela se produit dans la sortie de la première commande. Encore une fois, il peut être nécessaire de fermer les fenêtres d’explorateur et les fichiers ouverts.


Référence: https://social.technet.microsoft.com/Forums/windows/en-US/58494ea1-e3a0-49ab-be5c-1aa2b86f13c9/how-to-logout-from-shared-folder


2
2018-02-28 01:56





@rocketsarefast et moi avons découvert un autre moyen d'effacer les informations d'identification du réseau. J'ai posté ma réponse dans ce fil:


J'ai aussi découvert de La réponse de @ rocketsarefast que Windows effacera les anciennes informations d'identification du réseau en cas de nouvelle tentative de connexion.

Cependant, son net use "\\10.0.0.5\c$" "badpassword" /user:"baduser" La commande est beaucoup trop lente, surtout lorsque le client doit attendre plusieurs secondes avant que le serveur ne réponde, ce qui est terrible et peu pratique.

Pour mon cas d'utilisation, j'ai pu utiliser l'API Win32 pour mapper le partage réseau \\Server\Share au S:\ conduire. Il déconnecte d'abord le lecteur, puis invite l'utilisateur à ouvrir la boîte de dialogue de connexion au réseau Windows afin que cette personne puisse se déconnecter et se connecter en tant qu'utilisateur différent.

Voici le code C main.c:

#ifndef UNICODE
#define UNICODE
#endif

#define WINVER 0x0500
#define _WIN32_WINNT 0x0500
#define _WIN32_IE 0x0500

#pragma comment(lib, L"mpr.lib")

#include <windows.h>
//#include <stdio.h>

int wmain(const size_t argc, const wchar_t** argv) {
    NETRESOURCE networkResource = {0};
    networkResource.dwType = RESOURCETYPE_DISK;
    networkResource.lpLocalName = L"S:";
    networkResource.lpRemoteName = L"\\\\Server\\Share";
    networkResource.lpProvider = NULL;

    DWORD result = 0;
    result = WNetCancelConnection2(networkResource.lpLocalName, CONNECT_UPDATE_PROFILE, TRUE);
//    wprintf(L"WNetCancelConnection2 result: %d\n", result);

    result = WNetAddConnection2(&networkResource, NULL, NULL, CONNECT_INTERACTIVE | CONNECT_PROMPT);
//    wprintf(L"WNetAddConnection2 result: %d\n", result);

//    getchar();

    return EXIT_SUCCESS;
}

Voici la CMakeLists.txt:

cmake_minimum_required(VERSION 3.7)
project(MapNetworkDrive)

set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c11 -g3 -pedantic -Wall -Wextra -O0")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${GCC_COVERAGE_LINK_FLAGS} -municode -mwindows")

set(SOURCE_FILES main.c)
add_executable(MapNetworkDrive ${SOURCE_FILES})
target_link_libraries(MapNetworkDrive mpr.lib)

Compiler en utilisant MinGW-w64 - pour Windows 32 et 64 bits:

En alternative à C, voici un didacticiel C # sur l'API:


0
2018-06-04 07:09



S'il vous plaît ne pas poster la même réponse à plusieurs questions. Si les mêmes informations répondent réellement aux deux questions, alors une question (généralement la plus récente) doit être fermée en double. Vous pouvez l'indiquer par voter pour le fermer en double ou, si vous n'avez pas assez de réputation pour cela, lever un drapeau pour indiquer qu'il s'agit d'un doublon. Sinon, adaptez votre réponse à cette question et ne vous contentez pas de coller la même réponse à plusieurs endroits. - DavidPostill♦