2011-07-11 7 views
11

Bence Write-Progress oldukça güzel bir Cmdlet. Aslında Sharepoint, Start-SPAdminJob komut kütüğüyle bunu kullanmaktadır.Bir Powershell ilerleme iletisini nasıl gizlersiniz?

Tüm iyi ve zekice olan sorun, Start-SPAdminJob'un Yazma İlerleme iletişim kutusunun doğru şekilde "atmaması" şeklindedir. Hiçbir zaman% 100 tamamlanmış olmayacak şekilde ayarlanmıştır, yani komut dosyasından çıkana kadar yalnızca Powershell iletişim kutusunda kalır - bu da iletilerin bir bölümünü "ilerleme penceresinin" altına gizler.

Varolan bir Write-Progress'u "çıkmak" için zorlayabilmemin veya% 100 tamamlanmaya ayarlanmamın bir yolu var mı? Start-SPAdminJob cmdlet'in ilerlemesinin kimliğini nasıl bulabildiğim herhangi bir şekilde - bu şekilde yüzdeyi elle ayarlayabilirim.

cevap

16

Sen önceden aşağıdakileri yaparak ilk etapta görünen ilerleme çubuğu durdurabilir:

$ProgressPreference = "SilentlyContinue"; 

Ardından sonradan "Devam" tercihini geri verebilir. Pek yardım aslında tam elbette bar ...

+0

Care bu büyü hakkında bildiğinden bana aydınlatmak ? Daha fazla ProgressPreference ayarlayabileceğimi bilmiyordum ... Daha fazla gizli anahtar var mı? :) –

+3

@moontear 'Get-Variable * tercihine bakın 'Tüm tercih değişkenlerini listeler. – stej

+3

daha da iyisi: get-help about_preference_variables – x0n

4

Bu kod kuvvetleri ilerleme çubuğu% 100'e ayarlanır olmak istiyorum ve gizler eğer:

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

eğer ilerleme çubuğuna bastığım bir şey olsaydı - bu soru özel bir üçüncü taraf bir ilerleme çubuğu başlattı ve bir şekilde kapatmak zorundaydım –