(Другое) Проблема рекурсивного копирования / вставки папок PowerShell. Набор инструментов для развертывания приложений PowerShell и SCCM

477
user001

чувствую, что я буду смеяться / плакать, потому что я знаю, что делаю что-то глупое / явно неправильное.

Я использую SCCM и PSADT, чтобы сделать попытку ниже. Это нормально работает, если я UNC в целевую папку и запускаю сценарий, но при развертывании в SCCM происходит следующее

Я попробовал все варианты ниже, что я могу придумать. Я пытаюсь переместить каталог с сетевой виртуальной машины на локальный клиент, но все, что я могу сделать, это скопировать сам каталог EMPTY

примеры того, что я пробовал

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 }  

И все, что между я могу думать. Каждый раз, когда я просто создаю пустую папку каталога, но не содержимое

0
Я поднял цель до уровня $ dirTarget, и это сработало. SCCM не может пройти 2 уровня вниз или у меня всегда был такой сценарий? user001 6 лет назад 0
Непонятно, что вы пытаетесь "Я использую SCCM и PSADT, чтобы попробовать следующее". и как выглядит ваш текущий код. В настоящее время ваша переменная `$ dirFiles` не определена. Seth 6 лет назад 0
Это часть гораздо большего набора инструментов, который корректно вызывается для любого другого приложения. он правильно определяет переменные (что дает мне доступ при локальном запуске и во всех других развернутых приложениях). Я вижу, что папка создается в целевом каталоге, но она пуста, рекурсия не выполняется user001 6 лет назад 0

1 ответ на вопрос

0
Pres

Похоже, проблема с разрешениями. Поскольку вы работаете с SCCM, я предполагаю, что вы используете предварительную версию Run Script. При этом сценарий запускается от имени учетной записи локальной системы компьютера, которая, вероятно, не имеет правильных разрешений NTFS для общего сетевого ресурса.

Если вы находитесь в домене: в качестве быстрого (грязного и небезопасного - отменить это изменение сразу после тестирования!). Предоставьте доменным компьютерам доступ на чтение к папке $ dirFiles \ target и всем дочерним объектам. Если это работает, вам нужно выяснить либо:

  • Как вы хотите структурировать права доступа для учетных записей локальной системы
  • Независимо от того, нужно ли превратить скрипт в пакет или приложение и запустить от имени зарегистрированного пользователя.

Вариант с пакетом более безопасен, но немного сложнее.

Удачи