2011-07-11 32 views
11

Tôi nghĩ rằng Write-Progress là một Cmdlet khá đẹp. Trong thực tế, Sharepoint sử dụng nó với lệnh Start-SPAdminJob của nó.Làm cách nào để ẩn thông báo tiến trình Powershell?

Tất cả tiền phạt và dandy, vấn đề là Start-SPAdminJob không chính xác "vứt bỏ" hộp thoại Viết tiến trình. Nó không bao giờ được thiết lập để hoàn thành 100 phần trăm có nghĩa là nó chỉ nằm trong hộp thoại Powershell cho đến khi bạn thoát khỏi tập lệnh - điều này lần lượt ẩn một phần của các thông điệp bên dưới "cửa sổ tiến trình".

Có cách nào để tôi có thể buộc Write-Progress hiện tại thành "thoát" hoặc được đặt thành 100% hoàn tất không? Bất kỳ cách nào tôi có thể tìm ra ID của tiến trình mà lệnh ghép ngắn Start-SPAdminJob đang sử dụng - theo cách đó tôi có thể đặt tỷ lệ phần trăm theo cách thủ công.

Trả lời

16

Bạn có thể ngăn chặn các thanh tiến trình xuất hiện ở nơi đầu tiên bằng cách làm như sau trước:

$ProgressPreference = "SilentlyContinue"; 

Sau đó, bạn có thể khôi phục lại ưu tiên cho "Tiếp tục" sau đó. Không thể giúp ích nhiều nếu bạn thực sự muốn thanh tất nhiên ...

+0

Care để soi sáng cho tôi làm thế nào bạn biết về kỳ diệu này ? Không biết tôi chỉ có thể đặt ProgressPreference ... Có nhiều công tắc bí mật hơn không? :) –

+3

@moontear nhìn vào 'Get-Variable * preferences' Nó sẽ liệt kê tất cả các biến tùy chọn. – stej

+3

thậm chí tốt hơn: get-help about_preference_variables – x0n

4

thanh lực lượng đang tiến bộ này được thiết lập để hoàn thành 100% và giấu nó:

Write-Progress "Done" "Done" -completed 
+1

nếu tôi là người bắt đầu thanh tiến trình - câu hỏi này đặc biệt là một bên thứ ba đã bắt đầu một thanh tiến trình và tôi cần đóng nó bằng cách nào đó –

Các vấn đề liên quan