Ștergeți suprapunerea PowerShell din cmdletul Add-WindowsFeature

Am observat recent că atunci când creați script-uri de putere care utilizează Add-WindowsFeature cmdlet de pe Modulul ServerManager pe Windows Server 2008 R2, există o acvariu albastru care nu se șterge până când întregul scenariu nu este terminat. De exemplu, aici este o captură de ecran a unui script care utilizează comanda Add-WindowsFeature Web-Server pentru a instala IIS:

Add-WindowsFeature Web-Server overlay

Datele de colectare ... Începeți instalarea ... suprapunerea rămâne în partea de sus a istoricului consolei și nu dispare decât după terminarea întregului scenariu. Există vreo modalitate de a obține consolă pentru a re-vopsi sau pentru a dezactiva suprapunerea?

0

2 răspunsuri

Acesta este doar rezultatul programului Write-Progress apelat intern de către cmdlet-urile managerului de server. Dacă doriți să o opriți - doar schimbați ProgressPreference $ la "SilentlyContinue".

Puteți emula acest lucru utilizând funcția Scriere-progres personal:

for ($i = 0; $i -lt 100; $i++) { 
    Write-Progress -Activity "Counting: $i" -Status "$i" -PercentComplete $i
    sleep 1 
}

HTH Bartek

0
adăugat
adăugat autor Greg Bray, sursa
Eu încă mai doresc că a existat o modalitate de a arăta progresul și apoi să-l ascund. Am încercat să joc joc cu comanda Write-Progress -completată , dar nu am putut obține nimic de lucru decât dacă l-am ascuns complet
adăugat autor Greg Bray, sursa

Am găsit o modalitate interesantă de a rezolva asta. Folosind progresul de scriere, poți pur și simplu implementa o buclă secundară care nu are absolut nimic altceva decât să adauge un comutator finalizat la sfârșit.

for ($i = 1; $i -le 100; $i++ )
{write-progress -activity "Search in Progress" -status "$i% Complete:" -percentcomplete $i;}

Codul de mai sus ar fi, bineînțeles, bucla dvs. funcțională care arată progresul și de fapt face ceva.

for ($i = 1; $i -le 100; $i++ ) {
write-progress -activity "Finishing" -status "$i% Complete:" -percentcomplete $i -Completed;}

Rulați acest fragment exact care nu face nimic și deoarece utilizați comutatorul-terminat face ca suprapunerea dialogului de progres să dispară. Nu este o soluție exactă, ci o soluție pentru nevoile mele.

0
adăugat