Antecedentes: que tienen una secuencia de comandos de PowerShell: script1
que lleva en un sourceDirectory
y dos destinos (llamarlos dest1Directory
y dest2Directory
).PowerShell: Obtener resultado regreso de Powershell de secuencias de comandos se llama desde otro script PS
El sourceDirectory está estructurado de la siguiente manera:
\ Source \ Dest1 \ stuff1
y
\ Source \ dest2 \ stuff2
script1
llamadas otra secuencia de comandos: script2
, foreach
STUFF (así que script2
se puede ejecutar 10 veces, por ejemplo), proporcionando script2
con el parámetro de destino necesario, que crea copias de seguridad de todos los contenidos "STUFF" reemplazando en dest1Directory
y dest2Directory
, y luego copia todo STUFF al destino correspondiente
Script1
:
foreach ($folder in $STUFF1)
{
& $script2 -stuffParameter $folder -destDrive $dest1Directory -backUpDrive $BackUpDirectory
}
El problema que estoy teniendo es:
estoy llamando script1
de un sitio web de Visual Studio y me gustaría script2
a la salida de todas las rutas de directorio de copia de seguridad se crea así que tengo referencias a ellos para más tarde. He intentado esto en el interior de script2
:
$returnRollBackObj = New-Object Object
Add-Member -memberType NoteProperty -name "RollBackLocation" -value $folderobj -inputObject $returnRollBackObj
return $returnRollBackObj
Pero no parece volver a los objetos puesto que son llamadas subíndice. No sé cómo devolver un número indefinido de estos objetos desde script1
, así que estoy perdido. ¿Alguien me puede ayudar?
Pensé mucho pero cuando lo probé no funcionó como esperaba. Tengo 'script1' llamando a' script2' con retornos no capturados, sin embargo, solo la declaración de retorno de 'script1' se envía a mi consola. Sin embargo, hay un montón de salida 'Write-Host/Write-Warning' que funciona bien desde' script2'. –
@Evan Layman - ¿Qué quieres decir con return from script1? – manojlds
Lo siento, no creí que fuera necesario incluir esto: tengo otro objeto que contiene una ubicación de registro devuelta por 'script1' (y esto funciona correctamente) –