스크립트-네트워크 경로가 사용 가능한지 확인한 후 맵핑하는 방법


13

네트워크 경로를 사용할 수 있는지 확인한 다음 장치에 매핑하는 화면 보호기 / 로그온 스크립트를 원합니다. 사용할 수없는 경우 연결을 끊거나 연결하지 마십시오.

네트워크 경로는 \ 192.168.1.1 \ drive1입니다.

또한 해당 경로에 연결하려면 사용자 이름 / 암호를 사용해야합니다.

답변:


15

exist명령을 사용하여 경로가 유효한지 확인할 수 있습니다 .

if exist \\192.168.1.1\drive1 net use s: \\192.168.1.1\drive1

자격 증명을 제공해야하는 경우 (예 : 현재 Windows 사용자가 해당 공유에 액세스 할 수 없음) 다음을 추가하십시오 /user.

if exist \\192.168.1.1\drive1 net use s: \\192.168.1.1\drive1 /user:myDomain\myUser myPassword

공유가 이미 존재하고 더 이상 사용할 수없는 경우 삭제하려면 else절을 추가하십시오 .

if exist \\192.168.1.1\drive1 (net use s: \\192.168.1.1\drive1) else (net use /delete s:)

그리고 다시 한 번 /user필요한 경우 추가하십시오 .

이 모든 것을 다음과 유사한 배치 파일로 묶을 수 있습니다.

@echo off
if exist \\192.168.1.1\drive1 (set shareExists=1) else (set shareExists=0)
if exist y:\ (set driveExists=1) else (set driveExists=0)
if %shareExists%==1 if not %driveExists%==1 (net use y: \\192.168.1.1\drive1)
if %shareExists%==0 if %driveExists%==1 (net use /delete y:)
set driveExists=
set shareExists=

좋아, 그냥 메모장에 붙여 넣고 .vbs로 저장하고 있지만 작업을 실행할 때 Visual Basic 오류가 발생합니까?
FernandoSBS

1
이 명령은 배치 명령입니다. 표준 배치 파일에서 작동해야합니다.
Geoff

C : \ Windows> 존재하는 경우 \\ 192.168.1.1 \ volume1 (순 사용 y : \\ 192.168.1.1 \ volume1) e lse (순 사용 / 삭제 y :) 네트워크 연결을 찾을 수 없습니다. NET HELPMSG 2250을 입력하면 더 많은 도움을받을 수 있습니다.
FernandoSBS

편집 내용을 추가하겠습니다 ...
Geoff

죄송 해요? (5 자)
FernandoSBS

6

Powershell은 이것을 쉽게 만들 것입니다.

If(Test-Path \\192.168.1.1\Drive1)
  {
    net use M: \\192.168.1.1\Drive1 /user:Domain\UserName Password
  }
else {net use M: /delete > nul}

좋아, 그냥 메모장에 붙여 넣고 .vbs로 저장하고 있지만 작업을 실행할 때 Visual Basic 오류가 발생합니까?
FernandoSBS

1
.ps1로 저장하고 Powershell에서 실행하십시오.
오스틴 T 프랑스어

Powershell에 익숙하지 않습니다. 작업 스케줄러에서 자동화하는 방법은 무엇입니까?
FernandoSBS

두 가지 질문을 나누어야합니다. 품질 보증 사이트입니다. 당신이 아직없는 경우 또한, 구글 : google.com/...
오스틴 T 프랑스어

알았어 powershell을 사용하면 어떤 이점이 있습니까?
FernandoSBS

0

Windows 파일 탐색기를 사용하거나 net use 명령을 사용하여 매핑하는 것이 더 간단합니다. 작동하거나 작동하지 않습니다.


사용 가능한 경우 로그온 / 화면 보호기를 사용할 때 자동으로 연결되고 싶지 않으면 매핑 된 드라이브에서 제거하고 싶습니다. 따라서 제안한 것은 옵션이 아닙니다.
FernandoSBS

이해가 안됩니다. 명령을 성공하면 연결이됩니다. 명령이 실패하면 맵핑 된 드라이브에서 제거됩니다. 나에게 단순 해 보인다.
mdpc

0

이것이 최종 코드입니다.

function run{
net use
If(Test-Path \\192.168.1.1\volume1)
  {
    if (((New-Object System.IO.DriveInfo("Y:")).DriveType -ne "NoRootDirectory")) 
        {
            "already mounted and accessible"
        }
    else
        {
            net use Y: \\192.168.1.1\volume1
            "mounting"
        }
  }
else { 
    if (((New-Object System.IO.DriveInfo("Y:")).DriveType -ne "NoRootDirectory"))
        {
            net use Y: /delete
            "removing"
        }
}
exit 4
}

run 

Test-Path \\192.168.1.1\volume1네트워크 경로를 사용할 수 ((New-Object System.IO.DriveInfo("Y:")).DriveType -ne "NoRootDirectory")있는지 확인하고 드라이브 문자가 있는지 확인 하기 위해 제안한대로 사용 합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.