Powershell脚本重新索引WSUS数据库和电子邮件结果

时间:2014-07-17 10:56:16

标签: powershell

您好我正在尝试编写一个重新索引WSUS数据库的PowerShell脚本而且我被卡住了。到目前为止,我有一个单独的配置文件,其中包含服务器的电子邮件详细信息,我认为我已经获得了WSUS reindex工作。但是我很难从sql查询中获取数据。我使用TechNet文章作为起点。

我到目前为止的代码是:

$configKey = @{}
Get-Content server.ini | ForEach-Object {
$keys = $_ -split "=" 
$configKey += @{$keys[0]=$keys[1]}
}

cd "c:\Program Files\Microsoft SQL Server\100\Tools\Binn\"
"Invoke-sqlcmd -I -i"c:\scripts\WSUSDBMaintenance.sql" -S "np:\\.\pipe\MSSQL$MICROSOFT##SSEE\sql\query"

#file backup

$body += '<font size="5"  face="Calibri"Windows Server Reindex Report:</font><br / ><font face="Calibri">'
$body += $Result + "<br>"
"
 Invoke-Sqlcmd -Query "PRINT 'Number of indexes to rebuild: ' + cast(@@ROWCOUNT as nvarchar(20)';" -Verbose

 $body += "</div></font>"


 $subject += $configKey.company
#Send Email
Send-MailMessage -From $configKey.from -To $configKey.to -Subject $subject -Body $Body -BodyAsHtml -Smtpserver $configKey.server

1 个答案:

答案 0 :(得分:0)

我突然想到了一些事情。

  1. &#34; Invoke-sqlcmd -I -i&#34; c:\ scripts \ WSUSDBMaintenance.sql&#34; -S&#34; np:\。\ pipe \ MSSQL $ MICROSOFT ## SSEE \ sql \ query&#34;
  2. 应该是

    Invoke-sqlcmd -I -i&#34; c:\ scripts \ WSUSDBMaintenance.sql&#34; -S&#34; np:\。\ pipe \ MSSQL $ MICROSOFT ## SSEE \ sql \ query&#34;

    1. 这里有一个多余的双引号: $ body + = $ Result +&#34;&lt; br&gt;&#34; &#34;&LT;&LT;&LT;&LT;&LT;&LT;&LT;&LT;&LT;&LT;&LT;&LT;&LT;&LT;&LT;&LT;&LT;&LT;&LT;&LT;&LT;&LT;&LT; &LT;&LT;

    2. 此外,这些工具是否真的位于名为Binn而不是Bin的目录中?