我正在尝试运行简单的powershell脚本prom一个作业(sql server agent)。 脚本:
[string]$SrcFolder = "G:\MSSQL\Test";
[string]$TrgFolder = "\\xx.xx.xx.xxx\d$\sql\logshipping" ;
if (-not(Get-Module -Name SQLPS))
{
if (Get-Module -ListAvailable -Name SQLPS) {
Push-Location
Import-Module -Name SQLPS -DisableNameChecking
Pop-Location
};
};
if ($SrcFolder -eq $null -or $TrgFolder -eq $null )
{
Write-Host "The source Folder = $SrcFolder ,OR target folder = $TrgFolder is not valid/Null";
};
$prafix = "[A-Za-z]+_[0-9]+_[0-9].trn" ;
Set-Location -Path C:\ ;
# Copy to Destination
foreach ($file in gci -Path $SrcFolder | Where-Object{ $_.Mode -eq '-a---' -and $_.Extension -eq '.trn' -and $_.Name -match $prafix})
{
write-host "Starting Copy File: $($file.FullName) ." ;
Copy-Item -Path $file.FullName -Destination $TrgFolder -Force -ErrorAction Stop ;
if (Test-Path -LiteralPath "$TrgFolder\$($file.Name)")
{
write-host "End Copy File: $($file.FullName) ." ;
Move-Item -Path $file.FullName -Destination "$SrcFolder\Moved" -Force ;
}
else
{
Write-Host "The Copy File: $TrgFolder\$($file.BaseName) . Failed "
};
}
脚本正在执行:将.bak文件复制到远程服务器。然后检查远程服务器中是否存在bak文件,如果存在,则将bak文件移动到本地文件夹。
工作失败的消息:
Date 9/1/2016 6:29:31 PM记录工作历史(LS_Manual-Copy)
步骤ID 3服务器SQL2012ENT-IR-3作业名称LS_Manual-Copy步骤 名称删除旧日志持续时间00:00:00 Sql严重性0 Sql消息 ID 0运营商电子邮件运营商网络发送的运营商分页重试次数 试图0
消息无法开始执行步骤3(原因:第(23)行:语法 错误)。步骤失败了。
sql server agent是Administrator组中的成员。
请帮忙。
10X