PowerShell v2에서 드라이브 문자를 매핑하는 데 사용하고 드라이브 문자가 나타나고 Explorer에서 사용할 수 있다는 점에서 작동합니다. 그때 PowerShell에서 아무것도 할 해당 드라이브 문자를 사용하려고하면매핑 된 드라이브 문자를 즉시 사용할 수 있습니까?
$Network = New-Object -ComObject "Wscript.Network"
$Network.MapNetworkDrive($drive.name, $drive.value, $true)
그러나, 나는 DriveNotFoundException을받을 폴더를 만들 말한다. 하지만 제가 말했듯이 드라이브는 수동으로 사용할 수 있습니다. 잠깐 기다려야하거나 탐색기를 새로 고쳐야 할 필요가 있다고 생각했는데 그렇게하면 아무 것도 영향을 미치지 않는 것 같습니다. 그러나 미리 돌아가서 드라이브가 있는지 확인하고 그렇지 않은 경우에만 스크립트를 다시 실행하면 드라이브가 표시되고 다시 생성되지 않으며 다음 작업이 정상적으로 작동합니다. 마치 드라이브 문자가 세션 기반인지? 나는이 세션 기반의 드라이브를 제공 할 것을 희망,하지만 좋은에서뿐만 아니라
New-PSDrive -name:($drive.name -replace ':', '') -psProvider:FileSystem -root:$drive.value -scope:Global
를 추가했습니다.
추가 주름은 스크립트를 관리자 권한으로 실행해야한다는 것입니다.하지만 두 개의 다른 스크립트 (드라이브를 만들 스크립트와 스크립트를 사용하는 스크립트)로 실행하면 관리자 권한으로 실행될 때 스크립트가 작동합니다. 두 작업이 하나의 스크립트에서 완료 될 때만 실패합니다.
마지막으로, PS 3은 매핑 된 드라이브를 처리하는 더 좋은 방법을 알고 있지만 내 제어 할 수없는 것들 때문에 PS v2로 제한됩니다.
가 공백이나 콜론, 중 작동, 그리고 내가 할 수 콜론이 매개 변수와 값을 시각적으로 연결한다는 것을 알게되면 코드가 나를 더 읽기 쉽게 만듭니다. 편집 : 콜론에 대한 의견을 삭제 했습니까? – Gordon