내 요구 사항은 원격 컴퓨터에 연결하여 .TRA
확장명의 파일을 다른 원격 컴퓨터에 복사하는 것입니다.NET USE는 powershell에서 한 번만 작동합니다.
이제 원본 컴퓨터가 도메인에 없기 때문에 대체 자격 증명으로 연결해야합니다.
첫 번째 고집 포인트는 New-PSDrive
입니다. 저장된 자격 증명을 전달할 수있는 것으로 보이지 않습니다. 나는이의 다양한 버전을 시도 :
$cred = Get-Credential
New-PSDrive -NAME Z: -PSprovider Filesystem -root \\Computer\Exchange -credentials $cred
나는 오류를
공급자 자격 증명의 사용을 지원하지 않습니다 얻을. 자격 증명을 지정하지 않고 작업을 다시 수행하십시오.
내 대안
는NET USE
을 사용하는 것이었다, 한 번만 잘 작동하지만 :
이 (Connecting to a network folder with username/password in Powershell 여기 halr9000의 의견을 참조) 버그가 나타납니다.
아래의 전체 스크립트에서 나는 8 개의 다른 컴퓨터에 매핑합니다. 이 작품들 중 첫 번째 작품. 그 후 NET USE
(또는 위에 링크 된 Technet 기사에서 해결 방법으로 언급 한 New-Object WScript.NETWORK
)을 사용하려는 시도는 실패합니다. 아니면 오히려 실패하지 않습니다.
매핑 된 드라이브가 생성되며 NET USE
을 입력하거나 탐색기 (및 해당 브라우저)를 보면 볼 수 있습니다. 하지만 PowerShell에서 해당 드라이브에 연결할 수 없습니다. 해당 존재하지 않는 것처럼 Test-Path Z:
False를 반환합니다. NET USE Z: /D
을 실행하여 드라이브를 성공적으로 삭제할 때까지 오른쪽.
누군가 제 관심사 중 하나를 도와주세요. 도스에서 이렇게하지 마라.
전체 스크립트를
$int = 0
$arrStagePC = "BOX42", "BOX43", "BOX44", "BOX45", "BOX46", "BOX47", "BOX48", "BOX49"
$arrData = "0848","5144","5292","5383","2158","2646","0061","2331"
Foreach($strComp in $arrStagePC)
{
$arr = $arrData[$int]
$comp = $strComp
net use z: \\$arr\Exchange /user:admin password
Copy-Item z:\*$date.tra \\$comp\Export$
net use z: /d
$int++
}
편집 아래 @Christians 허용 대답에서보세요.
Foreach($strComp in $arrStagePC)
{
$arr = $arrData[$int]
$comp = $strComp
net use z: \\$arr\Exchange /user:admin password
Copy-Item FILESYSTEM::Z:\*.TRA \\$comp\Export$
net use z: /d
$int++
}
정말 대단합니다. 고맙습니다. – Patrick