我正在批处理文件中运行PowerShell脚本.该脚本获取一个网页并检查该页面的内容是否为字符串"OK".
PowerShell脚本向批处理脚本返回错误级别.
批处理脚本由ScriptFTP执行,ScriptFTP是一个FTP自动化程序.如果发生错误,我可以让ScriptFTP通过电子邮件将完整的控制台输出发送给管理员.
在PowerShell脚本中,如果它不是"OK",我想从网站输出返回值,因此错误消息包含在控制台输出中,因此也包含在状态邮件中.
我是PowerShell的新手,不知道要使用哪个输出函数.我可以看到三个:
用什么来写Windows等价的东西是正确的stdout
?
我有以下代码:
$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;
Run Code Online (Sandbox Code Playgroud)
当我尝试使用字符串执行命令中的一个属性时:
& "$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'"
Run Code Online (Sandbox Code Playgroud)
它试图只使用值$DatabaseSettings
而不是值$DatabaseSettings[0].DatabaseName
,这是无效的.
我的解决方法是将其复制到一个新变量中.
如何直接在双引号字符串中访问对象的属性?