Копирование файлов с одного сервера на другой от имени другого пользователя (два отдельных домена) с помощью PowerShell

 Я работал над тем, чтобы скопировать несколько файлов с одного клиентского сайта на другой, моя проблема заключается в том, что у них есть отдельные домены Active Directory, и между ними нет доверия. Используя PowerShell, мы можем сохранить учетные данные пользователя, а затем использовать их для сопоставления сетевого диска с ними и выполнения нашей копии.

Мы настроим учетные данные для хранения в текстовом файле, хотя классная функция PowerShell очень ограничена тем, что она может быть расшифрована только пользователем, создавшим ее на той же локальной машине (что прекрасно подходит для наших нужд). Следующий командлет запросит строку для шифрования, которая в данном случае является нашим паролем.

Read-Host -ASSecureString | ConvertFrom-SecureString | Out-File E:\Scripts\password.txt

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

$password = Get-Content E:\Scripts\password.txt | ConvertTo-SecureString
$credentials = new-object -typename System.Management.Automation.PSCredential -argumentlist "domain\username",$pass
 
New-PSDrive -Name Z -PSProvider filesystem -Root "\10.15.2.5\Baseline$" -Credential $creds
Remove-Item -Path Z:\ -filter *.bak
Copy-Item -filter *.bak E:\Backup -Destination Z:\ -ErrorAction SilentlyContinue -ErrorVariable A
Remove-PSDrive Z

Скрипт копирует файлы, и это быстрый способ получить файлы с сервера в одном домене на другой без какого-либо доверия.