Tôi có mã sau:
$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;
Khi tôi cố gắng sử dụng một trong các thuộc tính trong lệnh thực thi chuỗi:
& "$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'"
Nó cố gắng chỉ sử dụng giá trị của $DatabaseSettings
thay vì giá trị của $DatabaseSettings[0].DatabaseName
, giá trị này không hợp lệ.
Cách giải quyết của tôi là sao chép nó vào một biến mới.
Làm cách nào tôi có thể truy cập trực tiếp thuộc tính của đối tượng trong một chuỗi dấu ngoặc kép?