Не удается найти Dir из-за неопознанных учетных данных? - PullRequest
0 голосов
/ 29 мая 2019

Я пытаюсь скопировать некоторые файлы из локального местоположения в сетевое местоположение, доступное только через определенного пользователя - пока у меня есть

Import-Module bitstransfer
$username = "domain\user"
$password =  Get-Content 'C:\securestring.txt' | ConvertTo-SecureString -AsPlainText -Force
$cred = new-object -typename System.Management.Automation.PSCredential `
         -argumentlist ($username, $password)
$sourcePath = 'C:\folder\file.csv', 'C:\folder\file2.csv'
$destPath = '\\server\share$\', '\\server\share$\'
Start-BitsTransfer -Source $sourcePath -Destination $destPath -Credential $cred

У меня проблемы с аутентификацией, кажется, что скрипт не может передать параметры через

ОБНОВЛЕНИЕ: появляется ошибка с обработкой передачи битов -creds, как и ожидалось, чтобы добиться успеха, нужно выполнить команду net use для установки соединения вручную.

Ценю ваш вклад!

Ответы [ 2 ]

0 голосов
/ 29 мая 2019

В вашем пути назначения должны быть указаны имена файлов:

Start-BitsTransfer -Source 'C:\folder\file.csv', 'C:\folder\file2.csv' -Destination '\\server\share$\file.csv', '\\server\share$\file2.csv' -Credential $cred

Или вам нужно обернуть переменные следующим образом:

$destPath = "$('\\server\share$\file.csv', '\\server\share$\file2.csv')"

Также, если вы хотите, чтобы имена файлов были взятыдинамически, тогда это идеальный сценарий для использования цикла foreach и его решения.

Надеюсь, это поможет.

0 голосов
/ 29 мая 2019

Эти серверы находятся в одном домене?

Являются ли кредиты одинаковыми для обоих серверов?

Если это серверы в нескольких доменах, это может быть проблема аутентификации двойного прыжка Windows. Смотрите статьи на эту тему.

Я только что выполнил следующее в одной из своих лабораторий WS2K12, и она работает, как и ожидалось, но у меня один домен с одним лесом, и я сделал это только на одном сервере.

PS C:\Scripts> Test-Path -Path '\\FileServer01\Data'
True

PS C:\Scripts> Test-Path -Path '\\FileServer01\TargetShare$'
True

PS C:\Scripts> Get-ChildItem -Path '\\FileServer01\Data\*.*'


    Directory: \\FileServer01\Data


Mode                LastWriteTime     Length Name                                                                                                                      
----                -------------     ------ ----                                                                                                                      
-a---        11/17/2017   3:57 AM     176640 High_Impact_Data.docx                                                                                                     
-a---        11/17/2017   3:57 AM     184320 Low_Impact_Data.docx                                                                                                      
-a---         2/12/2018   4:00 PM         64 New Text Document.txt                                                                                                     



PS C:\Scripts> Get-ChildItem -Path '\\FileServer01\TargetShare$\'

PS C:\Scripts> Copy-Item -Path '\\FileServer01\Data\*.*' -Destination '\\FileServer01\TargetShare$\'

PS C:\Scripts> Get-ChildItem -Path '\\FileServer01\TargetShare$\'


    Directory: \\FileServer01\TargetShare$


Mode                LastWriteTime     Length Name                                                                                                                      
----                -------------     ------ ----                                                                                                                      
-a---        11/17/2017   3:57 AM     176640 High_Impact_Data.docx                                                                                                     
-a---        11/17/2017   3:57 AM     184320 Low_Impact_Data.docx                                                                                                      
-a---         2/12/2018   4:00 PM         64 New Text Document.txt                                                                                                     



PS C:\Scripts> Import-Module -Name BitsTransfer

PS C:\Scripts> Get-ChildItem -Path '\\FileServer01\TargetShare$\'

PS C:\Scripts> Start-BitsTransfer -Source '\\FileServer01\Data\*.*' -Destination '\\FileServer01\TargetShare$\'

PS C:\Scripts> Get-ChildItem -Path '\\FileServer01\TargetShare$\'


    Directory: \\FileServer01\TargetShare$


Mode                LastWriteTime     Length Name                                                                                                                      
----                -------------     ------ ----                                                                                                                      
-a---        11/17/2017   3:57 AM     176640 High_Impact_Data.docx                                                                                                     
-a---        11/17/2017   3:57 AM     184320 Low_Impact_Data.docx                                                                                                      
-a---         2/12/2018   4:00 PM         64 New Text Document.txt

Обновление для OP

Что касается этого ...

«другой домен, но кредит тот же»

Говорите, один и тот же лес с несколькими доменами или домен в отдельном лесу?

В любом случае, установлены ли двунаправленные транзитивные трасты по умолчанию? (если нет, то это разные пространства имен, и аутентификация завершится неудачно, если вы не передадите два набора кредитов с соответствующей идентификацией домена)

Когда вы говорите, что кредиты одинаковы, означает ли это, что учетная запись существует в каждом домене? Эта учетная запись использования может существовать в обоих, но это все еще означает, что кредиты разные, так как домены должны быть указаны?

Итак, домен1 \ postanote - это не то же самое, что домен2 \ postanote. Тем не менее, если вы использовали UPN, доменные подсказки и т. Д. В качестве идентификатора пользователя, то он более гибок, чем NetBios.

Это, конечно, все требования ADDS, и это ограничение не только для PowerShell, но и для любых вещей, требующих аутентификации.

Как работает аутентификация между доменами?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...