私は非常に奇妙な問題を抱えており、髪を引っ張っています。
2 つの PowerShell スクリプトがあります。メインと子としましょう。子スクリプトはメインフォルダー内のフォルダーにあります:
Mainfolder\Main_script
MainFolder\ChildFolder\child_script.ps1
Main スクリプトは、場所を変更できる場所から実行されます。だから私は最初にスクリプトの場所を取得します
$ScriptDir = (Get-Location).path
私はコピーを含むいくつかのタスクを実行します
copy-item -path $src -Destination $dst -force
この時点までのすべてが素晴らしいです。次に、子スクリプトを呼び出します
& "$scriptdir\childfolder\Child_script.ps1"
スクリプトが実行され、他のタスクが実行されていることがわかります。しかし、子フォルダーにコピーする必要があるファイルがいくつかあります。しかし、コピーは child_Script では機能しません。私も入れます
"Copying $src to $destination" | Out-file -append $logfile
そして私は見るCopying C:\test\copythis.txt to C:\temp
チャイルドスクリプトのコードはこれです
$Scriptdir = (Get-Location).path
$src = "$Scriptdir\copythis.txt"
$dst = "C:\temp"
copy-item -path $src -Destination $dst -force
メイン スクリプトで同じファイルをコピーしようとすると、すべてが機能します。子スクリプトでコピー項目が機能しないのはなぜですか? また、すべてがシステム アカウントで実行されていることにも言及する必要があります。したがって、許可の問題はありません。
どんな助けでも大歓迎です。乾杯、