ユーザーアカウントを管理するために使用するPowerShellスクリプトの問題に深くかかわっています。ユーザーが場所を移動すると、ADUserを新しいOUに移動し、サーバー間でデータを移動します。フォルダーのコピーを開始し、PowerShellを使用してスクリプトを続行します
ホームフォルダをコピーする方法を調べているうちに、PowerShellを使用してファイルをコピーしたり、特定のディレクトリを除外したりする簡単な方法がないことが判明しました。結果として、robocopy.exeを呼び出して/ XDを使用しています。これにより、コピーを開始することもできますが、スクリプトを次のユーザーに引き継ぐことができます。
ユーザーの種類によっては、古いフォルダを移動または削除してスクリプトを強化しようとしています。私は、スクリプトを次のユーザーにただちに続けることができ、コピーが終了するのを待たずに、私が呼びたいPS1ファイルを作成しました。 PS1ファイルは、次のようになります。
Param(
[string]$source,
[string]$destination,
[string]$oldStaff
)
robocopy $source $destination
move $source $oldStaff
私は次のように私たちのスクリプトからこれを呼び出すしようとすると:
スタート - :
start powershell.exe .\Move-WCFolders.ps1 $source $destination $oldStaff
私は、次のエラーメッセージが表示されますプロセス: 引数 '<%スタックオーバーフロー%>に送信する前にサーバー名を削除しました'という位置パラメータを見つけることができません。 1文字::。 ラインで1 +たpowershell.exeを開始\移動-WCFolders.ps1 $の元$説明 + ~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Process]、ParameterBindingException + FullyQualifiedErrorId:PositionalParameterNotFound、Microsoft.PowerShell.Commands.StartProcessCommand
私は私が達成しようとしているものを達成するためにはるかに良い方法がありそうであることを確信しています。それはrobocopyを開始する必要があるか、外部のスクリプトで物事を呼び出さなければならないことを「きれいに」感じません。最終目標は、ディレクトリを除外しながらフォルダをコピーし、コピーが完了したらフォルダを移動しますが、スクリプトを続行するためにコピーが完了するまで待つ必要はありません。