PowerShell är en avancerad form av kommandotolken. Den utökas med en enorm uppsättning färdiga cmdlets och kommer med möjligheten att använda .NET framework / C # i olika scenarier. Windows innehåller ett GUI-verktyg, PowerShell ISE, som gör det möjligt att redigera och felsöka skript på ett användbart sätt. Ibland behöver många visa en avisering från ett PowerShell-skript för att informera användaren om att någon uppgift är klar. Här är några metoder du kan använda.
Annons
Ett meddelande från ditt PowerShell-skript kan informera användaren om att ditt långvariga skript har slutfört sitt arbete. Eller det kan säga att något är fel eller att något viktigt har hänt. Här är de metoder jag brukar använda.
Visa ett meddelandemeddelande från PowerShell
Den enklaste metoden involverar klassikern Windows Scripting Host app.
hur man tar bort ringdörrklockans lock
Med PowerShell är det enkelt att skapa en instans av ett COM-objekt. I vårt fall behöver vi Windows.Shell-objektet från WSH. Det kan skapas med följande kommando:
$ wsh = New-Object -ComObject Wscript.Shell
Nu kan vi använda vår$ wsh
invända mot samtalsmetoder tillgängliga förWscript. Skal
. En av dem ärDyka upp
, det här är vad vi behöver. Följande kod kan användas:
$ wsh = New-Object -ComObject Wscript.Shell $ wsh.Popup ('Hej från Winaero')
DeDyka upp
metoden kan anpassas. Du kan till exempel ange titeln, tilldela en av standarddialogikonerna eller visa extra knappar.
Anpassa popup-metoden
Syntaxen är som följer.
Dyka upp(,,,)
Text
är texten du vill visa i meddelandet.
Sekunder för att vänta
är ett heltal som innehåller antalet sekunder som rutan kommer att visas i tills den avvisas. Om noll eller utelämnas förblir meddelanderutan tills användaren avfärdar.
Titel
är en sträng som innehåller titeln som kommer att visas som meddelandets titel.
Typ
är ett heltal som motsvarar ett visst utseende och beteende som definieras i följande tabell.
Värde | Knapp |
---|---|
0 | OK |
1 | OK Avbryt |
2 | Abort, Ignorera, försök igen |
3 | Ja, Nej, avbryt |
4 | Ja Nej |
5 | Försök igen, Annullera |
16 | Kritisk |
32 | Fråga |
48 | Utrop |
64 | Information |
För att få önskad ikon och knappar, kombinera värdena. För att t.ex. skriva en fråga, använd 1 + 32 som dinTyp
värde. Se följande exempel:
Popup-metoden kan också returnera den knapp som användaren klickade för att avvisa popup-meddelandefältet. Se följande tabell:
Returvärde | Knappen klickade |
---|---|
1 | OK |
2 | Annullera |
3 | Abort |
4 | Försök igen |
5 | Strunta i |
6 | Ja |
7 | Nej |
-1 | Ingen, meddelande rutan avfärdades automatiskt (timeout) |
Du kan hantera returvärdet enligt följande:
$ result = $ wsh.Popup ('Gillar du Winaero?', 0, 'En fråga från PS', 1 + 32)
Alternativt kan du använda ett .NET Framework-samtal för att visa ett meddelande.
Med MessageBox från .NET Framework
Kommandot du behöver använda ser ut som följer:
[System.Windows.MessageBox] :: Visa ('Hej från Winaero')
Resultatet:
sabotagefönster 10
Återigen kan du anpassa det. För referens, se följande sida:
Slutligen finns det en speciell modul för PowerShell som du kan använda när det är möjligt.
Med en speciell modul, BurntToast
Om du inte är begränsad till att använda externa moduler kan du gå med BurntToast .
Installera den enligt följande:
- Öppet PowerShell som administratör .
- Typ:
Installationsmodul-Namn BurntToast
- Modulen är redo att användas.
För att visa en avisering kör du kommandot:
Import-modul BurntToast
New-BurntToastNotification -Text 'Winaero', 'Hello from PowerShell'
Se PowerShell Gallery för fullständiga detaljer och instruktioner.
Tänk på följande. För att se din anmälan,
- Policy för PowerShell-körning ska konfigureras för att tillåta att tredjepartsmoduler laddas.
- Om Focus Assist är aktiverat i Windows 10 kan det dölja dina BurntToast-aviseringar.
- Modulen kan tas bort med kommandot
Avinstallationsmodul BurntToast
.
Det är allt!