自分が何か愚かなこと/明らかに間違ったことをしていることを知っているので、笑ったり泣いたりしそうになります。
私はSCCMとPSADTを使用して以下のことを試みています。ターゲットフォルダにUNCしてスクリプトを実行すると正常に動作しますが、SCCMに展開すると以下の問題が発生します。
私は考えられる限りの以下のバリエーションを試しました。ネットワーク上のVMからローカルクライアントにディレクトリを移動しようとしていますが、空のディレクトリ自体をコピーすることしかできないようです。
私が試したことの例は
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 フォルダーとすべての子オブジェクトへの読み取りアクセス権を付与します。これが機能する場合は、次のいずれかを行う必要があります。
- ローカルシステムアカウントのアクセス権限をどのように構成するか
- スクリプトをパッケージまたはアプリケーションに変換し、代わりにログインしたユーザーとして実行するかどうか。
パッケージオプションはより安全ですが、少し長くなります。
幸運を