感觉我要笑/哭了,因为我知道自己在做一些愚蠢/明显错误的事情。
我正在使用 SCCM 和 PSADT 尝试以下操作。如果我 UNC 到目标文件夹并运行脚本,它会正常工作,但在 SCCM 中部署时会发生以下情况
我已经尝试了以下我能想到的所有变体。我试图将目录从联网的虚拟机移动到本地客户端,但我似乎只能复制空目录本身
我尝试过的例子是
If (!(Test-Path("C:\Target\"))) {
New-Item -ItemType directory -Path "C:\Target"
Copy-Item -Path "$dirFiles\Target\*" -Destination "C:\Target\" -Recurse -Force -Verbose
}
和
If (!(Test-Path("C:\Target\"))) {
Copy-Item -Path "$dirFiles\Target" -Destination "C:\" -Recurse -Force -Verbose
}
以及我能想到的所有内容。每次我都只是创建了一个空目录文件夹,但没有内容
答案1
听起来像是权限问题。由于您是从 SCCM 运行的,我猜您使用的是预发布的运行脚本功能。这会以计算机的本地系统帐户运行脚本,而该帐户可能没有正确的网络共享 NTFS 权限。
如果您在域中:作为快速(肮脏且不安全 - 测试后立即恢复此更改!)测试。授予域计算机对 $dirFiles\target 文件夹及其所有子对象的读取权限。如果有效,您需要确定:
- 您希望如何构建本地系统帐户的访问权限
- 是否将脚本转换为包或应用程序并以登录用户的身份运行。
包裹选项更安全,但是有点冗长。
祝你好运