首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将所有Server代理作业编成一个文件的PowerShell代码

将所有Server代理作业编成一个文件的PowerShell代码
EN

Stack Overflow用户
提问于 2021-02-16 00:04:04
回答 1查看 1K关注 0票数 0

我试图将“数据仓库”类别的所有Server代理作业写入一个文件

我能够使用PowerShell来完成它,在这里,每个任务都创建一个文件。

但我需要一个文件,用于ID = 100 (或类别:=‘数据仓库’)下的所有Server代理作业。

我目前使用的代码:

代码语言:javascript
复制
[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.Smo') | Out-Null
$serverInstance = "APAAUHC7DB01VD"

$server = New-Object ('Microsoft.SqlServer.Management.Smo.Server') $serverInstance

$jobs = $server.JobServer.Jobs 
#$jobs = $server.JobServer.Jobs | where-object {$_.category -eq "100"}

if ($jobs -ne $null)
{

$serverInstance = $serverInstance.Replace("\", "-")

ForEach ( $job in $jobs )
{
$FileName = "C:\SQLBackup\SQLJobs\" + $serverInstance + "_" + $job.Name + ".sql"
$job.Script() | Out-File -filepath $FileName
}
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-16 01:41:12

为整个集合给$FileName一个文件名。然后,您可以将整个foreach 排除在外。

代码语言:javascript
复制
$FileName = "C:\SQLBackup\SQLJobs\whatever.sql"

$jobs | %{ $_.Script() } | Out-File -filepath $FileName
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66217088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档