PowerShell Universal in real life - Arnaud Petitjean - PSConfEU 2023

In this session, we delved into real-life scenarios using PowerShell Universal. I started by sharing a project I worked on for a customer who needed a replacement for their outdated desktop notification tool. We discussed the requirements, including the need for a prominent floating button with a color and number indicating the number of unread notifications, as well as interoperability with a REST API for automation and integration with other software. We conducted a proof of concept to determine the best architecture and tools for the project. We explored Burnt Toast but ultimately opted for a custom button solution and agents on the client machines. I provided a high-level overview of the solution's architecture, involving client machines, an administration machine, Active Directory, and various endpoints for notifications and acknowledgments. Next, I proceeded with the demonstration of the application itself. I showcased the bilingual notification system with different notification levels and explained how users can interact with the notifications through the button. I also discussed the capabilities of the PowerShell Universal administration page, including APIs and endpoints for notification creation and management. I highlighted the code structure, with modules for the endpoints and agents, as well as the implementation of WPF for the front-end. I discussed the use of assemblies, handling accented characters, and creating a customizable WPF message box. I also touched on authentication, running the application in the user context, and using PowerShell Universal for authentication handling. We discussed hosting options for the application server, mentioning Windows Server 2022, Docker containers on Azure or AWS, and the availability of PowerShell Universal on Mac and Linux. I addressed a question about performance and recommended using PowerShell Core or PowerShell 7 for quick endpoints. I concluded the episode by thanking the audience for attending and inviting them to ask any remaining questions. Chapters: 00:00:00 PowerShell Universal in real life - Arnaud Petitjean - PSConfEU 2023 00:00:07 Introduction and Overview of PowerShell Universal 00:02:37 Customer Needs: Replacing a Desktop Notification Tool 00:17:09 Retrieving Notifications with a GET Request 00:19:04 Assessing User Engagement with Acknowledgements 00:22:39 Introduction and Question Time 00:24:42 Analyzing the Post Notification Code 00:26:31 Examining the Notification Module 00:29:17 PowerShell Agent and WPF Application 00:31:18 Functions for Client Notifications and XML Pop-ups 00:32:01 Demonstrating Function with Window Declaration Definition 00:32:48 Introduction to Customizable WPF Message Box 00:34:40 Dual Language Notifications for Client's Needs 00:37:41 GUI Creation for Managing Notifications 00:39:26 Targeting Recipients and Filtering by IT Group 00:42:06 Different Hosting Options for Application Server 00:43:31 Maximizing Endpoint Performance with PowerShell Core