Windows
來自網路共享的 PowerShell DSC 副本
我正在嘗試使用 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