2013-03-06 47 views
6

hello,無需CredSSP即可複製文件的雙跳訪問

我們擁有數百個虛擬機的大環境。在我們的服務部署過程中,我們需要將一些文件從build drop複製到所有這些機器上。

因此,我們有:

  • 用戶機,其中部署腳本執行
  • 生成放置機器,其中的文件是
  • 目標機

PowerShell是使用腳本語言。喜歡的東西:

$buildDrop  = "\\sourceMachine\Build" 
$machineTarget = "targetMachine" 

Invoke-Command -ComputerName $machineTarget -ArgumentList $buildDrop -ScriptBlock { 
    Param($buildDrop) 
    Test-Path $buildDrop # Will return False 
} 

這種做法導致double hop issue,這我不能夠解決由於CredSSP的功能不支持XP和2K3機。用戶機器上調用的複製導致性能瓶頸(數據通過用戶機器傳輸)。

是否有任何方法使所有目標機器始終可見堆積降落? 可能以某種方式將它們添加到受信任的位置或類似的東西?

在此先感謝!

回答

6

我找到了解決方案它適用於我們的環境。

如果沒有Cred-SSP,不能通過雙跳傳輸憑據,但是您可以在目標機器上運行某些內容而無需第一跳。

最簡單的方法是使用PSEXEC-s標誌(運行在系統帳戶的遠程過程),最後的字符串是這樣的:

psexec \\someHost -s robocopy "\\stagingHost\Staging" "\\someHost\C$\Staging" /MIR 

您也可以啓動一些PS腳本以同樣的方式,只是確保script execution is allowed遠程機器上:

psexec \\someHost -s "\\stagingHost\Staging\Script.ps1" SomeArg1 SomeArg2 

檢查this文章,瞭解如何PSEXEC作品。 雖然someHost的服務

+0

+1。此外,通過在您創建並立即在目標計算機上運行的計劃任務內執行此項工作,也可以實現同樣的效果。 – 2016-10-19 22:52:50

1

CredSSP 解決雙跳問題。

從等式中刪除用戶的桌面。在您的構建服務器上設置適當的構建&部署服務器/服務/應用程序,並從那裏管理所有內容。展鵬有一個新的產品,可能會極大地幫助你這種情況,Deployment Manager

+1

我們有非常複雜的自定義解決方案與數百個用例,所以我們不能移動到別的東西。 我相信必須有解決方案。沒有CredSSP的用戶帳戶令牌不能被轉換。好。但必須有另一種方式。 – 2013-03-06 20:06:04

+0

我同意。必須有更好的解決方案。我正在嘗試使用CredSSP的PowerShell工作流,並在使用CredSSP時重新啓動計算機停止工作。真是慚愧,沒有簡單的解決方案 – 2014-07-08 12:20:27

0

如果你使用可以獲取到其他機器的機器使用你的機器只複製文件:

$computers | % {copy '\\servershare\build' "\\$_\c`$\Temp"} 
$sb = {C:\Temp\Dosomething.txt args[0]} 
$computers | % {Invoke-command -comp $_ -scriptBlock $sb -argumentlist $arg} 
+0

我可以從我的機器上覆制文件,即使沒有將它們放到臨時文件夾中,但在這種情況下,數據將從構建放置機器傳輸到用戶機器,然後才能到目的地。因此,如果用戶機器放置在另一個本地網絡中,直接複製只需要五分鐘,則需要數小時。 – 2013-03-13 12:20:06

相關問題