Мне нужно скопировать файл с сервера самбы Linux на различные Windows Server 2008.
Общая папка имеет определенный логин и доступна только для чтения.
Я могу получить доступ и скопировать общий файл с помощью проводника Windows без проблем.
Но при использовании Powershell для копирования файла всегда выдается ошибка, как показано ниже.
Я пытался использовать Copy-item, robocopy и bitstransfer, но все они дают ошибку.
$arq = "file.zip"
$downloadSource = "\\domain.or.ip\sharedfolder\$arq"
echo $downloadSource
Copy-Item -Path "$downloadSource" -Destination ".\$arqAgenteZabbix"
этот метод дает мне следующую ошибку
Copy-Item: доступ запрещен
+ CategoryInfo: PermissionDenied: (\ domain.or.ip \ sharedfolder \ file.zip: String) [Copy-Item], UnauthorizedAc
cessException
+ FullyQualifiedErrorId: ItemExistsUnauthorizedAccessError, Microsoft.PowerShell.Commands.CopyItemCommand
...
Copy-Item: путь не найден ...
Итак, я попытался добавить параметр учетных данных
$credencial = New-PSSession -ComputerName "serverhostname" -Credential "serverhostname\sharedfolder"
Copy-Item -Path "$downloadSource" -Destination ".\$arqAgenteZabbix" -ToSession $credencial
Но получил эту ошибку после ввода моего пароля:
"New-PSSession: [pxl0mon00013] Не удалось подключиться к удаленному серверу> имя_хоста ...
WinRM не может обработать запрос ... ошибка 0x80090311 ...
+ CategoryInfo: OpenError (System.Manageme .... RemoteRunspace: RemoteRunspace) [New-PSSession], PSRemotin
gTransportException
+ FullyQualifiedErrorId: AuthenticationFailed, PSSessionOpenFailed
Затем я решил дать BitsTransfer шанс.
Import-Module bitstransfer
$arq = "file.zip"
$downloadSource = "\\domain.or.ip\sharedfolder\$arq"
Start-BitsTransfer -DisplayName DownloadName `
-TransferType Download `
-Source $downloadSource `
-Destination .\$arq
И это также дало мне ошибку:
Start-BitsTransfer: путь не найден
'\ domain.or.ip \ sharedfolder \ file.zip' не существует.
+ CategoryInfo: ObjectNotFound: (\ domain.or.ip \ sharedfolder \ file.zip: String) [Start-BitsTransfer], ParentC
ontainsErrorRecordException
+ FullyQualifiedErrorId: PathNotFound, Microsoft.BackgroundIntelligentTransfer.Management.NewBitsTransferCommand
Как мне сделать копию этого файла, пожалуйста?
РЕДАКТИРОВАТЬ - 20190403
Я попробовал следующее:
get-childitem \\domain.or.ip\sharedfolder\
, что привело к:
Get-ChildItem : Cannot find path '\\domain.or.ip\sharedfolder\' because it does not exist.
At line:1 char:3
+ ls <<<< \\domain.or.ip\sharedfolder\
+ CategoryInfo : ObjectNotFound: (\domain.or.ip\sharedfolder\:String) [Get-ChildItem], ItemNotFo
undException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand
Итак, я открыл проводник и вставил \ domain.or.ip \ sharedfolder \ в адресную строку. Он попросил у меня имя пользователя и пароль, затем файл был доступен.
После этого я вернулся в PowerShell и снова попробовал тот же командлет Get-ChildItem. Затем я смог отобразить содержимое общей папки, как и ожидалось.
Directory: \\domain.or.ip\sharedfolder
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 01/04/2019 10:06 3896455 file.zip
Наконец я попробовал:
Copy-Item -Path \\domain.or.ip\sharedfolder\file.zip -Destination ".\file.zip"
И оно было успешно скопировано.
Хорошо, только после того, как я ввел свою регистрационную информацию в Проводнике, PowerShell смог найти общую папку.
Но мне нужно его скопировать без необходимости открывать проводник.