Windows

來自網路共享的 PowerShell DSC 副本

  • March 2, 2014

我正在嘗試使用 PowerShell DSC 從網路共享複製文件夾內容。這是程式碼:

Configuration TestSetup {
   Node localhost {
       File Test {
           SourcePath = "\\Server\SomeShare\SomeFolder"
           DestinationPath = "E:\test"
           Recurse = $true
           Type = "Directory"
       }
   }
}

但是這不起作用 - 當我執行它時,我收到以下錯誤消息:

The related file/directory is: \\Server\SomeShare\SomeFolder.
The path cannot point to the root directory or to the root of a net share.
SourcePath must be specified if you want to configure the destination directory recursively. Make sure that SourcePath is a directory and that it is accessible.
   + CategoryInfo          : InvalidArgument: (:) [], CimException
   + FullyQualifiedErrorId : MI RESULT 4
   + PSComputerName        : localhost

The SendConfigurationApply function did not succeed.
   + CategoryInfo          : InvalidArgument: (root/Microsoft/...gurationManager:String) [], CimException
   + FullyQualifiedErrorId : MI RESULT 4
   + PSComputerName        : localhost

嘗試從網路共享安裝軟體包或從網路共享提取存檔時,我得到了類似的結果。我在 Windows Server 2008 R2 SP1 上執行 PowerShell 4。

有沒有辦法將 PowerShell DSC 與網路共享一起使用?

DSC 本地配置管理器作為本地 SYSTEM 帳戶執行,而不是您的使用者帳戶。因此,除非獲得明確的許可,否則它將無法訪問網路資源。

有兩種可能的情況。共享與應用 DSC 配置的電腦位於同一台機器上(我們稱之為機器 A),或者共享位於另一台機器上(我們稱之為機器 B)。

如果共享在機器 A 上,則需要向 SYSTEM 使用者授予 READ 權限。例如:

net share SomeShare=C:\SomeShare /GRANT:"NT AUTHORITY\SYSTEM",READ

如果共享在機器B上,則需要將READ權限授予機器A的電腦帳戶。例如:

net share SomeShare=C:\SomeShare /GRANT:DOMAIN\MachineA$,READ

資料來源:http ://www.powershellmagazine.com/2013/09/02/copying-powershell-modules-and-custom-dsc-resources-using-dsc/

引用自:https://serverfault.com/questions/568833