Pertanyaan Keluar dari drive berbagi jaringan tanpa reboot?


Saya memiliki skrip kecil yang berjalan di masing-masing workstation yang menjalankan defrag dan chkdsk dan menghubungkan setiap workstation sementara ke jaringan berbagi yang mereka, biasanya, tidak memiliki akses ke. Perintah yang saya gunakan untuk menyambung ke mereka adalah:

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

Apakah ada perintah untuk mencatat pengguna tersebut dari pembagian drive tanpa menghidupkan ulang komputer?

Workstation berjalan di Windows XP SP3

EDIT: Saya telah menggunakan:

net use \\server\sharename /delete

tetapi perintah mengembalikan "Koneksi jaringan tidak dapat ditemukan". Namun, saya masih bisa menavigasi ke \\server\sharename di baris alamat MyComputer dan memiliki akses penuh untuk itu.

EDIT2: Asumsikan saya sudah membaca file bantuan untuk penggunaan net; D

EDIT3: Apakah reboot akan mencukupi? Ya ... namun lebih mudah untuk mengeluarkan pengguna dari share, bukan = D. Saya tahu saya sulit.


4
2017-08-25 15:52


asal


Sudahkah kamu mencoba Net Use * /Del? - Ƭᴇcʜιᴇ007
kami berbagi pengguna lain yang terkait dengan proses masuk, dan kami tidak ingin menghapus semuanya. Hanya yang untuk sementara kami izinkan akses pengguna. - Mechaflash
Saya (sebagian besar) dimaksudkan untuk tujuan pengujian. Tapi saya rasa saya melihat apa yang terjadi di sini, jadi saya menambahkan 'jawaban'. :) - Ƭᴇcʜιᴇ007


Jawaban:


net use \\server\sharename /delete

EDIT: Untuk menyebabkan kredensial memerah:

net use \\server\IPC$ /delete

4
2017-08-25 15:53



hmm, biasanya SU memberitahu saya lebih cepat jika jawaban ditambahkan saat saya mengetik, +1 untuk menjadi yang pertama. - MaQleod
Saya sudah mencoba ini, tetapi perintah mengembalikan "Koneksi jaringan tidak dapat ditemukan." Namun, saya masih dapat mengakses pembagian jaringan secara bebas. \ - Mechaflash
Aku sangat bodoh ... dua kali memeriksa kode saya pagi ini dan menemukan saya memiliki trailing \ pada setelah sharename ... mengujinya dan membuat garis miring membuat perbedaan. Maaf untuk n00bizm saya - Mechaflash
Saya mencoba net use \\server\IPC$ /delete dan itu memberi kesalahan The network connection could not be found. - Drew Chapin
net use * /del dapat digunakan sebagai pendekatan senapan jika Anda tidak memiliki koneksi lain yang Anda pikir merusak (net use dengan sendirinya akan daftar mereka). Setelah itu, jika masih tidak berfungsi, restart Workstation layanan alih-alih me-reboot. - Jason C


net use \\server\sharename /delete

Lihat perintah penggunaan net lengkap sini.


3
2017-08-25 16:01





Jika itu net use perintah yang tercantum di sini tidak melakukan trik, alih-alih me-reboot, Anda cukup me-restart Workstation layanan (saya tidak yakin bagaimana melakukan ini tanpa dinyalakan ulang layanan meskipun):

  1. Pertama gunakan yang sesuai net use perintah seperti di atas (mis. net use * /del untuk pendekatan senapan).
  2. Control Panel -> Administrative Tools -> Services
  3. Menemukan Workstation dalam daftar.
  4. Klik kanan dan pilih Mengulang kembali.

Jika Anda memiliki jendela explorer yang terbuka untuk folder bersama, atau file yang terbuka, Anda mungkin harus menutupnya agar layanan dapat dimulai ulang (jika restart muncul untuk menggantung ini biasanya mengapa).

Atau Anda dapat me-restart layanan pada baris perintah dengan:

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

Itu Browser Komputer mulai biasanya diperlukan sebagai berhenti Workstation juga berhenti Browser Komputer. Anda akan melihat apakah itu di output dari perintah pertama. Sekali lagi, menutup jendela explorer dan membuka file mungkin diperlukan.


Referensi: 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 dan saya telah menemukan cara lain untuk menghapus kredensial jaringan. Saya telah memposting jawaban saya di utas ini:


Saya juga menemukan dari Jawaban @ rocketsarefast bahwa Windows akan menghapus kredensial jaringan lama ketika ada upaya masuk baru.

Namun, miliknya net use "\\10.0.0.5\c$" "badpassword" /user:"baduser" perintah terlalu lambat, terutama ketika klien harus menunggu hingga beberapa detik agar server merespons dengan penolakan, yang mengerikan dan tidak nyaman.

Untuk kasus penggunaan saya, saya dapat menggunakan API Win32 untuk memetakan pembagian jaringan \\Server\Share ke S:\ mendorong. Ini memutuskan drive pertama dan kemudian meminta pengguna dengan dialog login jaringan Windows sehingga orang dapat keluar dan masuk sebagai pengguna yang berbeda.

Ini adalah kode 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;
}

Ini dia 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)

Kompilasi menggunakan MinGW-w64 - untuk Windows 32 dan 64 bit:

Sebagai alternatif untuk C, berikut tutorial C # yang mudah di API:


0
2018-06-04 07:09



Tolong jangan posting jawaban yang sama untuk beberapa pertanyaan. Jika informasi yang sama benar-benar menjawab kedua pertanyaan, maka satu pertanyaan (biasanya yang lebih baru) harus ditutup sebagai duplikat dari yang lain. Anda dapat menunjukkan ini dengan memilih untuk menutupnya sebagai duplikat atau, jika Anda tidak memiliki reputasi yang cukup untuk itu, angkat bendera untuk menunjukkan bahwa itu adalah duplikat. Jika tidak, sesuaikan jawaban Anda untuk pertanyaan ini dan jangan hanya menempelkan jawaban yang sama di banyak tempat. - DavidPostill♦