sinto que vou rir/chorar porque sei que estou fazendo algo estúpido/obviamente incorreto.
Estou usando SCCM e PSADT para tentar o seguinte. Funciona bem se eu UNC para a pasta de destino e executar o script, mas o seguinte acontece quando implantado no SCCM
Eu tentei todas as variações abaixo que consigo imaginar. Estou tentando mover um diretório de uma VM em rede para um cliente local, mas tudo que consigo fazer é copiar o próprio diretório VAZIO
exemplos do que tentei são
If (!(Test-Path("C:\Target\"))) {
New-Item -ItemType directory -Path "C:\Target"
Copy-Item -Path "$dirFiles\Target\*" -Destination "C:\Target\" -Recurse -Force -Verbose
}
E
If (!(Test-Path("C:\Target\"))) {
Copy-Item -Path "$dirFiles\Target" -Destination "C:\" -Recurse -Force -Verbose
}
E tudo o que posso imaginar. Cada vez que eu apenas crio a pasta de diretório vazia, mas nenhum conteúdo
Responder1
Parece um problema de permissões. Como você está executando no SCCM, acho que está usando o recurso Run Script de pré-lançamento. Isso executa o script como a conta do sistema local do computador, que provavelmente não possui as permissões NTFS corretas para o seu compartilhamento de rede.
Se você estiver em um domínio: como um teste rápido (sujo e inseguro - reverta essa alteração imediatamente após o teste!). Conceda aos computadores do domínio acesso de leitura à pasta $dirFiles\target e a todos os objetos filho. Se funcionar, você precisa descobrir:
- Como você deseja estruturar as permissões de acesso para contas do Sistema Local
- Seja para transformar o script em um pacote ou aplicativo e executá-lo como o usuário conectado.
A opção de pacote é mais segura, mas um pouco mais prolixa.
Boa sorte