Có cách nào để ngắt kết nối mạng Ổ đĩa mạng được ánh xạ, nhưng KHÔNG xóa ánh xạ?


12

Ví dụ: khi tôi nhập, net usetôi có thể thấy một cái gì đó như:

Status        Local       Remote
OK            H:          \\server\home folders\me
Unavailable   I:          \\serverA\share1
Disconnected  J:          \\serverB\share2
Reconnecting  K:          \\serverC\share3

Khi điều này xảy ra, Windows Explorer có độ trễ 10 - 20 giây khi thực hiện một việc đơn giản như tạo thư mục mới trên ổ C: của tôi. Sau một thời gian, ổ K: sẽ thay đổi thành "Ngắt kết nối".

Những gì tôi muốn làm là bằng cách nào đó buộc ổ đĩa K: bị ngắt kết nối hoặc không khả dụng, nhưng không làm mất ánh xạ xác thực.


2
Vì tò mò, tại sao bạn nghĩ rằng bạn cần điều này?
Zoredache

2
Tôi kết nối với VPN, sử dụng ổ đĩa K :, sau đó ngắt kết nối VPN. Sau đó, Explorer của tôi thường chậm, cho đến khi cuối cùng nó đánh dấu K: là bị ngắt kết nối. Đây là một sự đơn giản hóa, vì tôi có nhiều hơn 3 ánh xạ ổ đĩa cần thiết cho các tập lệnh khác nhau và có thể kết nối / ngắt kết nối khỏi VPN nhiều lần trong ngày.
Glen Little

1
@GlenLittle Bạn đã thử bỏ chọn tùy chọn "kết nối lại khi đăng nhập" khi bạn ánh xạ ổ đĩa chưa?
Moses

4
Tại sao không tạo một tập lệnh để kết nối và ngắt kết nối các ổ đĩa (bao gồm loại bỏ ánh xạ). Giống như ở đây Bạn thậm chí có thể tự động tạo một tập lệnh kết nối với VPN và tập lệnh để ngắt kết nối (bao gồm tất cả các công cụ ánh xạ ổ đĩa)
Rik

4
Bạn net use \\serverB\share2 /deletenên thực hiện thủ thuật (nó ngắt kết nối ổ đĩa nhưng không ảnh hưởng đến ánh xạ)
Paolo Gibellini

Câu trả lời:


1

Microsoft dường như đang cố gắng chuyển các tác vụ quản trị như thế này sang PowerShell.

Trong trường hợp cụ thể của bạn, lệnh ghép ngắn để sử dụng là Remove-PSDrive. Remove-PSDrive sẽ thực hiện chính xác những gì bạn đang yêu cầu: ngắt kết nối ổ đĩa mạng được ánh xạ. Cú pháp cho kịch bản của bạn sẽ là:

Xóa-PSDrive-Tên K

Để đến dòng lệnh powershell nơi bạn có thể chạy lệnh ghép ngắn đó, hãy mở menu bắt đầu và trong hộp tìm kiếm, chỉ cần nhập powershell. Nếu bạn không có hộp tìm kiếm, thì từ menu bắt đầu, chọn Chạy và trong hộp chạy, hãy nhập powershell và nhấn enter.

Để biết chi tiết đầy đủ về cách sử dụng lệnh ghép ngắn này, bao gồm tất cả các tùy chọn của nó, hãy xem bài viết về kỹ thuật của Microsoft:
http://technet.microsoft.com/en-us/l Library / hh849760.aspx


Nghe có vẻ rất hứa hẹn, nhưng không làm việc cho tôi. Nếu tôi làm net use y: ...., sau đó khởi động PowerShell và làm get-psdrive, tôi thấy Yđược liệt kê. Làm remove-psdrive -Name Yloại bỏ nó. Nhưng sau đó, một net usevẫn hiển thị nó và tôi vẫn có thể sử dụng ổ Y :. (Đó là sử dụng PS v2. Rõ ràng hoạt động với v4.)
Glen Little

Powershell 4.0 đã được phát hành vài tuần trước ... technet.microsoft.com/en-us/l Library / hh847820.aspx
Glen Little

@GlenLittle Nhưng điều này có xóa ký tự ổ đĩa hoặc ngắt kết nối nó trong khi giữ chữ cái không? Nếu nó loại bỏ nó, nó không giống như net use Y: /delete?
Rik

Cuối cùng có thể thử nó. Thật không may, điều này dường như bắt chước Net use /deletenhư @Rik đoán. Tôi không thấy sự khác biệt, liên quan đến các ổ đĩa mạng.
Glen Little

1

Đồng ý. Tôi có thể có một giải pháp. Tôi đã thử xem xét /savecredthông số của net usenhưng không thể làm cho nó hoạt động chính xác vì vậy đây là một cách tiếp cận khác:

