2010-07-14 5 views
3

로그인 스크립트를 최대한 강력하고 빠르게 실행할 수 있도록 최적화하려고합니다.Powershell에서 드라이브를 매핑하는 "더 나은"방법은 무엇입니까?

스크립트는 드라이브의 번호를 기록하고 나는 나도 사용할 수 있습니다 볼 수 있습니다

(New-Object -ComObject WScript.Network).MapNetworkDrive("X:", \\myserver\myshare)) 

또는

net use x: \\myserver\myshare 

는 드라이브를 매핑하려면.

"더 나은"방법은 무엇입니까? "전통적인"방법은 더 강력하지만, 새로운 방법보다 느립니다.

드라이브가 있는지 테스트 할 때 이상하게 보입니다. 탐색기에 표시 되더라도 다음과 같이 테스트 할 때가 있습니다.

if (test-path x:) { write "Drive mapped already" } 

결과가 출력되지 않습니다. 이것은 단지 시간의 일부 일이있는 것처럼 보이지만 패턴을 해결하지 못했습니다.

감사합니다 "그물을 사용"에 드라이브를 매핑

+2

X은'테스트 경로에 관한? 예를 들어'X :'드라이브의 현재 디렉토리가 필요한 액세스 권한이없는 디렉토리 일 경우'X :'가 매핑 되더라도 테스트가 실패합니다. – stakx

+0

내가 대답했음을 느낀다면 대답으로 표시하십시오. 감사! – x0n

답변

4

자동으로 PSDrive를 같은 파워 쉘에는 표시되지 않습니다. 불행히도 같은 일은 아닙니다. Test-Path는 UNC 경로 또는 PSDrive (또는 powershell 공급자를 가리키는 파일 시스템 :: c :)와 같은 공급자 자격을 갖춘 PSPath 만 검사합니다.

이것은 powershell이 ​​로그인 스크립트를위한 최고의 쉘이 아닌 이유 중 하나입니다. \ (즉 루트 디렉토리를 해당 드라이브에) : 대신 X의 : 당신이 X를 테스트하기 때문에 될 수있는,`이상한 :

-Oisin

관련 문제