Get-ChildItem retorna uma lista de objetos do sistema de arquivos, não apenas nomes de arquivos.
Você pode usar a opção -Name
para fazer com que retorne apenas nomes de arquivos.
The output type is the type of the objects that the cmdlet emits.
• System.Object - The type of object that Get-ChildItem returns is determined by the objects in the provider drive path.
• System.String - If you use the Name parameter, Get-ChildItem returns the object names as strings.
Algo parecido com isto:
$orgPath = "d:\testOrg\"
$delim = "-"
Get-ChildItem $orgPath -Name | '
foreach {
$nameArray = $_.Split($delim)
$newName = $nameArray[2]+$nameArray[0]+$nameArray[1]+"_"+$nameArray[3]+$nameArray[4]
Write-Output $newName
}