যদিও PowerShell একটি কনসোল ভাষা, কখনও কখনও এটি একটি নির্দিষ্ট ইভেন্ট সম্পর্কে একটি PS স্ক্রিপ্ট থেকে ব্যবহারকারীকে অবহিত করা বা কিছু করার জন্য অনুরোধ করা প্রয়োজন। উদাহরণস্বরূপ, আপনি একটি পপ-আপ বিজ্ঞপ্তি বা একটি ভারী PoSh স্ক্রিপ্টের সমাপ্তি সম্পর্কে বা যখন একটি গুরুত্বপূর্ণ ঘটনা ঘটে তখন বেলুন টিপ প্রদর্শন করতে পারেন৷
সবচেয়ে সহজ উপায় হল উইন্ডোজ স্ক্রিপ্ট সাবসিস্টেম ব্যবহার করে যেকোনো পাঠ্য ধারণকারী একটি উইন্ডো প্রদর্শন করা (Wscript পাওয়ারশেল থেকে কল করুন।
এই PowerShell কোডটি আপনার বার্তা এবং ওকে বোতাম সহ একটি সাধারণ উইন্ডো দেখাবে৷
৷
$wshell = New-Object -ComObject Wscript.Shell
$Output = $wshell.Popup("The report generation script is successfully completed!")
পপআপের বিভিন্ন বৈশিষ্ট্য ব্যবহার করা পদ্ধতি, আপনি আপনার বার্তা পাঠ্য ধারণকারী মডেল উইন্ডোর চেহারা কাস্টমাইজ করতে পারেন. এছাড়াও আপনি ব্যবহারকারীর উত্তর (হ্যাঁ/না) স্ক্রিপ্টে ফিরে আসতে পারেন।
$Output = $wshell.Popup("The report generation script is successfully completed! Do you want to display a report on the screen?",0,"The report is ready",4+32)
সাধারণ সিনট্যাক্স এবং পপআপ পদ্ধতির উপলব্ধ পরামিতি:
Popup(<Text>,<SecondsToWait>,<Title>,<Type>)
পরামিতি:
- <
Text
> — একটি বার্তা পাঠ্য (স্ট্রিং); - <
SecondsToWait
> — একটি সংখ্যা (ঐচ্ছিক)। সেকেন্ডের সংখ্যা যার পরে বার্তা উইন্ডো স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যাবে; - <
Title
> -স্ট্রিং (ঐচ্ছিক)। পপ-আপ উইন্ডোর শিরোনাম পাঠ্য (ক্যাপশন); - <
Type
> -সংখ্যা (ঐচ্ছিক)। পতাকার সমন্বয় যা বোতাম এবং আইকনের ধরন নির্ধারণ করে।
সম্ভাব্য প্রকার পতাকা মান:
- 0 — ঠিক আছে বোতাম;
- 1 — ঠিক আছে এবং বাতিল বোতাম;
- 2 — থামুন, পুনরায় চেষ্টা করুন এবং এড়িয়ে যান বোতাম;
- 3 — হ্যাঁ, না এবং বাতিল বোতাম;
- 4 — হ্যাঁ এবং না বোতাম;
- 5 — পুনরায় চেষ্টা করুন এবং বাতিল বোতাম;
- 16 — স্টপ আইকন;
- 32 — প্রশ্ন আইকন;
- 48 — বিস্ময়সূচক আইকন;
- 64 — তথ্য আইকন।
পপআপ৷ পদ্ধতি একটি পূর্ণসংখ্যা প্রদান করে যা জানতে দেয়, কোন ব্যবহারকারী কোন বোতামটি ক্লিক করেছেন। সম্ভাব্য মান:
- -1 — সময় শেষ;
- 1 — ঠিক আছে বোতাম;
- 2 — বাতিল বোতাম;
- 3 — স্টপ বোতাম;
- 4 — পুনরায় চেষ্টা করার বোতাম;
- 5 — স্কিপ বোতাম;
- 6 — হ্যাঁ বোতাম;
- 7 — কোন বোতাম নেই।
Windows Forms API-এর মাধ্যমে Windows 7, 8.1 এবং 10-এ আরও আকর্ষণীয় পপ-আপ বার্তা (বেলুন টিপস) প্রদর্শিত হতে পারে . নিম্নলিখিত PowerShell কোডটি Windows 10 বিজ্ঞপ্তি বারের পাশে একটি পপ-আপ বার্তা দেখাবে যা 20 সেকেন্ডের মধ্যে স্বয়ংক্রিয়ভাবে অদৃশ্য হয়ে যাবে৷
Add-Type -AssemblyName System.Windows.Forms
$global:balmsg = New-Object System.Windows.Forms.NotifyIcon
$path = (Get-Process -id $pid).Path
$balmsg.Icon = [System.Drawing.Icon]::ExtractAssociatedIcon($path)
$balmsg.BalloonTipIcon = [System.Windows.Forms.ToolTipIcon]::Warning
$balmsg.BalloonTipText = ‘This is the pop-up message text for the Windows 10 user'
$balmsg.BalloonTipTitle = "Attention $Env:USERNAME"
$balmsg.Visible = $true
$balmsg.ShowBalloonTip(20000)
Windows 10 (PowerShell 5.0+) এ রঙিন পপ-আপ বার্তা তৈরি করতে, আপনি একটি পৃথক PowerShell মডিউল BurntToastও ব্যবহার করতে পারেন পাওয়ারশেল গ্যালারি থেকে।
মডিউলটি Windows 10 প্যাকেজ ম্যানেজার ব্যবহার করে অনলাইন সংগ্রহস্থল থেকে ইনস্টল করা হয়েছে:Install-Module -Name BurntToast
উদাহরণস্বরূপ, এখন আপনি সহজেই "ইথারনেট কেবল সংযুক্ত থাকলে Wi-Fi কীভাবে স্বয়ংক্রিয়ভাবে নিষ্ক্রিয় করবেন" নিবন্ধটি থেকে স্ক্রিপ্টে একটি রঙিন বিজ্ঞপ্তি যুক্ত করতে পারেন:
New-BurntToastNotification -Text "Disconnecting from Wi-Fi network", "You have been disconnected from your Wi-Fi network since your device was connected to a high-speed Ethernet LAN" -AppLogo C:\PS\changenetwork.png
অতএব, আপনি জানেন কিভাবে PowerShell এর মাধ্যমে একজন ব্যবহারকারীকে একটি বিজ্ঞপ্তি প্রদর্শন করতে হয়। যদি একজন ব্যবহারকারীর স্পিকার থাকে, তাহলে আপনি এমনকি প্রিয় সুরও বাজাতে পারেন:
[console]::beep(440,500)
[console]::beep(440,500)
[console]::beep(440,500)
[console]::beep(349,350)
[console]::beep(523,150)
[console]::beep(440,500)
[console]::beep(349,350)
[console]::beep(523,150)
[console]::beep(440,1000)
[console]::beep(659,500)
[console]::beep(659,500)
[console]::beep(659,500)
[console]::beep(698,350)
[console]::beep(523,150)
[console]::beep(415,500)
[console]::beep(349,350)
[console]::beep(523,150)
[console]::beep(440,1000)
[console]::beep(880,500)
[console]::beep(440,350)
[console]::beep(440,150)
[console]::beep(880,500)
[console]::beep(830,250)
[console]::beep(784,250)
[console]::beep(740,125)
[console]::beep(698,125)
[console]::beep(740,250)
[console]::beep(455,250)
[console]::beep(622,500)
[console]::beep(587,250)
[console]::beep(554,250)
[console]::beep(523,125)
[console]::beep(466,125)
[console]::beep(523,250)
[console]::beep(349,125)
[console]::beep(415,500)
[console]::beep(349,375)
[console]::beep(440,125)
[console]::beep(523,500)
[console]::beep(440,375)
[console]::beep(523,125)
[console]::beep(659,1000)
[console]::beep(880,500)
[console]::beep(440,350)
[console]::beep(440,150)
[console]::beep(880,500)
[console]::beep(830,250)
[console]::beep(784,250)
[console]::beep(740,125)
[console]::beep(698,125)
[console]::beep(740,250)
[console]::beep(455,250)
[console]::beep(622,500)
[console]::beep(587,250)
[console]::beep(554,250)
[console]::beep(523,125)
[console]::beep(466,125)
[console]::beep(523,250)
[console]::beep(349,250)
[console]::beep(415,500)
[console]::beep(349,375)
[console]::beep(523,125)
[console]::beep(440,500)
[console]::beep(349,375)
[console]::beep(261,125)
[console]::beep(440,1000)