Tôi đang làm việc trên một số tập lệnh tự động hóa phát hành sử dụng Powershell để cập nhật các tác vụ theo lịch trình hiện có thực thi các ứng dụng khác nhau. Trong kịch bản của tôi, tôi có thể đặt Đường dẫn và Thư mục làm việc của ứng dụng, nhưng dường như nó không lưu các thay đổi trở lại tác vụ.
function CreateOrUpdateTaskRunner {
param (
[Parameter(Mandatory = $TRUE, Position = 1)][string]$PackageName,
[Parameter(Mandatory = $TRUE, Position = 2)][Version]$Version,
[Parameter(Mandatory = $TRUE, Position = 3)][string]$ReleaseDirectory
)
$taskScheduler = New-Object -ComObject Schedule.Service
$taskScheduler.Connect("localhost")
$taskFolder = $taskScheduler.GetFolder('\')
foreach ($task in $taskFolder.GetTasks(0)) {
# Check each action to see if it references the current package
foreach ($action in $task.Definition.Actions) {
# Ignore actions that do not execute code (e.g. send email, show message)
if ($action.Type -ne 0) {
continue
}
# Ignore actions that do not execute the specified task runner
if ($action.WorkingDirectory -NotMatch $application) {
continue
}
# Find the executable
$path = Join-Path $ReleaseDirectory -ChildPath $application | Join-Path -ChildPath $Version
$exe = Get-ChildItem $path -Filter "*.exe" | Select -First 1
# Update the action with the new working directory and executable
$action.WorkingDirectory = $exe.DirectoryName
$action.Path = $exe.FullName
}
}
}
Cho đến nay tôi không thể tìm thấy một chức năng Lưu rõ ràng trong tài liệu ( https://msdn.microsoft.com/en-us/l Library / windows / desktop / aa3603607 ( v = vs85 ) .aspx ). Tôi có đang sử dụng sai cách tiếp cận ở đây không và có cần phải loay hoay với nhiệm vụ XML không?
Phiên bản 2.0 (xem serverfault.com/questions/666671/ Khắc cho một số tai ương liên quan đến verson của tôi!). Nếu giải pháp của bạn hoạt động với phiên bản Powershell mới hơn được hỗ trợ bởi Server 2008 R2 thì điều đó sẽ cho tôi thêm "cú hích" để nâng cấp các máy chủ :-)
—
David Keaveny
Máy chủ 2008R2 hiện hỗ trợ tối đa 4.0. Xem Yêu cầu của Windows PowerShell: technet.microsoft.com/en-us/l
—
Library / hh847769.aspx
Get-Host
để tìm hiểu.