我在PowerShell中有一个脚本。它通过PowerShell步骤从Jenkins运行。没有詹金斯,一切都会很好。但是,当我用詹金斯(Jenkins)构建它时,我什么也没有……没有错误,只有一无所有。怎么了? Jenkins无法使用PowerShell工作流程?
简单的例子:
workflow config {
Param([string[]]$servers, $MaxEnvSize, $MaxMemPerShell)
$servers = $servers.Trim()
foreach -parallel -throttlelimit 50 ($server in $servers) {
if (Test-Connection -ComputerName $server -Quiet -Count 1) {
inlinescript {
try {
Invoke-Command -ComputerName $using:server -ea Stop -ScriptBlock {
Param($MaxEnvSize, $MaxMemPerShell)
Set-Item WSMan:\localhost\MaxEnvelopeSizekb -EA Stop -Value $MaxEnvSize
Set-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB -EA Stop $MaxMemPerShell
Set-Item WSMan:\localhost\Plugin\Microsoft.PowerShell\Quotas\MaxMemoryPerShellMB -EA Stop $MaxMemPerShell
#Restart-Service winrm
} -ArgumentList $using:MaxEnvSize , $using:MaxMemPerShell
} catch {
"$using:server : $Error[0].Exception"
}
}
} else {
Write-Output "$server no ping"
}
}
}
config -Servers $env:servers -MaxEnvSize 16454 -MaxMemPerShell 5192
答案 0 :(得分:0)
默认情况下,詹金斯将使用32位Powershell。 Powershell工作流仅在64位Powershell中受支持。使用C:\ Windows \ Sysnative \ WindowsPowerShell \ v1.0 \ powershell.exe触发powershell脚本,该脚本将重定向到64位powershell。