program story

Powershell에서 사용자 이름 / 암호로 네트워크 폴더에 연결

inputbox 2021. 1. 11. 08:07
반응형

Powershell에서 사용자 이름 / 암호로 네트워크 폴더에 연결


Powershell의 공유 네트워크 폴더에 액세스하여 파일 등을 가져 오는 경우가 많습니다.하지만 공유에 사용자 이름 / 암호가 필요한 경우 Windows 탐색기와 달리 Powershell에서 이러한 정보를 요구하지 않습니다. Windows 탐색기에서 먼저 폴더에 연결하면 Powershell에서 연결할 수 있습니다.

Powershell에서 인증하려면 어떻게해야합니까?


언뜻보기 New-PSDrive에는 자격 증명 제공 을 사용하고 싶어합니다 .

> New-PSDrive -Name P -PSProvider FileSystem -Root \\server\share -Credential domain\user

실패!

New-PSDrive : cmdlet에 대한 동적 매개 변수를 검색 할 수 없습니다. NewDrive의 동적 매개 변수는 'FileSystem'제공자에 대해 검색 할 수 없습니다. 공급자는 자격 증명 사용을 지원하지 않습니다. 자격 증명을 지정하지 않고 작업을 다시 수행하십시오.

설명서에는 PSCredential개체를 제공 할 수 있다고 나와 있지만 자세히 살펴보면 cmdlet은 아직이를 지원하지 않습니다. 아마 다음 버전에서.

따라서 net use또는 WScript.Network객체 를 사용 하여 MapNetworkDrive함수를 호출 할 수 있습니다.

$net = new-object -ComObject WScript.Network
$net.MapNetworkDrive("u:", "\\server\share", $false, "domain\user", "password")

PowerShell 3.0에서 New-PSDrive 편집

최신 버전의 PowerShell에서 New-PSDrivecmdlet은 네트워크 공유를 자격 증명과 매핑하는 데 사용됩니다!

New-PSDrive -Name P -PSProvider FileSystem -Root \\Server01\Public -Credential user\domain -Persist

이것은 PowerShell 관련 답변은 아니지만 먼저 "NET USE"를 사용하여 공유에 대해 인증 할 수 있습니다.

net use \\server\share /user:<domain\username> <password>

그런 다음 PowerShell에서 필요한 모든 작업을 수행합니다.


PowerShell 3은 이제 이를 즉시 지원합니다 .

PowerShell 2에서 멈춘 경우 기본적으로 레거시 net use명령 (앞에서 제안한대로) 을 사용해야합니다 .

참조 URL : https://stackoverflow.com/questions/303045/connecting-to-a-network-folder-with-username-password-in-powershell

반응형