2017-08-25 62 views
0

我正在使用PowerShell腳本從SQL Server 2008 R2查詢生成HTML報告。 當前腳本顯示爲:PowerShell v2.0 SQLPS如果之間的天數大於#

$Date = Get-Date 
$Summary = Invoke-SQLcmd -Query $Qry | Select-Object -Property 'Oldest Work Date' 
$Summary | ForEach-Object { 
    if (($Date - $var=$_.'Oldest Work Date').Days -gt 90) 
    { 
    { 
     $data+= 
     "<tr bgcolor = `"yellow`"> 
     <td>$($_.'Oldest Work Date')</td> 
     </tr>" 
    } 
    else 
    { 
     $data+= 
     "<tr> 
     <td>$($_.'Oldest Work Date')</td> 
     </tr>" 
    } 
    } 

我的目標是標記的日期超過90天前該行以黃色突出顯示。

我有與expression-

(($Date - $var=$_.'Oldest Work Date').Days -gt 90)

我接收SQLPS錯誤麻煩:無效賦值表達式。賦值運算符的左側需要是可以賦值給變量或屬性的東西。

我已經搜索並嘗試了很多不同的版本。 IE瀏覽器。在[datetime]前加上變量前綴,使用New-TimeSpan,也沒有.Days。請讓我知道這是否可能。

+0

你的表情沒有多大意義。那裏有什麼'$ var'在做什麼?你的意思是'(($ Date - $ _。'最早的工作日期')。天-gt 90)'? – Raziel

+0

我試過你的建議並收到多個錯誤:方法調用失敗b/c [System.String]不包含方法名稱op_Subtraction。 AND日期不好的數字常量 – MLowry54

+0

然後'$ _。'最早的工作日期'不是'DateTime'。你必須檢查日期的格式並將其轉換。 '[DateTime] :: Parse($ _。'最早的工作日期')'可能只適用於您的區域格式。 – Raziel

回答

0
if ($var=([datetime](Get-Date) - [datetime]$_.'Oldest Work Date').Days -gt 90)