매핑 된 네트워크 드라이브를 "연결 해제"할 수 있지만 매핑을 제거하지 않는 방법이 있습니까?


12

예를 들어, 입력하면 net use다음과 같은 내용이 표시 될 수 있습니다.

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

이 경우 Windows 탐색기는 C : 드라이브에 새 폴더를 만드는 것처럼 간단한 작업을 수행 할 때 10-20 초 지연됩니다. 잠시 후 K : 드라이브가 "Disconnected"로 변경됩니다.

내가하고 싶은 일은 어떻게 든 K : 드라이브를 강제로 연결 해제하거나 사용할 수 없게하지만 인증 된 매핑을 잃지 않고 강제하는 것입니다.


2
호기심 때문에 왜 이것이 필요하다고 생각하십니까?
Zoredache

2
VPN에 연결하고 K : 드라이브를 사용한 다음 VPN 연결을 끊습니다. 그 후, 탐색기는 K :가 연결 해제 된 것으로 표시 될 때까지 종종 느립니다. 다양한 스크립트에 필요한 3 개 이상의 드라이브 매핑이 있으며 하루에 여러 번 VPN에서 연결 / 연결 해제 할 수 있으므로 단순화되었습니다.
Glen Little

1
@GlenLittle 드라이브를 매핑 할 때 "로그온시 다시 연결"옵션의 선택을 해제하려고 했습니까?
Moses

4
드라이브 연결 및 연결 해제 스크립트 (매핑 제거 포함)를 작성해보십시오. 여기 처럼 VPN에 자동으로 연결하는 스크립트와 연결을 끊기위한 스크립트 (모든 드라이브 매핑 항목 포함)를 만들 수도 있습니다
Rik

4
A는 net use \\serverB\share2 /delete(이 드라이브의 연결이 끊어하지만 매핑 괴롭게하지 않습니다) 트릭을 할해야
파올로 Gibellini

답변:


1

Microsoft는 이와 같은 관리 작업을 PowerShell로 옮기려고하는 것 같습니다.

특정한 경우 사용할 cmdlet은 Remove-PSDrive입니다. Remove-PSDrive는 요청한대로 정확하게 수행합니다. 매핑 된 네트워크 드라이브 연결을 끊습니다. 시나리오의 구문은 다음과 같습니다.

PSDrive 제거-이름 K

해당 cmdlet을 실행할 수있는 powershell 명령 줄로 이동하려면 시작 메뉴를 열고 검색 상자에 powershell을 입력하십시오. 검색 상자가없는 경우 시작 메뉴에서 실행을 선택하고 실행 상자에 powershell을 입력하고 Enter를 누르십시오.

모든 옵션을 포함하여이 cmdlet을 사용하는 방법에 대한 자세한 내용은 Microsoft 기술 문서 ( http://technet.microsoft.com/en-us/library/hh849760.aspx)를 참조하십시오.


매우 유망한 것처럼 들리지만 나에게는 효과가 없습니다. 내가 net use y: ....하고 PowerShell을 시작하면가 get-psdrive표시 Y됩니다. remove-psdrive -Name Y제거 하면 제거됩니다. 그러나 net use여전히 표시 하지만 Y : 드라이브를 계속 사용할 수 있습니다. (이것은 PS v2를 사용하고있었습니다. 분명히 v4와 함께 작동합니다.)
Glen Little

Powershell 4.0은 몇 주 전에 발표되었습니다 ... technet.microsoft.com/en-us/library/hh847820.aspx
Glen Little

@GlenLittle 그러나 문자를 유지하면서 드라이브 문자를 제거하거나 분리합니까? 그것을 제거하면, 이것과 같지 net use Y: /delete않습니까?
Rik

마침내 시도해 볼 수 있습니다. 불행히도 이것은 Net use /delete@Rik이 추측 한 것처럼 흉내내는 것 같습니다 . 네트워크 드라이브에 관한 한 차이는 없습니다.
Glen Little

1

확인. 해결책이있을 수 있습니다. 나는 찾고 시도 /savecred의 매개 변수 net use만이 제대로 그래서 여기에 작동시킬 수 없습니다 또 다른 방법입니다 :

VPN 연결을 끊은 후 Explorer가 지연되는 문제가있었습니다.
따라서 연결을 끊은 후에 탐색기에서 드라이브를 숨기지 마십시오.

탐색기에서 드라이브를 숨기는 레지스트리 키가 있습니다.

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

및 HKEY_xxx 둘 수 있습니다 HKEY_LOCAL_MACHINEHKEY_CURRENT_USER.

이 게시물 아래에는 어떤 가치 NoDrives가 있어야 하는지에 대한 요약 이 있습니다.
(드라이브 번호를 추가하십시오).


계산을 직접 수행 할 필요가없는 작은 배치 파일을 만들었습니다.
'토글'배치 파일입니다.

"My VPN"에 연결하려면 한 번만 실행하십시오. 드라이브 I, J 및 K
연결을 끊고 숨기려면 다시 실행하십시오 .

이것을 두 개의 배치 파일로 쉽게 분할 할 수 있지만 요점을 알 수 있습니다 ... NoDrives배치를 계산하지 않고 자신 의 수를 설정하면 이 배치 파일을 단순화 할 수도 있습니다 .

관리자 권한으로 실행해야합니다. (자동으로 올릴 수는 있지만 매우 고급입니다)

당신이 키를 자신에게 권한을 부여 할 경우, NoDrives당신은 하지 않는 관리자 권한으로이 작업을 실행해야합니다. 를 열고이 regedit.exe키를 찾은 다음 "편집> 권한"을 클릭하고이 키에 대해 "모든 권한"을 부여하십시오.

@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

참고 :
드라이브를 숨기거나 다시 보려면 Windows 탐색기를 닫았다가 다시 열어야합니다.


에 대한 설정 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 

흥미로워 보입니다 ... 이것을 시도해야합니다. 배치 파일에 비트 수학을 사용하는 것을 좋아하십시오!
Glen Little

0

나는 이것을하는 방법을 모른다.하지만 인생을 쉽게하기 위해 매핑 된 드라이브를 추가하는 스크립트를 만들 것이다.

  1. 확장자가 .bat 인 파일을 만듭니다 (예 : map_drives.bat).
  2. 파일 안에 다음과 같은 줄을 추가하십시오 net use J: \\server\folder
  3. 해당 파일을 두 번 클릭하면 드라이브가 매핑됩니다

답변 해주셔서 감사합니다. 이 작업을 수행하지만 일부 드라이브에는 다른 ID / 암호 인증이 필요하며 스크립트에 스크립트를 넣고 싶지 않습니다.
Glen Little
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.