我正在尝试使用Power
Shell 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