ฉันมีรหัสต่อไปนี้:
$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;
เมื่อฉันพยายามใช้คุณสมบัติอย่างใดอย่างหนึ่งในคำสั่ง string execute:
& "$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'"
มันพยายามแค่ใช้ค่าของ$DatabaseSettings
มากกว่าค่า$DatabaseSettings[0].DatabaseName
ซึ่งไม่ถูกต้อง
วิธีแก้ปัญหาของฉันคือการคัดลอกไปยังตัวแปรใหม่
ฉันจะเข้าถึงคุณสมบัติของวัตถุโดยตรงในสตริงที่ยกมาสองครั้งได้อย่างไร