來自遠端電腦的 Powershell New-PSDrive

來自遠端電腦的 Powershell New-PSDrive

我又來了,還有一個問題。

就像聲明的那樣這裡,我成功連接了兩台伺服器,複製了很多檔案。但副本根本不起作用。它會在目標伺服器上已存在的檔案和資料夾上傳回許多錯誤。

我所做的是創建一個 PSSession,如上面給定連結所述。我可以成功地從來源伺服器查看文件Invoke-Command -ScriptBlock { Get-ChildItem -Path "d:\" } -Session $source_server。然後,開始複製:

copy-item -path "d:\folder_on_source_server\*" -destination "d:\folder_on_destination_server" -FromSession $source_server -recurse -exclude "*dfsrprivate*",".dropbox.cache"

來源資料夾名稱和目標資料夾名稱相同。事實上,兩台伺服器具有相同的資料夾結構。但是,如上所述,我在目標上已存在的文件和資料夾上收到了很多錯誤。我的意思是很多。僅複製新文件,不複製更新的文件。我知道 -force 選項會起作用,但它會再次複製所有內容。

我現在的目標是複製所有新的從來源更新文件,但複製項目沒有這樣的功能。所以,我嘗試使用 robocopy。問題是我不知道該如何告訴 robocopy 使用遠端伺服器資料夾作為來源。我知道 robocopy 可以使用 UNC 路徑,但我沒有想法解析它的遠端 UNC 路徑。類似於robocopy remote_source_folder local_destination_folder /mir設定排除項。

我嘗試創建 PSDrive,但僅在來源伺服器上建立。本機 robocopy 看不到它:Invoke-Command -session $vms -ScriptBlock { New-PSDrive -name "S" -PSProvider "FileSystem" -Root "\remote_server_ip\d$" }。如果我刪除 -session,驅動器會在我不知道的地方建立。

我還嘗試了一些其他命令,例如net use,在來源上使用get-childitem 創建了一個變量,以及其他命令,所有這些命令都帶有或不帶有invoke-command 以及帶有和不帶-session,但沒有一個起作用。

那麼,你能幫我取得這些文件嗎?我認為這是一件簡單的事情,但我沒有看到它。另外,如果您能給我指出一種無需輸入使用者名稱和密碼即可啟動 psession 的方法,那就太好了。

謝謝指教!

相關內容