powershell - Powershell脚本重新索引WSUS DB和电子邮件结果

标签 powershell

嗨,我正在尝试编写一个为WSUS数据库重新索引的PowerShell脚本,但我被卡住了。到目前为止,我有一个单独的配置文件,其中包含服务器的电子邮件详细信息,我想我已经使WSUS重新索引正常工作了。但是我被困从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

最佳答案

有几件事突然出现在我身上。

  • “调用sqlcmd -I -i” c:\ scripts \ WSUSDBMaintenance.sql“-S” np:\。\ pipe \ MSSQL $ MICROSOFT ## SSEE \ sql \ query“

  • 应该是

    调用sqlcmd -I -i“c:\ scripts \ WSUSDBMaintenance.sql” -S“np:\。\ pipe \ MSSQL $ MICROSOFT ## SSEE \ sql \ query”
  • 您在这里有一个多余的双引号:
    $ body + = $ Result +“

    “<<<<<<<<<<<<<<<<<<<<<<<<
  • 另外,这些工具是否确实位于名为Binn而不是Bin的目录中?
  • 关于powershell - Powershell脚本重新索引WSUS DB和电子邮件结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24801693/

    相关文章:

    powershell - 如何从文件中删除重复文本?

    powershell - 如何使用 powershell 过滤 vim 中的行

    windows - 将函数的返回值赋给变量时不显示输出

    powershell - 在 PowerShell 输出到文件之前修复 ANSI 控制字符

    windows - 如何使用 Powershell 获取文件夹的更新大小

    powershell - 如何运行Windows安装程序并在PowerShell中获取成功/失败值?

    vba - 如何选择正在运行的 Word 实例并在其中打开文档

    powershell - 使用Power Shell阅读XAML

    sql-server - 获取 "Execution Timeout Expired"通过 Invoke-Sqlcmd 运行 SQL Server 备份

    powershell - 避免在 PowerShell 中递归获取特定文件夹