Vấn đề của bạn là sự chậm trễ với Explorer sau khi ngắt kết nối với VPN.
Vậy tại sao không ẩn các ổ đĩa khỏi Explorer sau khi ngắt kết nối để nó không cố gắng truy cập chúng.

Có một khóa đăng ký để ẩn các ổ đĩa từ Explorer:

HKEY_xxx\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDrives

và HKEY_xxx có thể cả HKEY_LOCAL_MACHINEHKEY_CURRENT_USER.

Bên dưới bài viết này có một bản tóm tắt về giá trị nào NoDrivesnên giữ.
(thêm số cho các ổ đĩa).


Tôi đã tạo một lô nhỏ trong đó bạn không phải tự mình thực hiện các phép tính.
Nó là một 'toggle'-batchfile.

Chạy nó một lần để kết nối với "My VPN" của bạn.
Chạy nó một lần nữa để ngắt kết nối và ẩn các ổ đĩa I, J và K .

Bạn có thể dễ dàng chia phần này thành hai đợt nhưng bạn có được điểm ... Bạn cũng có thể đơn giản hóa tệp này nếu bạn tự đặt số lượng NoDrivesthay vì để lô thực hiện phép tính.

Điều này cần phải được chạy như quản trị viên. (có thể tự động nâng lên nhưng điều đó rất tiên tiến)

Nếu bạn cấp quyền cho mình trên khóa, NoDrivesbạn không phải chạy nó với tư cách quản trị viên. Chỉ cần mở ra regedit.exe, duyệt đến phím này và nhấp vào "Chỉnh sửa> Quyền" và tự cấp cho mình "Toàn quyền kiểm soát" đối với khóa này.

@echo off
:: ------------------------
set MyVPN="My VPN"
:: ------------------------
rasdial | findstr %MyVPN% 1>nul
If %ERRORLEVEL% == 0 goto disconnect

:connect
echo ============================================================
echo connecting to %MyVPN%
echo ============================================================
rasdial %MyVPN%
:: This is easy. We just set 0 in NoDrives
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer /v NoDrives /T REG_DWORD /d 0 /f

goto :end

:disconnect
echo ============================================================
echo disconnecting from %MyVPN%
echo ============================================================
rasdial %MyVPN% /disconnect

:: ------------------------------------------------------------------
:: This is harder. We need to determine what value NoDrives should be
:: ------------------------------------------------------------------
Setlocal EnableDelayedExpansion

:: ------------------------
:: Set here your VPN drives
:: ------------------------
set drives='I J K'

:: ------------------------
:: Calculation to determine the value
:: ------------------------
set drive_value=1
set NoDrives=0
for %%c in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
  echo.%drives% | findstr "%%c" 1>nul
  if !ERRORLEVEL! == 0 set /a NoDrives+=drive_value
  set /a drive_value="drive_value<<1"
)
echo Seting NoDrives to %NoDrives%
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer /v NoDrives /T REG_DWORD /d %NoDrives% /f
endlocal

:end
pause

Lưu ý:
Windows Explorer cần được đóng và mở lại trước khi các ổ đĩa bị ẩn (hoặc hiển thị lại).


Cài đặt cho NoDrives:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDrives
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDrives

     Decimal       Hex
A:         1         1
B:         2         2
C:         4         4
D:         8         8
E:        16        10
F:        32        20
G:        64        40
H:       128        80
I:       256       100
J:       512       200
K:      1024       400
L:      2048       800
M:      4096      1000
N:      8192      2000
O:     16384      4000
P:     32768      8000
Q:     65536     10000
R:    131072     20000
S:    262144     40000
T:    524288     80000
U:   1048576    100000
V:   2097152    200000
W:   4194304    400000
X:   8388608    800000
Y:  16777216   1000000 
Z:  33554432   2000000 

Có vẻ thú vị ... Tôi sẽ phải thử điều này. Yêu việc sử dụng toán bitwise trong tệp bó!
Glen Little

0

Tôi không biết làm thế nào để làm điều này, nhưng sẽ tạo một kịch bản để thêm ổ đĩa được ánh xạ để làm cho cuộc sống dễ dàng.

  1. Tạo một tệp có phần mở rộng .bat (Ví dụ: map_drive.bat)
  2. Bên trong tập tin thêm một dòng như thế này net use J: \\server\folder
  3. Nhấp đúp chuột vào tập tin đó và nó sẽ ánh xạ ổ đĩa của bạn

Cảm ơn câu trả lời. Tôi sẽ làm điều này, nhưng một số ổ đĩa cần các xác thực id / pw khác nhau và tôi không muốn đưa chúng vào một tập lệnh.
Glen Little
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.