tengo el siguiente código:¿Cómo se puede usar la propiedad de un objeto en una cadena de comillas dobles?
$DatabaseSettings = @();
$NewDatabaseSetting = "" | select DatabaseName, DataFile, LogFile, LiveBackupPath;
$NewDatabaseSetting.DatabaseName = "LiveEmployees_PD";
$NewDatabaseSetting.DataFile = "LiveEmployees_PD_Data";
$NewDatabaseSetting.LogFile = "LiveEmployees_PD_Log";
$NewDatabaseSetting.LiveBackupPath = '\\LiveServer\LiveEmployeesBackups';
$DatabaseSettings += $NewDatabaseSetting;
Cuando trato de utilizar una de las propiedades de una cadena de ejecutar el comando:
& "$SQlBackupExePath\SQLBackupC.exe" -I $InstanceName -SQL `
"RESTORE DATABASE $DatabaseSettings[0].DatabaseName FROM DISK = '$tempPath\$LatestFullBackupFile' WITH NORECOVERY, REPLACE, MOVE '$DataFileName' TO '$DataFilegroupFolder\$DataFileName.mdf', MOVE '$LogFileName' TO '$LogFilegroupFolder\$LogFileName.ldf'"
Se trata de sólo tiene que utilizar el valor de $DatabaseSettings
en lugar del valor de $DatabaseSettings[0].DatabaseName
, que no es válido.
Mi solución consiste en copiarlo en una nueva variable.
¿Cómo puedo acceder a la propiedad del objeto directamente en una cadena de comillas dobles?
Esto funciona, pero me pregunto si también podría concatenar cadenas, ya que estaba tratando de evitar en primer lugar – ozzy432836
@ ozzy432836 Puede, por supuesto. O use cadenas de formato. Por lo general, no importa y se reduce a las preferencias personales. – Joey