【问题标题】:Powershell Script To Reindex WSUS DB and email results用于重新索引 WSUS DB 和电子邮件结果的 Powershell 脚本
【发布时间】:2014-07-17 10:56:16
【问题描述】:

您好,我正在尝试编写一个重新索引 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

【问题讨论】:

  • 当我运行代码时,我没有得到任何输出。请在 PowerShell 新手中与我裸露一下 David
  • 用选择替换 PRINT。

标签: powershell


【解决方案1】:

我突然想到了一些事情。

  1. "Invoke-sqlcmd -I -i"c:\scripts\WSUSDBMaintenance.sql" -S "np:\.\pipe\MSSQL$MICROSOFT##SSEE\sql\query"

应该是

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

  1. 这里有一个多余的双引号: $body += $Result + "
    " "

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

【讨论】:

  • 您好 Paul 先生,感谢您的输入,是的,它们位于名为 Binn 的文件夹中
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多