您好我正在尝试编写一个重新索引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
答案 0 :(得分:0)
我突然想到了一些事情。
应该是
Invoke-sqlcmd -I -i&#34; c:\ scripts \ WSUSDBMaintenance.sql&#34; -S&#34; np:\。\ pipe \ MSSQL $ MICROSOFT ## SSEE \ sql \ query&#34;
这里有一个多余的双引号: $ 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;
此外,这些工具是否真的位于名为Binn而不是Bin的目录中?