powershell
Powershell pwshguy 7 days ago 100%
PowerShell Weekly for September 13, 2024

## Blogs, Articles, and Posts - [Recover data from corrupted BitLocker drives with repair-bde and key packages](https://4sysops.com/archives/recover-data-from-corrupted-bitlocker-drives-with-repair-bde-and-key-packages/) \ Activating BitLocker encryption on a drive automatically generates a 48-digit numeric recovery password. This password is crucial if other unlocking methods fail and Windows prompts you with the BitLocker recovery console during startup. - [Practical Graph: Working with Microsoft Lists using the Microsoft Graph PowerShell SDK](https://practical365.com/microsoft-lists-powershell-sdk/) \ Microsoft Lists are a powerful tool for end users to store and manage data stored in SharePoint Online sites. The Microsoft Graph PowerShell SDK includes cmdlets to work with Microsoft Lists and this article explains how to use the cmdlets to add new lists, add items to lists, retrieve data from lists, and remove items from lists. - [My PowerShell for Visual Studio Code extension settings](https://powershellisfun.com/2024/09/12/my-powershell-for-visual-studio-code-extension-settings/) \ I use Visual Studio Code to create and edit PowerShell scripts. The PowerShell Extension from Microsoft has some excellent features that will make your scripts more readable and consistent formatting-wise. In this blog post, I will show you my configuration and the options I use. - [Register an Entra ID Application to Use with PnP PowerShell](https://o365reports.com/2024/09/11/register-an-entra-id-application-to-use-with-pnp-powershell/?utm_source=rss&utm_medium=rss&utm_campaign=register-an-entra-id-application-to-use-with-pnp-powershell) \ As the volume of threats increases rapidly, staying aligned with the recommended practices is essential to enhance security effectively. As part of this, the multi-tenant PnP Management Shell Entra ID app was deleted on September 9, 2024, to improve application security. This change now requires admins to register their own… - [Semi-Dynamic Static PowerShell Function Definitions for a Dynamically Semi-Static World](https://skatterbrainz.wordpress.com/2024/09/12/semi-dynamic-static-powershell-function-definitions-for-a-dynamically-semi-static-world/) \ It’s been a while since I posted anything to my blog. I needed a break. But I needed a break from the break. I hope you don’t mind. This is admittedly an “edge case” scenario. The “need” (with air quotes) for this occurred within fairly uncommon set of circumstances, but I thought the methodology might be useful in other cases. Or maybe not. But if it’s of some help to you, that makes it worth the effort for me. - [WSUS – Cleanup using Powershell with email notification output](https://techygeekshome.info/wsus-cleanup-using-powershell-email-notification-output/) \ If you are using WSUS in your environment, you may want to run a scheduled task to cleanup old updates and compress some of the larger updates to free up space on your server. A good way of doing this is to run a Powershell script which will take care of all your cleanup requirements and as we are using Powershell, we can even get it to send us an email once it is complete with the output information on what the script has managed to clean up. ## Projects, Scripts, and Modules - [Microsoft 365 Licensing Report Script V1.94](https://office365itpros.com/2024/09/12/microsoft-365-licensing-report-194/?utm_source=rss&utm_medium=rss&utm_campaign=microsoft-365-licensing-report-194) \ The Microsoft 365 Licensing Report PowerShell script has been upgraded to generate detailed license information and to deal with expired license subscriptions. You can download V1.94 of the script from GitHub. Before attempting to run the licensing report script, take the time to read previous articles to understand the basics of the script and how to generate the files used for pricing information. ## Books, Media, and Learning Resources - [Turn PowerShell Into Your Excel Automation Machine](https://www.youtube.com/watch?v=vxvr4FTkxi8) \ Get ready to see how PowerShell can transform the way you work with Excel. - [Azure Functions & PowerShell](https://www.youtube.com/watch?v=ux9rjrIV8Bg) \ Join me as I discuss PowerShell-based Azure Functions. we will go through local Function development and testing to deploy a Function to Azure and even an Account storage queue-triggered Function that creates a Resource Group and Storage account from a queue message. ## Community - [Behind the Code: Adam Driscoll on PowerShell Universal and Work-Life Balance](https://powershellpodcast.podbean.com/e/behind-the-code-adam-driscoll-on-powershell-universal-and-work-life-balance/) \ In this episode of the PowerShell Podcast, we’re joined by the brilliant Adam Driscoll, the creator of PowerShell Universal. Adam shares exciting insights into the upcoming features and improvements in PowerShell Universal, giving us a sneak peek into what’s on the horizon. - [Inside IT Automation E12](https://www.youtube.com/watch?v=XDFoylX7zI4) \ Harm Veenstra talks about why PowerShell is fun, AI and more - [Inside IT Automation E13](https://www.youtube.com/watch?v=80e6reb1CpU) \ PowerShell & Graph: The Good, The Bad And The Ugly With Damian Scoles ## Fun - [Shorten the Code – Win cool Prizes](https://www.scriptrunner.com/en/scriptember/shorten-the-code) \ Welcome to the ScriptRunner Shorten the Code Challenge! This exciting competition invites PowerShell enthusiasts to demonstrate their scripting prowess by transforming a PowerShell script into concise, efficient code. ## Events - [PowerShell Saturday NC](https://powershellsaturdaync.com/) \ Mark your calendar! - Oct. 5, 2024 Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

8
0
powershell
Powershell pwshguy 2 weeks ago 100%
PowerShell Weekly for September 6, 2024

## Announcements! - [Scriptember 2024](https://www.scriptrunner.com/en/blog/scriptember-2024) \ A month-long celebration of PowerShell and its vibrant community ## Blogs, Articles, and Posts - [New in Windows Terminal: Restore buffers, code snippets, scratchpad and regex](https://4sysops.com/archives/new-in-windows-terminal-restore-buffers-code-snippets-scratchpad-and-regex/) \ Windows Terminal unveiled a range of noteworthy features in versions 1.21 and 1.22 Preview, including the capacity to retrieve previous sessions' output buffer upon startup, store code snippets for reuse within the console, and utilize a scratchpad for crafting intricate commands. - [PowerShell: Calculate the total size of Files](https://sid-500.com/2024/09/03/powershell-calculate-the-total-size-of-files/) \ In this post I will show how to use PowerShell to calculate the total size of all files. This will be a short post but maybe a very helpful one. - [Transferring Reusable PowerShell Objects Between Microsoft 365 Tenants](https://office365itpros.com/2024/09/03/tojsonstring-method/?utm_source=rss&utm_medium=rss&utm_campaign=tojsonstring-method) \ People often need to transfer objects or code between Microsoft 365 tenants. When it comes to dealing with objects, the Microsoft Graph PowerShell SDK's ToJsonString method is very useful. The method outputs a string containing JSON content, but only for object properties that have a value. This makes the much easier to use the output as the basis for a template object or as the payload body to create an object in another tenant. - [Get List Item Count in SharePoint Online Using PowerShell](https://o365reports.com/2024/09/03/get-list-item-count-in-sharepoint-online-using-powershell/?utm_source=rss&utm_medium=rss&utm_campaign=get-list-item-count-in-sharepoint-online-using-powershell) \ In organizations, SharePoint lists are essential for organizing and managing various data, from tracking tasks to managing customer information and inventory. These lists not only streamline collaboration but also ensure that data is easily accessible and well-structured. - [Practical PowerShell Series: Part 6](https://eightwone.com/2024/09/03/practical-powershell-series-part-6/) \ The practicalities of producing PowerShell output and generating logging are other essential scripting elements. No administrator likes to stare at a blank screen, wondering if the command just entered is functioning or not. - [Configuring PowerShell settings using Intune or Group Policy](https://powershellisfun.com/2024/09/05/configuring-powershell-settings-using-intune-or-group-policy/) \ Every Windows device has PowerShell installed by default. (Sadly, it's still only version 5, not version 7.) However, you want to configure the devices' security and log settings. In this blog post, I will show you how to do that using Microsoft Intune or Group Policy. - [Taming My ADHD with Obsidian and PowerShell](https://gilbertsanchez.com/posts/obsidian-and-adhd/) \ Alleviating my ADHD headaches with Obsidian. Periodic Notes and Templater extensions save the day by reminding me of the next step towards my larger goals. - [5 Reasons you should be using PSReadLine](https://www.scriptrunner.com/en/blog/5-reasons-to-use-psreadline) \ Get up to speed and use PSReadLine more often - in his first article for us, author Jeffery Hicks provides his 5 reasons why he recommends using PSReadLine. ## Books, Media, and Learning Resources - [Mastering Time in PowerShell: Measure statistical properties within time spans with PSDates [OC]](https://www.youtube.com/watch?v=CZebaHiPikI&t=5s) \ Unlock the power of time manipulation in PowerShell with the Group-TimeSpan and Measure-TimeSpan cmdlets from the PSDates module! In this video, we'll dive deep into how you can group data by specific time spans and measure statistical properties like sum, average, maximum, and minimum within those groups. Whether you're looking to analyze logs, monitor system performance, or perform data analysis, these cmdlets offer powerful tools to streamline your workflows and enhance your data manipulation skills in PowerShell. Watch now to become a master of time-based data analysis! - [Making Microservices with Docker and PowerShell](https://www.youtube.com/watch?v=IXOk_sLLSvk) \ The Pacific PowerShell User Group talks about making Microservices with Docker and PowerShell ## Community - [Being a Lazy Administrator with Bradley Wyatt](https://powershellpodcast.podbean.com/e/being-a-lazy-administrator-with-bradley-wyatt/) \ In this episode of the PowerShell Podcast, I had the pleasure of chatting with Bradley Wyatt, also known as the Lazy Administrator. We explored his inspiring journey from college dropout to becoming a 5x Microsoft MVP and how he transformed his personal knowledge base into a globally recognized blog that serves as a vital resource for IT professionals. Bradley shares the lessons he’s learned along the way, his passion for automation, and the impact of his work on the PowerShell community. - [Inside IT Automation - E11](https://www.youtube.com/watch?v=ZZAOCiPsFzo) \ Bruno Buyck: Learning PowerShell with Lego ## Events - [Scriptember Live Stream Episode 1](https://www.youtube.com/watch?v=xorTIs3YCp4) \ Scheduled for Sep 11, 2024. In this live stream, we'll talk about how to have fun with PowerShell while improving IT automation tasks and processes. Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

4
0
powershell
Powershell pwshguy 2 weeks ago 100%
PSDates v1.0.5 released with new data analysis functionality

I'm excited to announce the latest update to PSDates is live on the PowerShell Gallery and GitHub. This version introduced two powerful new functions designed to enhance data analysis capabilities in PowerShell! - **Group-TimeSpan**: This new cmdlet allows you to easily group objects by a specified time intervals. Whether you're working with logs, transactions, or any time-based data, you can now quickly organize your data into meaningful time intervals. This makes it simpler to analyze patterns, trends, and performance over time. - **Measure-TimeSpan**: This cmdlet takes the Group-TimeSpan to the next level by measuring statistical properties such as sum, average, maximum, and more within grouped time spans. It's perfect for generating detailed reports, analyzing system performance, or monitoring trends within your datasets. It's available for installation from the PowerShell Gallery ``` Install-Module -Name PSDates ``` [PSDates on GitHub](https://github.com/mdowst/PSDates)

4
0
powershell
Powershell pwshguy 3 weeks ago 100%
PowerShell Weekly for August 30, 2024

## Announcements! - [PnP PowerShell Changes Its Entra ID App](https://office365itpros.com/2024/08/29/pnp-powershell-changes-app/?utm_source=rss&utm_medium=rss&utm_campaign=pnp-powershell-changes-app) \ On August 21, 2024, news emerged that the PnP PowerShell module will transition from using a multi-tenant Entra ID app to a tenant-specific app. The change is scheduled for September 9, 2024, which doesn’t leave a lot of time available for developers to review, update, and test PowerShell scripts based on PnP PowerShell. Some extra warning would have been nice. - [Windows Terminal Preview 1.22 Release](https://devblogs.microsoft.com/commandline/windows-terminal-preview-1-22-release/) \ Hello friends, we have a new Windows Terminal Preview release! Windows Terminal Preview 1.22 is a large release that contains new features such as Sixel image support (a LARGE community contribution!), Grapheme Cluster Support, the Snippets Pane, Quick Fixes in CMD, and a new Cooked Read popup in CMD to name a few! - [PowerShell 7.5.0 preview 4 released](https://github.com/PowerShell/PowerShell/releases/tag/v7.5.0-preview.4) \ Download the newest preview release of PowerShell 7.5.0 ## Blogs, Articles, and Posts - [Display Markdown files in PowerShell](https://powershellisfun.com/2024/08/23/display-markdown-files-in-powershell/) \ Creating Markdown files is something that I do regularly, usually in Visual Studio Code or Obsidian. But when working in a Windows Terminal or a standard PowerShell prompt, it's nice to display those .md files in those, too, with all the formatting that Markdown gives you. In this blog post, I will show you how :) - [Powershell Invoke-WebRequest Fails with SSL/TLS Secure Channel](https://garytown.com/powershell-invoke-webrequest-fails-with-ssl-tls-secure-channel) \ TLDR make sure your system time is correct in Windows & BIOS Ok, this has been well documented around the internet, and the typical answer is: Powershell Invoke-WebRequest Fails with SSL/TLS Secure Channel – Stack Overflow However today I was really annoyed because that was already built into my script - [How to make your Windows ssh keys available to git in WSL ](https://mastodon.social/@The2Ring/113028422176832747) \ A neat little trick. ## Projects, Scripts, and Modules - [Mastering Active Directory Hygiene: Automating Stale Computer Cleanup with CleanupMonster](https://evotec.xyz/mastering-active-directory-hygiene-automating-stale-computer-cleanup-with-cleanupmonster/) \ Have you ever looked at your Active Directory and wondered, "Why do I still have computers listed that haven't been turned on since World Cup 2016?" Yeah, we've all been there. Keeping AD clean and up-to-date is like trying to organize your garage—it’s easy to put off until it becomes a total mess. - [Creates a PSSession that targets a scheduled task process](https://gist.github.com/jborean93/0952263a902b8008cda506752a2f0a49) \ Created New-ScheduledTaskSession for PowerShell that can create a PSSession for use with Invoke-Command to run PowerShell code in the context of a scheduled task process. This is a fun way to bypass NETWORK logon limitations like the Windows Update API - [PowerShell Nerd Fonts Installer](https://github.com/ryanoasis/nerd-fonts/discussions/1697) \ I recently had the chance to work on a PowerShell installer for Nerd Fonts, which includes the new Cascadia Code/Mono from the Microsoft repository. ## Books, Media, and Learning Resources - [The Best PowerShell Cheat Sheet](https://lazyadmin.nl/powershell/powershell-cheat-sheet/) \ Looking for a good PowerShell cheat sheet? Then you are in the right place. I have been working with PowerShell for the last 10 years. During that time I have written down the most useful cmdlets, operators, or useful commands in many places, just to remind them. - [Everything you wanted to know about exceptions](https://learn.microsoft.com/en-us/powershell/scripting/learn/deep-dives/everything-about-exceptions?view=powershell-7.4) \ Error handling is just part of life when it comes to writing code. ## Community - [Be the Community: Insights and Event Log Automation with Phil Bossman](https://powershellpodcast.podbean.com/e/be-the-community-insights-and-event-log-automation-with-phil-bossman/) \ In this episode of the PowerShell Podcast, we sit down with the newly minted Microsoft MVP, Phil Bossman, to dive into the heart of the PowerShell community and what it truly means to "be the community." We discuss the excitement building around PowerShell Saturday NC and the invaluable learning opportunities it offers. Phil shares his expertise on exploring event logs and how to harness their power for PowerShell automation, providing practical insights for both beginners and seasoned pros. Join us as we celebrate Phil's journey to becoming an MVP and gain inspiration from his dedication to the PowerShell community. - [Inside IT Automation E10](https://www.youtube.com/watch?v=eAb8DC3I0f0) \ Guy Leech talks about his PowerShell journey, the use of AI and more. ## Fun - [Among Us](https://www.reddit.com/r/PowerShell/comments/1f2g2jw/among_us/) \ Randomly decided to add an Among Us theme to the end of the script to tell me it's finished running :) ## Events - [Scriptember Kick-Off: Let's celebrate PowerShell!](https://www.youtube.com/watch?v=J1eAO4rqHG0) \ We are kicking off a month-long celebration of PowerShell and its vibrant community. Join our kick-off session where we talk with some awesome members of the PowerShell community. We will discuss why PowerShell is a great IT automation technology, how to learn it and how PowerShell helps IT professionals advancing their careers. Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

1
0
powershell Powershell PowerShell Weekly for August 23, 2024
Jump
  • pwshguy pwshguy 4 weeks ago 100%

    Community

    • Kubernetes is Easy with Anthony Nocentino
      In this episode of the PowerShell Podcast, we sit down with Anthony Nocentino, a Senior Principal Field Solution Architect at Pure Storage, to dive deep into the world of Kubernetes. Anthony breaks down what Kubernetes is and how it fits into the modern IT landscape. We explore his fascinating career journey, from consulting and SQL Server to educating the masses on Kubernetes and Linux. Anthony also shares invaluable insights on becoming a force multiplier in your career and the critical role of mentorship and offers sage advice for anyone looking to elevate their professional path.
    • PSSaturday Karlsuhe Call for Speakers
      We are excited to announce that we are looking for speakers for the upcoming PSSaturday in Germany this November! Whether you're a first-time speaker or an experienced presenter, we welcome you to share your ideas. If you have an interesting topic and are willing to speak for up to 45 minutes, we want to hear from you.
    1
  • powershell Powershell PowerShell Weekly for August 23, 2024
    Jump
  • pwshguy pwshguy 4 weeks ago 100%

    Projects, Scripts, and Modules

    Books, Media, and Learning Resources

    • Build a Superfast Research Assistant using PowerShell and AI
      In this episode, I’ll show you how to combine PowerShell with AI to automate tasks, chat with your data, and build intelligent agents—all within your console and scripts.
    • Interactive Data at Your Fingertips: PowerShell AI Converts Data to Interactive HTML
      Transform your data with PowerShell and AI. In this video, Doug Finke, a 15x Microsoft MVP, shows how to use the PSAI module to convert Excel and CSV files into interactive HTML pages. You'll learn how to sort and interact with your data directly in your browser using the new ConvertTo-InteractiveHTML function. Doug walks through generating HTML tables with sortable columns and customizing them using AI. Whether you're managing large datasets or need a quick way to visualize your data, this tutorial will guide you through the process. Install the PSAI module and start making your data more dynamic.
    • How To PowerShell Code in Docker Containers
      In this video, we guide you through the process of installing and running Docker using PowerShell on Windows. Whether you're a beginner or an experienced developer, this step-by-step tutorial will help you get Docker up and running quickly and efficiently.
    1
  • powershell
    Powershell pwshguy 4 weeks ago 100%
    PowerShell Weekly for August 23, 2024

    ## Announcements! - [v7.4.5 Release of PowerShell](https://github.com/PowerShell/PowerShell/releases/tag/v7.4.5) \ Version 7.4.5 is offically here! - [v7.2.23 Release of PowerShell](https://github.com/PowerShell/PowerShell/releases/tag/v7.2.23) \ For those still on 7.2 version 7.2.23 is out now! ## Blogs, Articles, and Posts - [PDF Text to SQL Data: Using OpenAI's Structured Output with PSOpenAI](https://blog.netnerds.net/2024/08/structured-output-openai-chatgpt-ai-integration-powershell/) \ Incredible! I just used PowerShell and OpenAI to import text from a PDF right into SQL Server 🚀 AI's usefulness is often debated but this is such a great use-case. I also see it being useful for automatically adding SharePoint document metadata and cleaning dirty data. - [Unlock inline PowerShell capabilities to streamline Logic Apps workflows](https://techcommunity.microsoft.com/t5/azure-integration-services-blog/unlock-inline-powershell-capabilities-to-streamline-logic-apps/ba-p/4220187) \ The new inline PowerShell action, now in preview, adds flexibility to Logic Apps by enabling users to embed PowerShell scripts directly into workflows. This feature unlocks new possibilities for complex integrations, and I'm excited to demonstrate its potential with a bank reconciliation workflow demo. - [Find paired Azure region locations with Azure PowerShell](https://mikefrobbins.com/2024/08/22/find-paired-azure-region-locations-with-azure-powershell/) \ In this article, you learn how to add a custom property to the Azure PowerShell Get-AzLocation cmdlet output to display the physical location for paired regions in Azure. This information isn't available by default but can help you understand the resiliency and redundancy of your Azure resources like geo-redundant storage (GRS) and other Azure services that rely on Azure Storage for replication. - [Send email notifications about expiring Active Directory passwords with a PowerShell script](https://4sysops.com/archives/send-users-email-notifications-about-expiring-active-directory-passwords-with-a-powershell-script/) \ Enforcing a policy for regular password changes is no longer recommended, as it can result in more helpdesk requests due to expired passwords, especially for VPN users, and may actually undermine security. However, timely notifications can help mitigate issues when password changes are necessary. Learn how to notify users with Group Policy or a PowerShell script. - [Sort your local photos with Azure OpenAI and PowerShell!](https://alexholmeset.blog/2024/08/22/sort-your-local-photos-with-azure-openai-and-powershell/) \ Quick short blogpost here today. I have created a PowerShell script that reads your local photos, uses Azure OpenAI to get the type/category they belong to and move them to a folder with that name. To accomplish this I am using the Azure OpenAI GPT4-o model. You can read here how you set up an … Continue reading Sort your local photos with Azure OpenAI and PowerShell! - [PowerShell RegEx: Getting Started Guide](https://jeffbrown.tech/powershell-regex/?utm_source=rss&utm_medium=rss&utm_campaign=powershell-regex) \ PowerShell stands out as a versatile tool in scripting and automation, offering a wide array of functionalities to manage systems and process data. One PowerShell feature is the ability to use Regular Expressions (RegEx), a method for searching, matching, and manipulating strings based on specific patterns. - [Custom Script Setting in SharePoint & OneDrive Removed](https://imaginet.com/2024/custom-script-setting-in-sharepoint-onedrive-removed/) \ Last week, we published a blog discussing Microsoft retiring SharePoint Add-Ins. In that blog, we briefly discussed how the Classic Mode for Custom Scripts has been affected by that change. The Custom Script setting in SharePoint and OneDrive has already been removed – the change took place in May 2024.   There is a new PowerShell command (DelayDenyAddAndCustomizePagesEnforcement) that will allow administrators to delay any changes until November of this year. Additionally, the NoScriptSite setting will be configured to True for all existing sites except for specific site templates.   How Will The Removal of Custom Script Settings Affect My Organization?  - [My first experience trying to use the PowerShell beta module for Microsoft 365 Backup](https://powershellisfun.com/2024/08/16/my-first-experience-trying-to-use-the-powershell-beta-module-for-microsoft-365-backup/) \ I use Microsoft 365 Backup for my tenant; it's a simple way to back up Exchange, OneDrive, and SharePoint data to an Azure Subscription. There was no PowerShell module to query and configure things, but that has changed because the Beta module was released three days ago. In this blog post, I will describe my first experience trying to use the new module. - [A PowerShell function to easily retry any code](https://blog.danskingdom.com/A-PowerShell-function-to-easily-retry-any-code/) \ Performing retries to make your code more resilient is a common pattern. By leveraging a PowerShell ScriptBlock, we can create a function to avoid constantly rewriting the same retry logic again and again. ...continued in comments Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

    6
    3
    powershell
    Powershell pwshguy 1 month ago 100%
    PowerShell Weekly for August 16, 2024

    ## Blogs, Articles, and Posts - [Unlock BitLocker drive from Windows PE with a PowerSell script](https://4sysops.com/archives/unlock-bitlocker-drive-from-windows-pe-with-a-powershell-script/) \ BitLocker can pose a significant challenge when multiple PCs need to be booted from an external drive for troubleshooting. The helpdesk must manually enter the 48-digit recovery password each time. However, this process can be automated by exporting the keys and using a script. - [Handling the Too Many Retries Error and Dealing with Odd Numbers of Audit Events](https://office365itpros.com/2024/08/14/auditlog-query-oddities/?utm_source=rss&utm_medium=rss&utm_campaign=auditlog-query-oddities) \ The AuditLog Query Graph API remains in beta status but cmdlets are now available in the Microsoft Graph PowerShell SDK. This led to some oddities in results when the number of audit events found by a search didn't match those reported by the Purview compliance portal. It all worked out in the end. In other news, the Set-MgRequestContext helped sort out some retry problems. - [Using Export-Clixml and Import-Clixml for credentials in PowerShell scripts](https://powershellisfun.com/2024/08/09/using-export-clixml-and-import-clixml-for-credentials-in-powershell-scripts/) \ Using clear-text passwords in PowerShell scripts is, of course, a bad thing to do. But sometimes, you need to use credentials in a script to connect to a server, service, etc. In this blog post, I will show you how you can use Export/Import-Clixml to do that. - [10 Useful Tips for Customizing SharePoint List Fields with PnP PowerShell](https://www.spguides.com/customize-sharepoint-list-fields-with-pnp-powershell/) \ Recently, I was working on building a Power Apps application that takes data sources as a SharePoint list. To avoid creating SharePoint lists and manually adding different types of columns, I wrote a PowerShell script. While adding different types of columns to the SharePoint lists - [Confirm Domain Join during OSD](https://garytown.com/confirm-domain-join-during-osd) \ I’ve got a small group in my TS that double checks the domain join status, then exit with an error code if the OSD process didn’t join the domain properly. Basically, I’m using PowerShell to do a couple of lookups and writing the information to variables, which I then use to trigger an exit command. - [Get Microsoft 365 Users’ Registered MFA Methods With PowerShell](https://o365reports.com/2024/08/13/get-microsoft-365-users-registered-mfa-methods-with-powershell/?utm_source=rss&utm_medium=rss&utm_campaign=get-microsoft-365-users-registered-mfa-methods-with-powershell) \ Nowadays, security is paramount and multifactor authentication (MFA) stands as a critical line of defense in protecting sensitive information within Microsoft 365 environments. As organizations increasingly adopt to configure MFA, it becomes essential for administrators to monitor the authentication methods registered by users. ## Projects, Scripts, and Modules - [Introducing PSReminderLite](https://jdhitsolutions.com/blog/powershell/9422/introducing-psreminderlite/?utm_source=rss&utm_medium=rss&utm_campaign=introducing-psreminderlite) \ For several years, I have been using a PowerShell module I wrote called MyTickle to help me manage my reminders and events. I spend my days at a PowerShell prompt, and I wanted an easy way to keep track of upcoming events. - [Updated Media Tool available](https://oofhours.com/2024/08/12/updated-media-tool-available/) \ Back in 2023, I posted a Media Tool app (which uses PowerShell behind the scenes) to download Windows 10 or 11 media, for both x64 and ARM64 architectures. ## Books, Media, and Learning Resources - [How I got my Windows PowerShell Terminal looking better](https://www.youtube.com/watch?v=B03EYfSH2bE) \ This video starts with a Windows 11 23H2 installation with the default Windows PowerShell Terminal. I'm a bit of a fan of Oh-My-ZSH + PowerLevel10k for the Linux Desktops I built for work, so my goal was to have a similar looking prompt on Windows for my PowerShell terminal. I take you step by step through the process of improving the appearance of the terminal. - [How to get info from your vCenter](https://www.youtube.com/watch?v=LgXGjIH2EMw) \ Hey everyone! In this video, I'm diving into a game-changing PowerShell one-liner that completely simplifies how I gather vCenter information. If you've ever been frustrated by manual scripts that take too much time and effort, this is the solution you've been waiting for! ## Community - [TechMentor Highlights: Greg Altman, Mike Nelson, and James Petty Share PowerShell Wisdom](https://powershellpodcast.podbean.com/e/techmentor-highlights-greg-altman-mike-nelson-and-james-petty-share-powershell-wisdom/) \ In the latest episode of the PowerShell Podcast, we had the pleasure of interviewing Greg Altman, Mike Nelson, and James Petty. We spoke with three speakers at TechMentor in Redmond, including a special birthday guest. We covered topics such as imposter syndrome, details on the guests' talks, recommended books for starting and advancing in PowerShell, and a healthy helping of laughs throughout. Tune in for insightful conversations, valuable insights, and a few chuckles along the way! - [Inside IT Automation l E08 l Steve Lee talks about PowerShell 7, AI, Project Mercury, DSC and more](https://www.youtube.com/watch?v=UdoUVV6lEhk) \ In this "Inside IT Automation" episode Heiko has a conversation with Steve Lee at the PSConfEU in Antwerp. They talk about the PowerShell 7, AI, Project Mercury PowerShell DSC and more. He also gives some insights into how the Microsoft PowerShell team works. ## Events - [Build a Superfast Research Assistant using PowerShell and AI](https://www.meetup.com/nycpowershellmeetup/events/302619165/) \ Join me for a hands-on session where we will build a superfast research assistant using PowerShell and AI. This powerful tool leverages the latest OpenAI models using my PowerShell module PSAI to search the web, gather information, and generate comprehensive research reports in seconds. - [Coding Rock-Solid AI Agents: PowerShell Precision](https://www.meetup.com/nycpowershellmeetup/events/302816941/) \ In this session, you'll learn how to harness the PSAI PowerShell module and the newly developed PSAIAgent to create AI agents with memory, contextual knowledge, and tool integration. We’ll dive into practical steps for building these advanced agents, ensuring each one is reliable, robust, and ready for real-world application. Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

    4
    0
    powershell
    Powershell pwshguy 1 month ago 100%
    PowerShell Weekly for August 9, 2024

    ## Blogs, Articles, and Posts - [PowerShell: When to use Add-Type and New-Object ?](https://sid-500.com/2024/08/06/powershell-when-to-use-add-type-and-new-object/) \ In this blog post, I will discuss when you need to add classes with Add-Type and when you can provide classes with New-Object. I would say, let’s get started. - [Managing DHCP Leases and Reservations with PowerShell](https://adamtheautomator.com/dhcp-leases-reservations-powershell/) \ In this tutorial, we'll explore how to manage DHCP leases and reservations using PowerShell. Effective lease and reservation management is crucial for maintaining a smooth-running network, preventing IP address conflicts, and ensuring that critical devices always receive the same IP address. - [Windows device provisioning with Workspace ONE, part 2: Apps and policies](https://oofhours.com/2024/08/08/windows-device-provisioning-with-workspace-one-part-2-apps-and-policies/) \ In the first part, I got to the point where I could successfully get a device into a managed state, but that doesn’t mean the device is actually usable. - [PowerShell: A Microsoft 365 Admin Roles Membership Report](https://techbloggingfool.com/2024/08/04/powershell-a-microsoft-365-admin-roles-membership-report/) \ Manually reviewing the membership roster for each of the dozens of RBAC roles in a Microsft 365 tenant is quite - [Creating a development Windows Sandbox using PowerShell and WinGet](https://powershellisfun.com/2024/08/02/creating-a-development-windows-sandbox-using-powershell-and-winget/) \ As I mentioned before, I like Windows Sandbox! However, since Windows 11 24H2, Windows Sandbox has been missing two things I often use: Notepad and Windows ISE. In this blog post, I will show you how to start Windows Sandbox and automatically install your preferred editors and tools using WinGet and PowerShell. - [Understanding Get-EXORecipient](https://www.powershellcenter.com/2024/08/04/getexorecipient/) \ This guide will provide you with the knowledge and tools you need to effectively manage your Office 365 mailbox using the Get-EXORecipient. Understanding Exchange Recipient Type Details When managing an Exchange environment, understanding the different types of recipients is crucial for effective administration. Exchange Online supports a variety of recipient types, each serving different purposes... ## Projects, Scripts, and Modules - [Azure AD Incident Response PowerShell Module](https://github.com/AzureAD/Azure-AD-Incident-Response-PowerShell-Module) \ The Azure Active Directory Incident Response PowerShell module provides a number of tools, developed by the Azure Active Directory Product Group in conjunction with the Microsoft Detection and Response Team (DART), to assist in compromise response. ## Books, Media, and Learning Resources - [Inside IT Automation l E07](https://www.youtube.com/watch?v=eSaEDDQCAzM) \ Xavier Clinquart talks about PowerShell, the PoSh community and more. - [Build a PowerShell Menu in 5 minutes](https://www.youtube.com/watch?v=2G4qAP1y5PA) \ In this video, we break down the concept of switch statements and how they can be utilized to create an interactive menu for users. We'll start with the basics of setting up a script, defining functions, and understanding how to handle user inputs in PowerShell. ## Community - [Exploring Cybersecurity with PowerShell and John Hammond](https://powershellpodcast.podbean.com/e/exploring-cybersecurity-with-powershell-and-john-hammond/) \ In this episode of the PowerShell Podcast, we sit down with renowned security researcher John Hammond. Recorded in person in Utah, we delve into John's unique insights on PowerShell and its role in cybersecurity. John shares his experiences with PowerShell attacks, discussing how it’s used in various malware and the importance of implementing security features like constrained language mode and script block logging. He highlights practical tips for making PowerShell environments more secure and emphasizes the need for continuous learning and experimenting within safe environments. We also explore how to transition into security-focused roles, with John providing valuable advice for those looking to combine their PowerShell skills with a career in cybersecurity. ## Fun - [Convert Nokia RTTL to VT256 DEC PS (PlaySound) escape sequences](https://gist.github.com/Jaykul/01a0045e1551dffe6437bf63382c9813) \ Today I made another way to use those Windows Terminal PlaySound escape sequences. You can convert Nokia RTTTL ringtones in PowerShell Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

    8
    0
    powershell
    Powershell pwshguy 2 months ago 100%
    PowerShell Weekly for August 2, 2024

    ## Blogs, Articles, and Posts - [The Maddening Side of the Microsoft Graph PowerShell SDK](https://office365itpros.com/2024/07/26/microsoft-graph-powershell-sdk-odd/?utm_source=rss&utm_medium=rss&utm_campaign=microsoft-graph-powershell-sdk-odd) \ All software has unique quirks, and the foibles of the Microsoft Graph PowerShell SDK are well known. But it’s much harder when the underlying foundation contributes to the craziness as described in this article. Graph pagination works in a specific way and Microsoft tunes the Graph to deliver great performance by reducing the set of properties returned for objects. Both can cause concern for developers. - [Microsoft Entra PowerShell module, successor to the Azure AD PowerShell module](https://4sysops.com/archives/microsoft-entra-powershell-to-replace-the-azure-ad-powershell-module/) \ The Microsoft Entra PowerShell module is the successor to the Azure AD PowerShell module. It's designed to streamline management and automation for the Microsoft Entra product family, which includes the services formerly known as Azure Active Directory. - [Using Switch in PowerShell](https://powershellisfun.com/2024/07/26/using-switch-in-powershell/) \ Everyone uses If statements in their scripts: If this, then that. Or If not this, then that, multiple If, and even Elseif. But there is another option, Switch. In this blog post, I will show you how you can use Switch and make your scripts more readable in the process :) - [Reading, Rotating, and Reporting on LAPS and BitLocker in Intune and Entra with PowerShell](https://www.deploymentresearch.com/reading-rotating-and-reporting-on-laps-and-bitlocker-in-intune-and-entra-with-powershell/) \ After the recent Crowdstrike Incident I've been thinking a lot about how to quickly perform LAPS and BitLocker actions against remote devices, and report on their use primarily via Microsoft Graph and Intune. I work and talk with a lot of folks in highly distributed environments (thinking of you, all of my EDU friends!). - [Track File Activities in SharePoint Online Using PowerShell](https://o365reports.com/2024/07/31/track-file-activities-in-sharepoint-online-using-powershell/?utm_source=rss&utm_medium=rss&utm_campaign=track-file-activities-in-sharepoint-online-using-powershell) \ Users are given access to files in the organization for various purposes, such as project collaboration, documents sharing, and accessing necessary resources for their roles. Based on the permissions granted, users can perform actions on files and folders such as deletion, download, modifying, and more. - [Find Your Most Frequently Used Terminal Commands](https://www.adamsdesk.com/posts/find-most-used-terminal-commands/) \ Determine the most used commands in the terminal using Bash, Fish, PowerShell and Zsh with these simple one line commands. - [OneDrive Pastejacking](https://www.trellix.com/blogs/research/onedrive-pastejacking/) \ Phishing campaign exploits Microsoft OneDrive users with sophisticated social engineering, manipulating them into executing a malicious PowerShell script. ## Books, Media, and Learning Resources - [TEC 2024 PowerShell & Conditional Access Workshops](https://practical365.com/tec-2024-powershell-conditional-access-workshops/) \ Don't miss your chance to meet and learn from your favorite Practical 365 Authors at TEC 2024. As a proud sponsor of TEC, we are offering BOGO discounts on exclusive pre-con workshops with authors Michel De Rooij, Jaap Wesselius, and more! ## Community - [Unveiling the Power of Generative AI with Chrissy LeMaireq](https://powershellpodcast.podbean.com/e/unveiling-the-power-of-generative-ai-with-chrissy-lemaire/) \ In this episode, Chrissy LeMaire discusses AI, her experience at PSConfEU, and her return to in-person speaking after a 5-year break. She provides an update on her book, "Generative AI for the IT Professional," and shares insights into leveraging AI beyond just conversing with ChatGPT. Chrissy also showcases a couple of interesting use cases involving AI. - [Inside IT Automation l E06 l Bruno Buyck talks about PowerShell, PSConfEU and more](https://www.youtube.com/watch?v=gKow30OGOaM) \ In this "Inside IT Automation" episode Heiko has a conversation with Bruno Buyck at the PSConfEU in Antwerp. They talk about the PowerShell Conference, Bruno's PowerShell journey, PowerShell trainings, the Belgium PowerShell User Group and more. ## Fun - [Gist a little friendly advice about Shipping Software](https://gist.github.com/StartAutomating/df91898a847d7d0470cf80bc4db3f02c) \ Gist a little friendly advice about Shipping Software - NotOnAFriday.ps1 ## Events - [PowerShell Saturday NC](https://powershellsaturdaync.com) \ Join us for PowerShell Saturday NC 2024, proudly brought to you by the Research Triangle PowerShell User Group! Mark your calendars for October 5th for this year’s gathering in Raleigh, NC. Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

    6
    0
    piracy Piracy Probably my first piracy experience (it was great)
    Jump
  • pwshguy pwshguy 2 months ago 100%

    I remember before scrambling they just put blocks that prevented you from going to certain channels. I somehow figured out if you ran the cable box through the VCR first and put it on channel 2 while the TV was still on 3, it would shift all the channels down one. Cinemax was channel 14, which our box just would not go to. But it would go to 13, so doing my little trick teenage me got to watch a lot of skinamax.

    10
  • powershell
    Powershell pwshguy 2 months ago 100%
    PowerShell Weekly for July 26, 2024

    ## Announcements! - [v7.4.4 Release of PowerShell](https://github.com/PowerShell/PowerShell/releases/tag/v7.4.4) \ Come get the latest and greatest - [v7.2.22 Release of PowerShell](https://github.com/PowerShell/PowerShell/releases/tag/v7.2.22) \ The latest LTS release. ## Blogs, Articles, and Posts - [Extract LAPS Passwords and BitLocker Keys from Active Directory](https://tommymaynard.com/extract-laps-passwords-and-bitlocker-keys-from-active-directory/) \ The below PowerShell can be used to extract LAPS Passwords and BitLocker Keys from Active Directory. This was written on Friday, July 19, 2024, due to the CrowdStrike Outage. If you choose to test this PowerShell, ensure that you update the argument for the SearchBase parameter to reflect your Active Directory domain. - [The Maddening Side of the Microsoft Graph PowerShell SDK](https://office365itpros.com/2024/07/26/microsoft-graph-powershell-sdk-odd/?utm_source=rss&utm_medium=rss&utm_campaign=microsoft-graph-powershell-sdk-odd) \ All software has unique quirks, and the foibles of the Microsoft Graph PowerShell SDK are well known. But it’s much harder when the underlying foundation contributes to the craziness as described in this article. Graph pagination works in a specific way and Microsoft tunes the Graph to deliver great performance by reducing the set of properties returned for objects. Both can cause concern for developers. - [Find orphaned GPOs via PowerShell before migrating to Intune](https://blog.it-koehler.com/en/Archive/5780?utm_source=rss&utm_medium=rss&utm_campaign=find-orphaned-gpos-via-powershell-before-migrating-to-intune) \ Many companies have already fully transitioned to Endpoint Management Intune and no longer need GPOs (Group Policy Objects). Others are in the preparatory stages. Therefore, I would like to provide some assistance for identifying orphaned Group Policy Objects. These can be relatively easily found and, if necessary, removed using PowerShell. - [Convert RSA XML Private Key to PEM Format with PowerShell](https://blog.darrenjrobinson.com/convert-rsa-xml-private-key-to-pem-format-with-powershell/) \ Recently I was working with a particular application that used certificates to secure communication. I wanted to put the certificates into Azure KeyVault. Azure KeyVault naturally allows you to store certificates. However, it only lets you upload certificates that are in PFX (PKCS#12) or CER (DER or BASE64 encoded).… keep reading - [PowerShell script for automated remediation for CrowdStrike issue](https://powershell.ro/powershell-script-for-automated-remediation-for-crowdstrike-issue/) \ I have created a Powershell script for the Crowdstrike issue for some automation purposes. you can create a WinPE ISO File to boot into and remediate the crowdstrike issue. 3. Reboot: The system should boot normally. The script: This script is designed for use in an on-premises VMware environment. ## Projects, Scripts, and Modules - [pwshBedrock v 0.9.1](https://www.powershellgallery.com/Packages/pwshBedrock/0.9.1) \ pwshBedrock enables interfacing with Amazon Bedrock foundational models, supporting direct on-demand model calls via InvokeModel and the Converse API for supported models. It allows sending messages, retrieving responses, managing message context, displaying model information, and estimating token counts and costs. Use PowerShell to integrate generative AI applications with Amazon Bedrock. - [ChocoLogParse v 1.0.0](https://www.powershellgallery.com/Packages/ChocoLogParse/1.0.0) \ Parses Chocolatey logs into easy to use objects. ## Books, Media, and Learning Resources - [Diagnose Network Latency with PowerShell and SQLite [OC]](https://www.youtube.com/watch?v=Do5Ve6M9mmU) \ In this video you’ll see how you can use PowerShell to check for network latency between multiple endpoints. You’ll learn how to record those results into a SQLite database with a just few commands, and no need to create any underlying infrastructure. Finally, you’ll see how you can view the data in PowerShell to help identify where and when you are experiencing network latency issues. ## Community - [Interactive Shell Sessions and Language Models: Steven Bucher on Project Mercury](https://powershellpodcast.podbean.com/e/interactive-shell-sessions-and-language-models-steven-bucher-on-project-mercury/) \ In the latest episode of the PowerShell Podcast, we sit down with Microsoft PM Steven Bucher to dive into Project Mercury, a cutting-edge CLI tool designed to provide an interactive shell session for chatting with language models. Steven walks us through the functionalities of Project Mercury and how users can leverage this innovative tool. He also shares his approach to product management, reflecting on his growth in the role over the past couple of years. We explore the importance of empowering others and how it serves as a pivotal goal in Steven’s professional journey. Join us for an enlightening conversation that blends technical knowledge with leadership wisdom. - [PowerShell Community Call - July 18th, 2024](https://www.youtube.com/watch?v=TPf4FqlWaGA) \ The record of the July 18, 2024 PowerShell Community Call Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

    6
    0
    powershell Powershell Monitor Your Network with PowerShell [OC]
    Jump
  • pwshguy pwshguy 2 months ago 100%

    It took me longer than I would have liked, but I did finally get the next video uploaded. I hope you enjoy it as well.

    https://youtu.be/Do5Ve6M9mmU

    2
  • powershell
    Powershell pwshguy 2 months ago 100%
    PowerShell Weekly for July 19, 2024

    ## Blogs, Articles, and Posts - [Upgrading the Teams and Groups Activity Report to 6.0](https://office365itpros.com/2024/07/15/teams-and-groups-activity-6/?utm_source=rss&utm_medium=rss&utm_campaign=teams-and-groups-activity-6) \ The Teams and Groups activity report is a popular script that helps administrators identify inactive teams and groups within a Microsoft 365 tenant. The script code has been developed over the years. The last version converted to Graph API requests to improve performance. This time, the upgrade is to use the Microsoft Graph PowerShell SDK to make the code easier to maintain. - [Getting Started with PowerShell and the ServiceNow API](https://adamtheautomator.com/servicenow-api-powershell/) \ Unlock the power of ServiceNow's API! Learn how to set up your developer account, create an OAuth app, and make your first API call using PowerShell. - [Install AWS CloudShell in a VPC](https://4sysops.com/archives/install-aws-cloudshell-in-a-vpc/) \ Recently, AWS announced the general availability of CloudShell VPC support. This feature enables the creation of a CloudShell environment within a dedicated VPC, establishing secure connections to other resources in the same subnet. The CloudShell inherits the VPC network configuration without any additional modification. In this article, I will introduce CloudShell, explain the new VPC support, and outline how to install AWS CloudShell in a VPC. - [Restoring the NVIDIA Control Panel and Tools after the Appx Package Change](https://www.jhouseconsulting.com/jhouseconsulting/2024/07/14/restoring-the-nvidia-control-panel-and-tools-after-the-appx-package-change-2903) \ With the move from the Standard driver model to the DCH (Declarative Componentized Hardware) driver model implemented from GRID 15.0 (Windows driver version 527.41) and above, the NVIDIA Control Panel app is now distributed through the Microsoft Store as an Appx Package. - [PowerShell PSDrive](https://powershellisfun.com/2024/07/12/powershell-psdrive/) \ This is sometimes forgotten, the easy way of accessing or checking network drives, certificates, registry, variables, etc. In this blog post, I will show you what a PSDrive does and some examples of its use. - [Practical Graph: Using GitHub Copilot for Microsoft 365 PowerShell Development](https://practical365.com/github-copilot-powershell/) \ GitHub Copilot costs $10/month. At that price level, anyone working with PowerShell should try out the AI assistance to see if it helps. But will GitHub Copilot work well with Microsoft 365 PowerShell modules like Exchange Online and the Microsoft Graph PowerShell SDK. That's what we tested and report on here. ## Projects, Scripts, and Modules - [UniGetUI (formerly WingetUI): GUI for winget, Chocolatey, and PowerShell Gallery](https://4sysops.com/archives/unigetui-formerly-wingetui-gui-for-winget-chocolatey-and-powershell-gallery/) \ UniGetUI, previously known as WingetUI, is a free GUI tool that lets you easily install and update software packages from various sources, such as Winget, Chocolatey, and PowerShell Gallery. Let me show you UniGetUI's features and how it can help you quickly set up a new computer with all the essential software. - [A PowerShell Form Generator](https://www.codeproject.com/Tips/770313/A-PowerShell-Form-Generator) \ This article is an evolution of the previous, it regards not only the implementation of the package, but in particular a new paradigm with which the form objects are specified; the article is not intended to be an exhaustive explanation of the product, for this please refer to the attached documentation. ## Books, Media, and Learning Resources - [PowerShell 101](http://leanpub.com/powershell101) \ Reluctant to learn PowerShell? This condensed version book targets the specific topics you need to know to be successful in a real-world production environment. - [PSDates with Matthew Dowst](https://www.youtube.com/watch?v=Qu2MeNDOLwg) \ Matthew Dowst talks about PSDates, a great module for working with [DateTime] in PowerShell ## Community - [Emrys MacInally Explores PowerShell Error Handling and Module Versioning Strategies](https://powershellpodcast.podbean.com/e/emrys-macinally-explores-powershell-error-handling-and-module-versioning-strategies/) \ In this episode, we welcome back Emrys MacInally, following another successful year speaking at PSConf.EU. Emrys shares his experiences and highlights from the conference, shedding light on key discussions and takeaways. We dive deep into the importance of mental health within the PowerShell community, exploring how the community can support each other. Emrys provides insights into best practices for versioning PowerShell modules and delves into the nuances of error handling, explaining why developers should avoid using the 'throw' statement in scripts. Additionally, Emrys introduces his ErrorRecord module, which simplifies the process of creating error records, offering a practical solution for more efficient error management. Tune in for an enlightening conversation packed with valuable tips and expert advice for PowerShell enthusiasts. - [Navigating Corporate Giants - Jeffrey Snover and the Making of PowerShell](https://corecursive.com/building-powershell-with-jeffrey-snover/) \ What if you had to fight against your company's culture to bring a revolutionary tool to life? Meet Jeffrey Snover, the Microsoft architect behind PowerShell, a command tool that transformed Windows system administration. Initially met with skepticism, Snover's idea faced resistance from a company that favored graphical interfaces. Snover's journey began with a simple mission: to make Windows as command-line ## Events - [Experts Live Europe 2024](https://www.expertslive.eu/) \ September 23-25, 2024 - Budapest Congress Center, Hungary Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

    7
    0
    powershell Powershell PowerShell Weekly for July 12, 2024
    Jump
  • pwshguy pwshguy 2 months ago 100%

    Projects, Scripts, and Modules

    • 365AutomatedLab and new companion module coming soon
      365AutomatedLab and new companion module coming soon I promise I haven’t forgotten about 365AutomatedLab, but I’ll be honest after Microsoft made the announcement of no more new Dev tenants it hurt a bit as I know how useful they are on learning and testing features and PowerShell without hurting your production environment.
    • How to Create SharePoint List & Add Columns Using PnP PowerShell?
      Recently, I developed one Power Apps application that needed a SharePoint list data source. Before running the application, the client must create the specific SharePoint list on their site. So, I wrote a Power Shell script to create the SharePoint list along columns to avoid mistakes when creating it manually.
    • PowerShell-Yayaml v0.5.0
      What's changed…
    • PSDates v1.0.4
      Tons of new stuff added including calculating sunrise and sunset time.

    Books, Media, and Learning Resources

    Community

    • Behind the Scenes at PSConf.EU: Harm Veenstra’s Experience and Insights
      In this episode of the PowerShell Podcast, we sit down with Microsoft MVP Harm Veenstra to discuss his exciting experiences at PSConf.EU, where he attended for the first time and embarked on a new journey into public speaking. Harm shares his thoughts on receiving the prestigious Microsoft MVP award and delves into his recent projects, including creating a TCP/UDP listener for testing firewall ports and using a Pi-hole to block ads on his home network. We also explore his perspectives on automation in the MSP world, the power of Microsoft Graph, and why he hasn’t yet adopted AI tools. Tune in for an engaging conversation filled with insights, tips, and highlights from PSConf.EU!
    • Write Code, Write Blogs: Lessons with Brock Bingham
      In our latest Powershell Podcast episode, we chat with Brock Bingham. We explore his transition from sysadmin to writer and his viewpoint of coding as creative problem-solving. Brock also shares insightful blogging tips and advises against the pitfalls of comparison. A must-listen for aspiring PowerShellers. (plz create a blog and share your learnings for future you)
    1
  • powershell
    Powershell pwshguy 2 months ago 66%
    PowerShell Weekly for July 12, 2024

    ## Announcements! - [The Right Way to Replace the Remove-SPOExternalUser Cmdlet](https://office365itpros.com/2024/07/11/remove-spoexternaluser-cmdlet/?utm_source=rss&utm_medium=rss&utm_campaign=remove-spoexternaluser-cmdlet) \ Microsoft says they will remove the Remove-SPOExternalUser cmdlet starting July 29. They recommend using Remove-AzureADUser as a replacement. It's a bad call because that cmdlet is part of a now-retired and soon to be deprecated module. Overall, recommendations like this make you think that Microsoft doesn’t know what’s happening across the whole of Microsoft 365. And you might be right. - [PowerShell Elevation of Privilege Vulnerability](https://msrc.microsoft.com/update-guide/en-us/advisory/CVE-2024-38033) \ This one affects all Windows versions all the way back to Windows Server 2012, so be sure to get the cumulative updates installed. CVE-2024-38047 and CVE-2024-38043 are also PowerShell Elevation of Privilege Vulnerabilities included in the cumulative patches this month. ## Blogs, Articles, and Posts - [Audit Group Policy changes in the event log using XML queries and PowerShell](https://4sysops.com/archives/audit-group-policy-changes-in-the-event-log-using-xml-queries-and-powershell/) \ Custom views in the Event Viewer allow you to filter the metadata of log entries based on various criteria. However, these filters do not assess the content of the log entry messages. To evaluate the log messages, you can extend filters using an XPath query. The examples below demonstrate how to audit Group Policy changes with XML queries, which you can further process with PowerShell. - [Search and delete Copilot data in Microsoft 365](https://4sysops.com/archives/search-and-delete-copilot-data-in-microsoft-365/) \ Managing and deleting unnecessary Copilot data from Microsoft 365 is essential for reducing security risks and ensuring compliance with data protection laws like GDPR and HIPAA. This blog post will guide you through the steps to search for and delete Copilot data using eDiscovery, Graph Explorer, and PowerShell. Following these steps can enhance data hygiene and safeguard your organization against potential data breaches and legal issues. - [PowerShell: Measure Objects (Count, Average, Sum …)](https://sid-500.com/2024/07/09/powershell-measure-objects-count-average-sum/) \ The Measure-Object cmdlet counts objects. But it can do even more. We can calculate the sum, the average and much more. In this blog post I show a few examples with Measure-Object. - [Office Connectors Retirement for Teams](https://office365itpros.com/2024/07/10/teams-office-connectors/?utm_source=rss&utm_medium=rss&utm_campaign=teams-office-connectors) \ In June, Microsoft retired Office Connectors for SharePoint Online and Microsoft 365 Groups. Starting on August 15, they're retiring connectors for Teams. The problem is finding out which teams and channels have configured connectors. That's when PowerShell comes in handy, as we prove with a script to report which teams have connectors. - [Using Pop-Location and Push-Location in PowerShell](https://powershellisfun.com/2024/07/05/using-pop-location-and-push-location-in-powershell/) \ At PSConfEU, somebody asked me if I used Pop-Location and Push-Location. Well, I know it's there, but no. :) In this blog post, I will show you how to use it and that it might come in handy! - [ViperSoftX malware covertly runs PowerShell using AutoIT scripting](https://www.bleepingcomputer.com/news/security/vipersoftx-malware-covertly-runs-powershell-using-autoit-scripting/) \ The latest variants of the ViperSoftX info-stealing malware use the common language runtime (CLR) to load and execute PowerShell commands within AutoIt scripts to evade detection. [...] - [Low Space on EFI (System) Partition – Clean up](https://garytown.com/low-space-on-efi-system-partition-clean-up) \ Hey folks, this seems like a topic that keeps coming up, despite the fact I had assumed everyone was creating large EFI volumes (984MB) by now, but I keep finding folks who have 100MB and run into issues. - [Practical PowerShell: Error Handling](https://practical365.com/practical-powershell-error-handling/) \ Writing PowerShell scripts can be a fulfilling task. After all, you write something to assist with a task or procedure so you can focus on the result, not the task itself. But what if your script tries to run an action and is unsuccessful, for example, when a user the script attempts to manipulate is invalid or the signed in account has insufficient permissions to run a cmdlet? And do not forget the peculiarities of the online world, such as a network connection dropping or an authentication token expiring. - [Mediator Pattern using PowerShell](https://dfinke.github.io/powershell,%20design%20patterns,%20genai/2024/07/03/Mediator-Pattern-using-PowerShell.html) \ The Mediator Design Pattern centralizes communication, reducing dependencies & improving maintainability. Instead of direct interactions, objects use a mediator. Continued in the comments due to post character limits Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

    2
    1
    powershell Powershell PowerShell: the object-oriented shell you didn’t know you needed | Chris Warrick | 29 April 2024
    Jump
  • pwshguy pwshguy 3 months ago 100%

    Nice write up, and a great primer for someone coming from the Linux/Bash world.

    3
  • powershell
    Powershell pwshguy 3 months ago 85%
    PowerShell Weekly for June 28, 2024

    ## Announcements! - [Introducing the Microsoft Entra PowerShell module](https://techcommunity.microsoft.com/t5/microsoft-entra-blog/introducing-the-microsoft-entra-powershell-module/ba-p/4173546) \ Microsoft Entra PowerShell is a new scenario-focused PowerShell module for the Microsoft Entra product family. ## Blogs, Articles, and Posts - [Adding Details of Authentication Methods to the Tenant Passwords and MFA Report](https://office365itpros.com/2024/06/25/authentication-methods-v13/?utm_source=rss&utm_medium=rss&utm_campaign=authentication-methods-v13) \ V1.2 of the User Passwords and MFA report includes the names of authentication methods registered for user accounts. V1.3 expands the amount of detail reported for each method, such as the phone number used for SMS challenges, or the email address used for SSPR. It’s a small but important detail that’s useful to administrators. However, it also comes with a potential privacy issue, so the script must handle that too. - [Leveraging OpenAI to Enhance Pull Request Management in Azure DevOps](https://www.thelazyadministrator.com/2024/06/24/leveraging-openai-to-enhance-pull-request-management-in-azure-devops/) \ Our goal is to create an automation that significantly enhances the efficiency of our development process. A service hook is triggered when a new Pull Request is created in Azure DevOps, sending a webhook to an Azure Function. This function analyzes the request body, gets all commits in the Pull Request, and sends it to Open AI’s API, which generates a Pull Request message detailing all of the proposed changes from the commits and writes it back to the Azure DevOps Pull Request. - [Create, configure, and delete system restore points with PowerShell, vssadmin.exe, and System Properties](https://4sysops.com/archives/create-configure-and-delete-system-restore-points-with-powershell-vssadminexe-and-system-properties/) \ System restore points allow users to roll back Windows to an earlier state if problems arise. These points capture important system files, the registry, and drivers. In addition to using the System Properties applet, you can manage system restore points with PowerShell and vssadmin.exe. - [How to Identify MFA Deployment Source in Microsoft 365 Using PowerShell](https://o365reports.com/2024/06/26/identify-mfa-deployment-source-in-microsoft-365-using-powershell/?utm_source=rss&utm_medium=rss&utm_campaign=identify-mfa-deployment-source-in-microsoft-365-using-powershell) \ Have you ever felt like managing multi-factor authentication (MFA) is more of a hurdle than a security measure? Constant MFA issues can be frustrating! Here are some common MFA issues; as you read, consider how you might address these challenges. - [Connect to the Microsoft Entra PowerShell Module](https://o365reports.com/2024/06/28/connect-to-the-microsoft-entra-powershell-module/?utm_source=rss&utm_medium=rss&utm_campaign=connect-to-the-microsoft-entra-powershell-module) \ We all know that Microsoft deprecated the Azure AD PowerShell and MSOnline PowerShell modules. So, they advise us to migrate all the scripts to the MS Graph PowerShell. But finding the equivalent cmdlets and updating the scripts can be tough. Don’t worry! Microsoft heard our struggle! - [Using Debug and Verbose parameters in PowerShell](https://powershellisfun.com/2024/06/21/using-debug-and-verbose-parameters-in-powershell/) \ It's one of those things you forget, and you can get a lot more output when running scripts that will help you find out why things are not working as you expected. This small blog post will show you how to get more verbose and debug information. - [PowerShell: Beyond the Prompt!](https://telegra.ph/PowerShell-Beyond-the-Prompt-06-27) \ Powershell often gets overshadowed by its scripting cousin, Bash, but just like Ruby, Powershell offers a depth that goes beyond the initial impression. ## Projects, Scripts, and Modules - [PSLinux v 1.0.6](https://www.powershellgallery.com/Packages/PSLinux/1.0.6) \ The RedHatSatelliteSearch PowerShell module provides functions to retrieve and manage data from a RedHat Satellite server. This module allows users to specify search filters to query and fetch information about hosts and other resources managed by the Satellite server. ## Books, Media, and Learning Resources - [Counting Files with a Specific Extension Using PowerShell](https://www.youtube.com/watch?v=KVHFYqwT8Do) \ In this tutorial, we will guide you through the process of using PowerShell to count the total number of files with a specific extension within a directory and its subdirectories. This method is highly useful for system administrators and IT professionals who need to manage and analyze large volumes of files efficiently. ## Community - [From NoWayShell to PowerShell: A Coding Transformation](https://powershellpodcast.podbean.com/e/from-nowayshell-to-powershell-a-coding-transformation/) \ In this episode, host Andrew Pla converses with coding enthusiast Josh Hendricks (@joshooaj) about his transformative PowerShell journey - a pathway that led him from avoidance to adoration. The discussion delves into the intricacies of Joshua's PSPushover and MilestonePSTools projects, developing an understanding of their creation process. Additionally, Josh recounts his captivating experience of giving a talk on "Docs" at the prestigious PowerShell Summit. This riveting dialogue remarkably encapsulates a personal journey blending skepticism, discovery, and innovation at the heart of coding. ## Fun - [TEC 2024 PowerShell Script-Off](https://practical365.com/tec-powershell-script-off-24/) \ TEC 2024 in Dallas (October 1-2) will once again feature the TEC PowerShell Script-Off where coders attempt to come up with the best solutions for challenges set by the judges. The challenges are all Microsoft 365 scenarios (Exchange Online, Entra ID, Teams, and SharePoint Online), so there's nothing unknown about what we'll ask people to code. Come along to TEC 2024 and compete to be the best coder in town! Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

    5
    0
    powershell
    Powershell pwshguy 3 months ago 92%
    PowerShell Weekly for June 21, 2024

    ## Announcements! - [Deprecation of MSOnline](https://techcommunity.microsoft.com/t5/microsoft-entra-blog/important-update-deprecation-of-azure-ad-powershell-and-msonline/ba-p/4094536) \ Just a reminder that MSOnline versions prior to v1.1.166.0 will stop working in 1 week. - [v7.4.3 Release of PowerShell](https://github.com/PowerShell/PowerShell/releases/tag/v7.4.3) \ Come get the latest and greatest - [v7.2.21 Release of PowerShell](https://github.com/PowerShell/PowerShell/releases/tag/v7.2.21) \ Get the latest LTS release ## Blogs, Articles, and Posts - [Using PowerShell to Post Channel Messages with Teams Workflows](https://office365itpros.com/2024/06/17/teams-post-to-channel-workflow/?utm_source=rss&utm_medium=rss&utm_campaign=teams-post-to-channel-workflow) \ The incoming webhook connector is a popular method to post information to Teams channels, but Microsoft seems set on retiring the Office connectors. The Teams post to channel workflow when a webhook request is received seems like is a possible replacement, but it's not just a matter of switching mechanisms. Some PowerShell magic is needed to create a suitable adaptive card to post to the channel, which is exactly what we explain how to do here. - [Working with Calendar Permissions using the Microsoft Graph PowerShell SDK](https://office365itpros.com/2024/06/18/set-default-calendar-permission/?utm_source=rss&utm_medium=rss&utm_campaign=set-default-calendar-permission) \ The Set-MailboxFolderPermission cmdlet is usually used to set calendar permissions, including the permission for the default user to allow everyone in an organization to see each other’s calendars. But you can use cmdlets from the Microsoft Graph PowerShell SDK too. The Graph SDK cmdlets are faster, but not enough to warrant replacing the Exchange cmdlet in scripts. We explain why here. - [Automate Azure DevOps Work Item Updates with Azure Functions and the Azure DevOps API](https://www.thelazyadministrator.com/2024/06/18/automate-azure-devops-work-item-updates-with-azure-functions-and-the-azure-devops-api/) \ I use Azure DevOps Boards for agile project management, allowing me to plan, track, and discuss automation and DevOps tasks. I also create reporting dashboards from the data within the work items. One such metric I report on is how much time we save when implementing a new automation. - [How to check if an Azure Marketplace image is marked for deprecation](https://www.techielass.com/how-to-check-if-an-azure-marketplace-image-is-marked-for-deprecation/) \ How to check if an Azure Marketplace image is marked for deprecation. - [How to Add or Remove Pinned Folders to Quick Access with PowerShell and GPO](https://woshub.com/add-remove-pinned-folders-quick-access-powershell-gpo/) \ Windows File Explorer has a separate panel that displays a list of favorite folders and locations called Quick Access. Many users and administrators unjustly ignore this handy Windows tool - [How to Split a String by Length in PowerShell?](https://www.spguides.com/split-a-string-by-length-in-powershell/) \ When you need to split a string by a specific length, PowerShell offers various methods to do it. This PowerShell tutorial explains various methods to split a string by length in PowerShell To split a string by length in PowerShell, you can use a loop with the Substring method to iteratively extract parts of the string - [Using Measure-Command and Measure-Object in PowerShell](https://powershellisfun.com/2024/06/14/using-measure-command-and-measure-object-in-powershell/) \ Measuring is always a good idea for grasping things, such as how long it sometimes takes, how many objects there are in a specific directory, how much space something takes up on a hard drive, etc. In this blog post, I will show you how the Measure-Command and Measure-Object cmdlets work and how you can use them to your advantage. - [How to disable per-user MFA using Microsoft Graph PowerShell](https://ourcloudnetwork.com/how-to-disable-per-user-mfa-using-microsoft-graph-powershell/?utm_source=rss&utm_medium=rss&utm_campaign=how-to-disable-per-user-mfa-using-microsoft-graph-powershell) \ Learn how to use Microsoft Graph PowerShell to disable per-user MFA in Microsoft Entra to support migration to Conditional Access. ## Projects, Scripts, and Modules - [Version 1.9 of the Microsoft 365 Licensing Report](https://office365itpros.com/2024/06/20/microsoft-365-licensing-report-19/?utm_source=rss&utm_medium=rss&utm_campaign=microsoft-365-licensing-report-19) \ The Microsoft 365 Licensing Report is a popular PowerShell script that's just been updated to V1.9 with a bunch of changes to highlight different aspects such as license costs for disabled user accounts and inactive user accounts. Copious use of some very dubious color choices makes the HTML report created by the script look very nice (if you're color blind) and the new version can generate an Excel worksheet. - [PowerShellRun v0.7.0](https://github.com/mdgrs-mei/PowerShellRun) \ In PowerShellRun v0.7.0, you can now add script blocks and script files as entries. If you are managing many PowerShell scripts, PowerShellRun will help you create a TUI script launcher. ## Books, Media, and Learning Resources - [Monitor Your Network with PowerShell [OC]](https://www.youtube.com/watch?v=NsCWmYjP9F4) \ In this video you’ll see the full process I went through to create a script to monitor up and down times for my network. - [Managed Identity With PowerShell And Azure Automation Accounts](https://www.youtube.com/watch?v=HmpweJY0etA) \ Join me in creating an automation account and using managed identity to connect to Azure, ExchangeOnline and Graph in this practical powershell example where we'll discuss how to connect, how to add permissions to a service principal and also a little bonus tip on how to get an access token for graph using Az and managed identity with the Get-AzAccessToken cmdlet. ## Community - [Andrew Celebrates & Previews psconf.eu with Christian & Bjorn](https://powershellpodcast.podbean.com/e/andrew-celebrates-previews-psconfeu-with-christian-bjorn/) \ In this episode of the PowerShell Podcast, Andrew starts things off by celebrating his new Microsoft MVP. Then, we hear about all things psconf.eu and what to expect from Christian Ritter and Björn Sundling at PSConf EU. We hear some of the juicy details and key takeaways from their sessions. Then we get an update on some of their projects like PSClippy, AzDM, PSSecretScanner, and much more! Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

    11
    0
    powershell Powershell Monitor Your Network with PowerShell [OC]
    Jump
  • pwshguy pwshguy 3 months ago 100%

    Thanks! I'd love to hear your thoughts once you've watched it.

    1
  • powershell
    Powershell pwshguy 3 months ago 95%
    Monitor Your Network with PowerShell [OC] youtu.be

    I recently created a YouTube channel where I do deep dives into creating automations with PowerShell. Instead of just publishing the solutions I take you through the entire development process. In this video I go through creating an uptime monitor for multiple IP addresses that can ping each IP every minute. I go through the evolution of trying Test-NetConnection, then giving up and using dotnet objects for asynchronous execution. And finally, how to put that all together and get your results. This is only my fourth video, so any and all feedback on it is welcome.

    20
    5
    powershell Powershell PowerShell Weekly for June 14, 2024
    Jump
  • pwshguy pwshguy 3 months ago 100%

    Community

    • PipeScript, Formatting, and Docker: An In-Depth Conversation with James Brundage
      In this episode of the PowerShell Podcast, we are joined by Microsoft MVP, former PowerShell team member, and module maker extraordinaire James Brundage. We hear about his experience at Microsoft Build, learn all docker and kubernetes while discussing his Rocker module, UserGroup updates, implicit interpretation in Pipescript, formatting and types, and so much more. Strap in because we go deep in this one.
    • Breaking Down ModuleFast and More with Justin Grote
      In this episode of the PowerShell Podcast, host Andrew Pla interviews Microsoft MVP and PowerShell aficionado Justin Grote. They delve into an issue in the Az.Accounts 3.0.0 module, with Justin offering insights and a workaround (use an earlier version of the module). Justin also discusses his innovative ModuleFast project, explaining its architecture and his approach to writing PowerShell scripts and modules. The conversation highlights Justin's passion for APIs and celebrates his contributions as an official PowerShell project contributor. Listeners get a glimpse into Justin's workflow working at a Managed Service Provider (MSP) and how he writes to much PowerShell. He offers valuable advice for those early in their careers. Additionally, Justin shares updates on his PowerHTML (1.2m downloads) project, which originated from a GitHub pull request, showcasing his continuous contributions to the PowerShell community.
    • PowerShell Community Call - May 16th, 2024
      Last month's community call with the PowerShell team.
    2
  • powershell Powershell PowerShell Weekly for June 14, 2024
    Jump
  • pwshguy pwshguy 3 months ago 100%

    Books, Media, and Learning Resources

    2
  • powershell Powershell PowerShell Weekly for June 14, 2024
    Jump
  • pwshguy pwshguy 3 months ago 100%

    Projects, Scripts, and Modules

    • passwordstate-management v 4.4.49
      Powershell Module for managing Password State
    • PowerQualys v 0.3.0
      Helper module for Qualys
    • WinTuner v 0.8.9
      Package and publish any apps from WinGet to Intune.
    • Interpreting Audit Records for Teams Meeting Recordings (Again)
      Three years ago, I wrote a script to analyze the audit records generated for Teams meeting recordings. Then things changed in terms of how the audit records were generated and how the Search-UnifiedAuditLog cmdlet returns audit search results. All of which meant that considerable work was needed to revamp (rewrite) the script. Maybe you need to check any script that uses the Search-UnifiedAuditLog cmdlet too?
    • tiPS v 1.3.10
      PowerShell tips delivered straight to your terminal.
    2
  • powershell
    Powershell pwshguy 3 months ago 100%
    PowerShell Weekly for June 14, 2024

    Enjoy an extra large edition, since I was sick last week and wasn't able to post. ## Blogs, Articles, and Posts - [Use PowerShell to deploy and access GPT-4o in Azure OpenAI Service](https://4sysops.com/archives/use-powershell-to-deploy-and-access-gpt-4o-via-azure-openai-service/) \ The Azure OpenAI Service is a specialized offering within the broader set of Azure Cognitive Services, providing access to OpenAI's language models. The service can be accessed through REST APIs, Python SDK, and a web-based interface, Azure OpenAI Studio. In this article, you will learn how to deploy and access the GPT-4o model in Azure with PowerShell. - [Tracking Down User Logons with PowerShell and XPath](https://adamtheautomator.com/powershell-xpath-event-log/) \ When working with Windows event logs, especially the Security log, there might be instances where you need to extract specific information from events. - [How to Leverage Reusable PS Remoting Sessions in your Scripts](https://adamtheautomator.com/ps-remoting-session/) \ PS remoting lets you execute commands remotely. Learn how to create and manage persistent sessions in this short how-to covering creating and managing sessions. - [Microsoft 365: How to set OneDrive Quotas with PowerShell](https://sid-500.com/2024/06/04/microsoft-365-how-to-set-onedrive-quotas-with-powershell/) \ In this blog post I will show you how to set OneDrive quotas with PowerShell. I’d say here we go! First, let’s connect to SharePoint Online. - [Microsoft Purview Audit Search Graph API: Retrieve audit logs from Microsoft 365 with PowerShell](https://4sysops.com/archives/microsoft-purview-audit-search-graph-api-retrieve-audit-logs-from-microsoft-365-with-powershell/) \ Microsoft Purview integrates with Microsoft 365 applications such as Exchange, SharePoint, OneDrive, and Teams, providing comprehensive data governance, compliance, and protection capabilities across these platforms. One of the standout components of this suite is the Audit Search Graph API, which is currently in public preview. It allows developers and administrators retrieve detailed audit logs programmatically, providing deep insights into user activities across Microsoft services. In this blog, I will explore the full potential of the Microsoft Purview Audit Search Graph API and demonstrate how to use the API through both PowerShell and HTTP methods. - [Understanding the Clean block in PowerShell](https://mikefrobbins.com/2024/06/11/understanding-the-clean-block-in-powershell/) \ PowerShell, a powerful scripting language and automation framework, provides features that enhance script development and execution. Among these features is the clean block, a lesser-known yet beneficial component in PowerShell functions. This article explores the clean block, its purpose, and how to use it effectively in PowerShell scripts. - [To Splat or Not to Splat, That’s the Question](https://office365itpros.com/2024/06/12/splatting-powershell/?utm_source=rss&utm_medium=rss&utm_campaign=splatting-powershell) \ Splatting is an optional PowerShell technique designed to make it easier to pass parameter values for cmdlets. It’s a personal choice whether to use splatting instead of passing values to individual parameters in the command line. Although the Microsoft Graph PowerShell SDK can be a little strange at times, you can use splatting with SDK cmdlets, even with some pretty complex parameters such as those used to filter objects. - [Export Microsoft 365 License Cost Report Using PowerShell](https://o365reports.com/2024/06/12/export-microsoft-365-license-cost-report-using-powershell/?utm_source=rss&utm_medium=rss&utm_campaign=export-microsoft-365-license-cost-report-using-powershell) \ Microsoft 365 offers a vast array of plans and licenses, making it easy to find the perfect fit for your business needs. But with that flexibility comes complexity. Managing Microsoft 365 licenses and the cost spent on all those licenses can lead to confusion and can be a challenge. - [Get SharePoint Files & Folders Created by External Users Using PowerShell](https://o365reports.com/2024/06/11/get-sharepoint-files-folders-created-by-external-users-using-powershell/?utm_source=rss&utm_medium=rss&utm_campaign=get-sharepoint-files-folders-created-by-external-users-using-powershell) \ External collaboration in SharePoint Online is essential for certain projects and tasks that might involve users from external organizations. External sharing in SharePoint Online and the ability to grant them access to our resources simplifies communication and bridges the collaboration gaps. - [PowerShell Arrays](https://powershellisfun.com/2024/05/31/powershell-arrays/) \ You probably use it all the time in your scripts, but how do they work? In this blog post, I will show some simple examples of what you can do with them :) - [Experimenting with PowerShell Batching and Parallel Execution](https://practical365.com/powershell-parallel-processing/) \ PowerShell Parallel Processing is a mechanism to speed the processing of large quantities of data. In this example, we discuss how to use parallel batches to fetch Entra ID account information using mailbox data to drive information retrieval. Although this is only a demonstration of a technique, it might help those who must process thousands of mailboxes or accounts and would like to do so more quickly. Continued in the comments, due to size limits...

    14
    3
    powershell
    Powershell pwshguy 4 months ago 85%
    PowerShell Weekly for May 31, 2024

    ## Announcements! - [Celebrate the life of VBScript](https://oofhours.com/2024/05/25/celebrate-the-life-of-vbscript/) \ Microsoft announced more of the timeline for VBScript this past week: Windows 11 24H2 makes it a removable “feature on demand” (FOD), and sometime in 2027 is expected to be turned off - [v7.5.0-preview.3 Release of PowerShell](https://github.com/PowerShell/PowerShell/releases/tag/v7.5.0-preview.3) \ Come see what's new and upcoming in PowerShell 7.5 ## Blogs, Articles, and Posts - [PowerShell Tool-Building 101: Building a Computer Inventory Report](https://adamtheautomator.com/powershell-tools-csv-cim/) \ Join me on an exciting journey as we build a powerful PowerShell tool for generating computer inventory reports! From CSV files to CIM queries and error handling, we'll walk you through each step as we go. Let's script our way to success! - [Deploy Windows 11 with the free PowerShell framework OSDCloud](https://4sysops.com/archives/deploy-windows-11-with-osdcloud/) \ OSDCloud is a free PowerShell framework for deploying Windows 10 and Windows 11. The tool provides simple methods for adding drivers and configuring settings in an image. After booting from a customized WinPE, either the OSDCloudGUI or an automated script initiates the installation. - [Practical PowerShell Series: Part 4 Branching](https://practical365.com/practical-powershell-branching/) \ In my previous article in the Practical PowerShell series, I discussed looping as part of flow control. In this article, I cover another essential part of flow control: branching. Branching defines multiple paths for your code to follow, depending on conditions. - [Querying DNS Records with PowerShell](https://www.techielass.com/querying-dns-records-with-powershell/) \ In this blog post explore how you can use PowerShell to query DNS records. - [A simple PowerShell script template I use when creating new scripts](https://blog.danskingdom.com/A-simple-PowerShell-script-template-I-use-when-creating-new-scripts/) \ I spin up new PowerShell scripts all the time, whether just for quickly experimenting and testing things out, or for projects that I know will be around for a while. There’s a few basic things that I like all my scripts to have, so I’ve created a simple template that I use when creating new scripts. - [Working with Teams Messaging Using the Microsoft Graph PowerShell SDK](https://practical365.com/teams-messaging-powershell/) \ This article describes how to use the Microsoft Graph PowerShell SDK to interact with Teams messaging to create new one-to-one and group chats and post messages to chats and channel conversations. ## Projects, Scripts, and Modules - [DependencySearch v 1.1.7](https://www.powershellgallery.com/Packages/DependencySearch/1.1.7) \ Module contains functions that allows you to check for PowerShell code/script/module dependencies through static code analysis (AST). - [MSIdentityTools PowerShell Module 2.0.58 released](https://blog.icewolf.ch/archive/2024/05/26/msidentitytools-powershell-module-2-0-58-released/) \ Just a few Hours ago, Microsoft has released a new Version of MSIdentityTools PowerShell Module ## Books, Media, and Learning Resources - [PowerShell Scripting and Toolmaking](https://jdhitsolutions.com/blog/books/9389/powershell-scripting-and-toolmaking/?utm_source=rss&utm_medium=rss&utm_campaign=powershell-scripting-and-toolmaking) \ Several years ago Don Jones and I wrote what we hoped would be the definitive book on PowerShell scripting and toolmaking. The book takes all off our years of experience, not only from writing PowerShell code, to teaching and conference presentations where we hear first hand what people struggle with. - [Frontend PowerShell with Google Forms: Part 2 Replying with Gmail](https://www.youtube.com/watch?v=5gCtq6ZlwOs) \ [OC] Learn how to integrate Gmail into your scripts to send automated email responses. You’ll also learn how to make your automations more flexible by accounting for things like hitting grid limits in Google Sheets. ## Community - [Inside IT Automation | E04 | Erwin van Hunen talks about PnP PowerShell, MS Graph, music and more](https://www.youtube.com/watch?v=Th1KoKfNNWA) \ Erwin is the 'Father' of PnP PowerShell, an open source PowerShell module that is used millions of times everyday worldwide to perform automated tasks towards Office 365 and SharePoint. He is also a Microsoft MVP and well-known public speaker, and technology evangelist. As Chief Technolgy Officer he shapped products and services at Valo, Staffbase and Rencore. Currently he is Head of Product at MondayCoffee. - [PowerShell on Linux and Beyond with Steven Judd](https://powershellpodcast.podbean.com/e/powershell-on-linux-and-beyond-with-steven-judd/) \ In this celebration-themed episode of the PowerShell Podcast, Steven Judd makes his long-awaited return. We announce the first PowerShell Podcast MVP winner. We share tips about regex and URL encoding and dive deep into PowerShell on Linux, CloudShell, and becoming a lifelong learner. All this and more! ## Events - [DFWSMUG MMS Review and National Peanut Butter Cookie Day - June Meetup](https://mailchi.mp/f14a72aa9736/dfwsmug-mms-review-and-national-peanut-butter-cookie-day-june-meetup-5454789) \ June 12th 2024 at Microsoft MTC in Las Colinas. In-person only event. Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

    5
    0
    powershell
    Powershell pwshguy 4 months ago 100%
    PowerShell Weekly for May 24, 2024

    ## Blogs, Articles, and Posts - [Upload a PowerShell Script to Intune (With PowerShell) From Scratch](https://adamtheautomator.com/intune-powershell-script-upload/) \ Automate deploying PowerShell scripts to Intune devices with Azure app registration, Graph API, and more in this step-by-step tutorial. - [Remove store apps from a Windows image](https://4sysops.com/archives/remove-store-apps-from-a-windows-image/) \ In professional environments, most store apps delivered with Windows are of little value, prompting admins to remove them from the image before deployment. However, you should avoid indiscriminately deleting them, as some system-relevant apps may be among them. PowerShell can be used to remove the crapware selectively. - [Find the Teams Meetings Attended by a Specific User Using PowerShell](https://o365reports.com/2024/05/22/find-the-teams-meetings-attended-by-a-specific-user-using-powershell/?utm_source=rss&utm_medium=rss&utm_campaign=find-the-teams-meetings-attended-by-a-specific-user-using-powershell) \ Ever wondered how much time your team members spend in Teams meetings? Or perhaps you’re tasked with analyzing an individual’s meeting activity within Teams. Look no further! In this blog, we’ll explore the methods to obtain user-specific Teams meeting reports. Here, we’ll also introduce a crafted PowerShell script that simplifies the process… - [Parameters for PowerShell Scripts and Functions](https://powershellisfun.com/2024/05/17/parameters-for-powershell-scripts-and-functions/) \ Using parameters for your Scripts and Functions is very powerful. You don't have to hardcode things in them, making running them from a command line easier. This blog post will show you the parameters I use in most of my scripts and how they work. - [Use the Azure OpenAI GPT-4o (all-in-one-model) with PowerShell!](https://alexholmeset.blog/2024/05/22/use-the-azure-openai-gpt-4o-all-in-one-model-with-powershell/) \ On May 13th GPT-4o was released in preview in the Azure OpenAI Playground. No API access, only accessible in the browser. Today I was going into the playground to test something with the GPT-4o model, but could not find it. What had happened? Turnes out it suddenly was in GA and available to choose under … Continue reading Use the Azure OpenAI GPT-4o (all-in-one-model) with PowerShell! - [Automating PowerShell tasks with Container App Jobs](https://www.jannemattila.com/azure/2024/05/20/automating-powershell-tasks-with-container-apps.html) \ I previously wrote about Automating maintenance tasks with Azure Functions and PowerShell. That combo has been my go-to solution for many automation tasks. - [A Powershell GUI using DotNet Windows.Forms to start AWS Lambda Functions and display their output](https://gist.github.com/aeveltstra/94806a1230b8165f43e9b4e4dec9bacc#file-powershell-gui-aws-lambda-start-functions-ps1) \ A Powershell GUI using DotNet Windows.Forms to start AWS Lambda Functions and display their output - powershell-gui-aws-lambda-start-functions.ps1 ## Projects, Scripts, and Modules - [WinGet.CommandNotFound](https://devblogs.microsoft.com/commandline/winget-commandnotfound/) \ We are pleased to announce the release of WinGet.CommandNotFound! This PowerShell module is a feedback provider plugin for PowerShell that leverages the Windows Package Manager to provide suggestions for packages to install when a native command cannot be found. The command-line predictor feature in PowerShell enables this module to display WinGet packages as predictive suggestions. - [Keep Microsoft Teams status Available instead of away using PowerShell](https://powershellisfun.com/2024/05/23/keep-microsoft-teams-status-available-instead-of-away-using-powershell/) \ It is one of the things I hear my colleagues, and even my girlfriend, mention regularly... Why does Microsoft Teams think I'm away while I'm not / My PC isn't locked yet... I read a few solutions, setting your status duration to a date in the future, etc... Didn't work :( What does work is running my simple PowerShell scripts, which I will show you in this blog post :) - [ps-arch-wsl v 0.1.1](https://www.powershellgallery.com/Packages/ps-arch-wsl/0.1.1) \ Install Arch Linux on Windows the easy way. - [Posh-ACME v 4.23.1](https://www.powershellgallery.com/Packages/Posh-ACME/4.23.1) \ ACME protocol client for obtaining certificates using Let's Encrypt (or other ACME compliant CA) - [dbatools.ai v 1.0](https://www.powershellgallery.com/Packages/dbatools.ai/1.0) \ dbatools.ai is a copilot for SQL Server databases ## Books, Media, and Learning Resources - [Frontend PowerShell with Google Forms: Part 1 Getting your data](https://www.youtube.com/watch?v=ZqAShden9qA) \ [OC] Learn how to get data from a Google Form into PowerShell, by building a repeatable and reusable automation you can use to with any form. - [The PowerShell Practice Primer](https://leanpub.com/psprimer) \ A collection of over 100 PowerShell learning exercises targeted for beginners developed by PowerShell MVP and veteran teacher Jeff Hicks. ## Community - [PowerShell on the road at MMS-MOA with Sven De Groote and Chris Thomas](https://powershellpodcast.podbean.com/e/powershell-on-the-road-at-mms-moa-with-sven-de-groote-and-chris-thomas/) \ On this episode of the PowerShell Podcast, Andrew is back on the road, attending the MMS 2024 at MOA conference. Andrew catches up with Sven De Groote and Chris Thomas. Andrew and Sven take a dive into the PSAppDeployToolkit. Later in the episode, Andrew and Chris chat about PSADT, Chris’ PowerShell journey, his talk at MMS-MOA, and more. Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

    3
    0
    powershell Powershell PowerShell Weekly for May 17, 2024
    Jump
  • pwshguy pwshguy 4 months ago 100%

    Thanks! I'm glad to hear you are finding it useful.

    1
  • powershell
    Powershell pwshguy 4 months ago 91%
    PowerShell Weekly for May 17, 2024

    ## Announcements! - [PowerShell + DevOps Global Summit 2024](https://www.youtube.com/watch?v=e4S7zeeMUOE&list=PLfeA8kIs7CoftSa3hQ9dQseIxdSMBZO_z) \ Come check out all of the recorded sessions from this years summit. ## Blogs, Articles, and Posts - [PowerShell Testing Mastery with Data-Driven Pester](https://adamtheautomator.com/pester-infrastructure-data-driven-tests/) \ I’ve been using Pester for a long time off and on. I’ve always been obsessed with ensuring reliability in my PowerShell code. After writing the Pester Book and mentioning some of the methodologies I used with Pester v4 I’ll present in this blog post, I’ve since learned Pester v5 makes my work so much easier. - [PowerShell Basics: Navigating CSV Files](https://adamtheautomator.com/powershell-basics-navigating-csv-files/) \ In this tutorial, we're diving into the essentials of handling CSV files using PowerShell, covering a variety of scenarios you might encounter in the real world. This guide will help sysadmins and IT professionals manage data effectively, demonstrating the power and flexibility of PowerShell in working with different types of CSV files. - [Hyper-V: Enabling VM Resource Metering](https://sid-500.com/2024/05/14/hyper-v-enabling-vm-resource-metering/) \ It is a good idea to monitor your Hyper-V VMs to get an overview of where resources are being consumed. - [Check Windows 11 Hardware Readiness with PowerShell Script](https://woshub.com/check-windows-11-hardware-readiness-powershell/) \ In this article, we’ll look at how to use the official Microsoft HardwareReadiness.ps1 PowerShell script to perform a bulk Windows 11 hardware compatibility check on domain computers. - [Deprecated PowerShell Modules and Azure AD Graph retirement](https://powershellisfun.com/2024/05/10/deprecated-powershell-modules-and-azure-ad-graph-retirement/) \ You created a script or function a while back that people in the company use a lot, and suddenly... They come to you telling you that it doesn't work anymore. :( The module you used has become deprecated, cmdlets don't all work anymore, etc. In this blog post, I will show the three most prominent modules that have become deprecated and where you can find good information about the successor to adjust your scripts. - [Configure ‘Allow logon locally’ automatically using PowerShell and Microsoft Intune](https://www.imab.dk/configure-allow-logon-locally-automatically-using-powershell-and-microsoft-intune/) \ I know Microsoft Intune has the ability to configure this particular user rights assignment natively already. At time of writing, the new security baseline for Windows 11 23H2 in Intune configure this as well, restricting local logons to the built-in groups: Users and Administrators. This solution does something else. This solution grabs the currently logged on user and configures the ‘Allow logon locally‘ policy to ONLY allow this very user as well as Administrators to be able to log on locally. ## Projects, Scripts, and Modules - [Detecting Windows Terminal with PowerShell](https://mikefrobbins.com/2024/05/16/detecting-windows-terminal-with-powershell/) \ In the evolving landscape of software development and system administration, understanding your environment is essential for ensuring that scripts and commands run as expected. One useful PowerShell function that helps identify whether a script is running within Windows Terminal is my Test-IsWindowsTerminal function. This function is valuable for developers and system administrators who must tailor their scripts based on the terminal environment. - [PowerShell Script to Check Active Directory Member Servers for Automatic Services’ Status](https://techbloggingfool.com/2024/05/13/powershell-script-to-check-active-directory-member-servers-for-automatic-services-status/) \ I’ve been caught by an automatic service not starting after system reboots from things like patching. - [Find your IPv4 and IPv6 addresses](https://yobyot.com/cloud/find-your-ipv4-and-ipv6-addresses/2024/05/16/) \ A PowerShell function to display the current IPv4 and IPv6 addresses of the machine. Useful to include in $PROFILE ## Community - [For the love of PowerShell and Curling with Frank Lesniak](https://powershellpodcast.podbean.com/e/for-the-love-of-powershell-and-curling-with-frank-lesniak/) \ In this special MMSMOA episode of the PowerShell Podcast, Andrew is joined by Frank Lesniak. We touch base after PowerShell Summit, hear about tracking airplanes with ADS-B and raspberry pi's. Frank talks about classes and how they almost caused him to fall out of love with PowerShell. We also recount what most be the most brutal display of athleticism, curling. Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

    10
    2
    powershell
    Powershell pwshguy 4 months ago 84%
    PowerShell Weekly for May 10, 2024

    ## Announcements! - [Windows Terminal Preview 1.21 Release](https://devblogs.microsoft.com/commandline/windows-terminal-preview-1-21-release/) \ Windows Terminal is back with another preview release! Windows Terminal Preview 1.21 introduces long-awaited features like Buffer Restore and fontfall back as well as new experimental features like Scratchpad and the ability to load up an image as a texture. There’s also a LOT MORE stuff so check out the rest of this blog post to learn more! ## Blogs, Articles, and Posts - [Upload a file to Connectwise and Attach it to a Service Ticket with PowerShell](https://www.thelazyadministrator.com/2024/05/09/upload-a-file-to-connectwise-and-attach-it-to-a-service-ticket-with-powershell/) \ I have recently been automating a lot within Connectwise PSA. One of the items I set out to do is to upload a file and attach it to a service ticket. This led me to the following article, but after doing some testing, I found that some file types were not properly rendering on the Connectwise side, making me believe there was something wrong with the encoding. - [More Microsoft Graph PowerShell SDK Problems](https://office365itpros.com/2024/05/06/microsoft-graph-powershell-sdk-217/?utm_source=rss&utm_medium=rss&utm_campaign=microsoft-graph-powershell-sdk-217) \ Some problems emerged in V2.17 and V2.18 of the Microsoft Graph PowerShell SDK. In one case, Microsoft changed cmdlet names. In another, it's an identity issue caused by incompatible assemblies. In both cases, questions have to be asked about the level of testing done by Microsoft before they release a new module. Bugs do happen, but testing should catch the obvious problems. - [Using $using in PowerShell for local variables in remote sessions](https://powershellisfun.com/2024/05/03/using-using-in-powershell-for-local-variables-in-remote-sessions/) \ When running scripts that connect to remote systems using Invoke-Command, you can use your local variables in the remote session which makes things a lot easier. In this blog post, I will show you how :) - [Read, Modify, and Parse JSON File (Object) with PowerShell](https://woshub.com/powershell-read-modify-json-object/) \ JSON is a popular text-based format for representing and transmitting structured data based on JavaScript object syntax. There are two cmdlets in PowerShell that allow you to work with the… - [Report SharePoint Online Files Using the Microsoft Graph PowerShell SDK](https://practical365.com/sharepoint-online-files-report/) \ This article describes creating a SharePoint Online files report using the Microsoft Graph PowerShell SDK. While keeping digital debris online might have been unimportant in the past, it's something that can wreak havoc in the era of generative AI when tools like Copilot for Microsoft 365 are happy to consume obsolete and inaccurate material. - [Get-FileHash of 100G files](https://www.reddit.com/r/PowerShell/comments/1cni318/getfilehash_of_100g_files/) \ An interesting thread on reading file hashes. - [Finding the specific day of the month with PowerShell](https://claytonerrington.com/blog/finding-specific-day-of-the-month/) \ Advanced usage of PowerShell's Get-Date function for finding dates ## Projects, Scripts, and Modules - [Microsoft 365 Tenant-to-Tenant Migration Assessment Version 2](https://practical365.com/microsoft-365-tenant-to-tenant-migration-assessment-version-2/) \ In this blog, Sean Mcavinue reviews an update to his original Tenant-to-Tenant Migration Assessment, which is designed to gather key data to consider during the migration planning process. - [Maester v 0.0.127](https://www.powershellgallery.com/Packages/Maester/0.0.127) \ Pester based test automation framework to monitor your Microsoft 365 security configuration. - [AutomateNOW v 1.0.18](https://www.powershellgallery.com/Packages/AutomateNOW/1.0.18) \ Interact with the API of an AutomateNOW! instance ## Books, Media, and Learning Resources - [Pick Up The PowerShell Practice Primer](https://jdhitsolutions.com/blog/books/9352/pick-up-powershell-practice-primer/) \ I've updated The PowerShell Practice Primer with even more PowerShell 7 content. Now over 120 challenges to test your skill and knowledge. ## Community - [PowerShell Perspectives: Ryan Lancial on Company Culture and Authentic Careers](https://powershellpodcast.podbean.com/e/powershell-perspectives-ryan-lancial-on-company-culture-and-authentic-careers/) \ In this episode of the PowerShell Podcast, I'm joined by Ryan Lancial - Security Engineer at Red Canary. We talk about our shared history, his journey to security, what makes a good company culture, succeeding with no degree, the value of authenticity, and more! ## Fun - [PixelPoSH](https://github.com/dabeastnet/PixelPoSH) \ PixelPoSH is a PowerShell module that generates customizable graphical backgrounds using System.Drawing in .NET. This tool allows users to create images with various graphical patterns like bubbles, concentric circles, stripes, and squares. It's perfect for quickly generating backgrounds for desktops, websites, or any project that could use a splash of color and creativity. Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

    9
    0
    powershell Powershell PowerShell Weekly for May 3, 2024
    Jump
  • pwshguy pwshguy 4 months ago 100%

    Thanks! I'm glad to hear others are finding it useful.

    2
  • powershell
    Powershell pwshguy 5 months ago 81%
    PowerShell Weekly for May 3, 2024

    ## Blogs, Articles, and Posts - [Encrypting secrets locally](https://devblogs.microsoft.com/powershell-community/encrypting-secrets-locally/) \ Keeping security folks happy (or less upset which is the best we can hope for) - [Partition Windows drive in WinPE using PowerShell](https://4sysops.com/archives/partition-windows-drive-in-winpe-using-powershell/) \ An essential step towards automating the Windows setup process is replacing the system drive's interactive partitioning with a script. Microsoft's examples for this purpose rely on batch files and Diskpart. However, installing PowerShell in Windows PE allows for a much more elegant solution. - [Your Go-To PowerShell Template for HTTP-Triggered Azure Functions](https://adamtheautomator.com/powershell-azure-function-template/) \ Struggling with messy Azure Functions PowerShell code? Learn how to adapt your scripts for serverless, validate HTTP parameters, throw descriptive errors, and bind PowerShell output to HTTP responses for robust web-friendly functions. - [Removing Outlook Add-ins From Mailboxes with PowerShell](https://office365itpros.com/2024/05/02/share-to-teams-disable/?utm_source=rss&utm_medium=rss&utm_campaign=share-to-teams-disable) \ The Share to Teams Outlook add-in posts an email to a Teams chat or channel conversation. I was asked how to disable the add-in for some mailboxes. Here's how to do the job using PowerShell to find a set of target mailboxes and then turn off Send to Teams for each mailbox. - [New PowerShell Command Parameters in ConfigMgr 2403](https://www.deploymentresearch.com/new-powershell-parameters-in-configmgr-2403/) \ Here is a list of the Configuration Manager (SCCM) PowerShell module changes in version 2403. So far only the Save-CMSoftwareUpdate changes has been documented, but I have found a few more changes when poking around in the 2403 PowerShell module. Here is a list of the Configuration Manager (SCCM) PowerShell module changes in version 2403. - [The only PowerShell Command you will ever need to find out who did what in Active Directory](https://evotec.pl/the-only-powershell-command-you-will-ever-need-to-find-out-who-did-what-in-active-directory/) \ While the title of this blog may be a bit exaggeration, the command I'm trying to show here does it's best to deliver on the promise. What you're about to witness here is something I've worked on for a while now, and it meets my basic needs. If you don't have SIEM product or products that monitor who does what in Active Directory this command makes it very easy, even for people who don't have much experience in reading Event Logs. If you'd like to learn about working with Windows Event Logs here's a great article I wrote recently - PowerShell - Everything you wanted to know about Event Logs and then some. - [PowerShell: the object-oriented shell you didn’t know you needed](https://chriswarrick.com/blog/2024/04/29/powershell-the-object-oriented-shell-you-didnt-know-you-needed/) \ PowerShell is an interactive shell and scripting language from Microsoft. It’s object-oriented — and that’s not just a buzzword, that’s a big difference to how the standard Unix shells work. And it is actually usable as an interactive shell. ## Projects, Scripts, and Modules - [Report on Non-Compliant Intune devices](https://powershellisfun.com/2024/04/26/report-on-non-compliant-intune-devices/) \ I received a question on the Microsoft Tech Community forum regarding creating a report about non-compliant Intune devices. The report should give insight into what device has what issue with which setting; the person asking the question was already working on a Microsoft Graph script but couldn't find a suitable way. In this blog post, I will show how to create this report. There are other scripts out there, but I always like a challenge (And Microsoft Graph can be quite a challenge sometimes ;) ) - [PSMake](https://github.com/38es/psmake) \ PSMake is an all-in-one project management and lifecycle toolset for PowerShell. - [365Automatedlab V2.10.1 Released!](https://clatent.com/2024/04/365automatedlab-v2-10-0-released/) \ I know I said every 2 weeks, but I lied. I wanted to get this out! It is now possible to add a manager when creating a new user. Also added a feature so that when you use the parameter -UseDevelope… ## Books, Media, and Learning Resources - [Pick Up The PowerShell Practice Primer](https://jdhitsolutions.com/blog/books/9352/pick-up-powershell-practice-primer/?utm_source=rss&utm_medium=rss&utm_campaign=pick-up-powershell-practice-primer) \ A number of years ago, I published book on Leanpub, designed to help you teach yourself PowerShell. After you get through the first Month of Lunches book, what do you do next? The best way to learn PowerShell is to do it. But it might be challending trying to figure out what to do. I... - [Practical PowerShell: Flow Control](https://practical365.com/practical-powershell-flow-control/) \ “Control, Control, You Must Learn Control.” I rarely quote Yoda’s wisdom in articles, but this is an exception. After discussing advanced functions in the second Practical PowerShell article, the other important scripting skill to master is using the flow control cmdlets. These cmdlets are not just theoretical concepts; they are practical assets that can significantly enhance your PowerShell scripts. ## Community - [The PowerShell & Global DevOps Summit 2024 Bar session 4](https://powershellpodcast.podbean.com/e/powershell-global-devops-summit-2024-bar-session-4/) \ In this episode, we have 2 interviews: Danny Stutz and Carrie Cargil. We start things off chatting with Danny and hearing about his first time speaking at Summit and how his career has gone. He shares some of his keys to success and he is someone to keep your eye out for. - [Inside IT Automation E03](https://www.youtube.com/watch?v=Q-yJrlWTXr4) \ Matthew Dowst talks about PowerShell, Python, writing books and more Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

    7
    2
    powershell
    Powershell pwshguy 5 months ago 100%
    PowerShell Weekly for April 26, 2024

    ## Blogs, Articles, and Posts - [Removing Licenses from Entra ID Accounts When a Replacement License Exists](https://office365itpros.com/2024/04/19/license-management-switch/?utm_source=rss&utm_medium=rss&utm_campaign=license-management-switch) \ License management is a core competence for Microsoft 365 tenant administrators. This article explains how to use PowerShell to remove licenses from accounts when an equivalent service plan is available from another license. It's the kind of fix-up operation that tenant administrators need to do on an ongoing basis. - [Sending Urgent Teams Chats with PowerShell](https://office365itpros.com/2024/04/24/teams-urgent-message-ps/?utm_source=rss&utm_medium=rss&utm_campaign=teams-urgent-message-ps) \ A reader asked if it is possible to script sending chat messages. In this article, we explore how to compose and send Teams urgent messages to a set of recipients using Microsoft Graph PowerShell SDK cmdlets. The conversation with each recipient is a one-to-one chat that Teams either creates from scratch or reuses (if a suitable one-on-one chat exists). - [Azure AD: How to set Maximum Devices per User](https://sid-500.com/2024/04/23/azure-ad-how-to-set-maximum-devices-per-user/) \ The default value of the maximum number of devices per user in Azure AD is 50 devices. That is a lot. If you want to restrict the number of devices then you came to the right place. - [Configuring NTFS Permissions using PowerShell](https://www.deploymentresearch.com/configuring-ntfs-permissions-using-powershell/) \ Here are some quick examples on configuring NTFS permissions using PowerShell. The first example is using the takeown.exe and icacls.exe commands driven by PowerShell, and the second example is using the takeown.exe and native Get-Acl and Set-Acl PowerShell cmdlets. Credits: Thanks to Gary Blok for showing me the Get-Acl and Set-Acl PowerShell cmdlets. - [How to Automatically Update Apps in Intune with Dynamic Win32 App Deployment  ](https://msendpointmgr.com/2024/04/21/how-to-automatically-update-apps-in-intune-with-dynamic-win32-app-deployment/) \ Greetings, fellow IT admins! Repackaging setup files and editing your Win32 app again can be tedious and time-consuming. Thankfully, I bring you good news! There is a way to deploy a Win32 app and have it always install the latest version of the app on the computer. - [How to Read Outlook Emails with PowerShell](https://woshub.com/read-outlook-email-powershell/) \ Let’s look at how to open, read, and parse emails in a connected Outlook mailbox from within a PowerShell script. Outlook MAPI allows you to directly access the mailbox, list… - [Azure DevOps Workload Identity & Terraform Authentication](https://jeffbrown.tech/terraform-workload-identity-azure-devops/?utm_source=rss&utm_medium=rss&utm_campaign=terraform-workload-identity-azure-devops) \ Azure DevOps supports Workload Identity federation (powered by OpenID Connect) to authenticate to Azure and Azure DevOps from your pipelines for deploying Terraform configurations. Workload Identity federation To follow along with this tutorial, you will need: To follow along with more code examples, check out this GitHub repository:JeffBrownTech/azure-devops-terraform-oidc-examples What is Workload Identity federation? - [The secret to PowerShell remoting over ssh](https://yobyot.com/cloud/the-secret-to-ssh-powershell-remoting/2024/04/23/) \ The magic line of configuration to enable PowerShell remoting over ssh. ## Projects, Scripts, and Modules - [Using .NET With PowerShell](https://xkln.net/blog/using-net-with-powershell/) \ This goal of this post is to explore some .NET classes that may be useful to sysadmins and PowerShell devs without .NET (C#, etc.) experience, with a bit of a deeper dive into some concepts when warranted. - [tiPS v 1.3.3](https://www.powershellgallery.com/Packages/tiPS/1.3.3) \ PowerShell tips delivered straight to your terminal. Now with author name for those who submit their own tips. ## Books, Media, and Learning Resources - [PowerShell Pro Tips: TUIs and Out-ConsoleGridView](https://www.youtube.com/watch?v=K95ovoMh170) \ Want to add interfaces to your tools, all within the terminal where you are already running PowerShell? We'll learn about Microsoft.PowerShell.ConsoleGuiTools and learn how to make use of the Out-ConsoleGridView command to get you started on your TUI journey. - [Build Beautiful Docs using PlatyPS and MKDocs with Josh Hendricks](https://www.youtube.com/watch?v=svqPt3jEPyY) \ Join Josh Hendricks for a look at how to build functional AND beautiful documentation from your existing code with PlatyPS. ## Community - [The PowerShell and DevOps Global Summit 2024 Bar session 3](https://powershellpodcast.podbean.com/e/the-powershell-and-devops-global-summit-2024-bar-session-3/) \ In this episode of the PowerShell Podcast, we continue with our "bar sessions" from the PowerShell and DevOps Global Summit. We gain interesting insights into PowerShell, the Summit, career, and more. Our guests include Chris Masters, Joe Gasper, Rob Derickson, Chris Nguyen, Fred Weinmann, Merill Fernando, Clayton Tyger, Mike F. Robbins, Sean Wheeler, Prasidh Arora, and Danny Maertens. ## Events - [Community Lightning Demos (featuring You!)](https://www.meetup.com/research-triangle-powershell-users-group/events/300501133/) \ Join us for an exciting community event where members can showcase their own code through short 5-10 minute demos. And be sure to submit your own demos. Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

    3
    0
    powershell
    Powershell pwshguy 5 months ago 100%
    PowerShell Weekly for April 19, 2024

    ## Blogs, Articles, and Posts - [MarkdownToHtml Documentation ](https://wethat.github.io/MarkdownToHtml/) \ Create static websites from Markdown sources with PowerShell fast and easy. - [Cloud operations for Windows Server through Azure Arc](https://www.thomasmaurer.ch/2024/04/cloud-operations-for-windows-server-through-azure-arc/) \ Running Windows Server on-premises or at the edge? Learn how you can leverage Azure management solutions for cloud operations for Windows Server through Azure Arc. - [Removing Licenses from Entra ID Accounts When a Replacement License Exists](https://office365itpros.com/2024/04/19/license-management-switch/?utm_source=rss&utm_medium=rss&utm_campaign=license-management-switch) \ License management is a core competence for Microsoft 365 tenant administrators. This article explains how to use PowerShell to remove licenses from accounts when an equivalent service plan is available from another license. It's the kind of fix-up operation that tenant administrators need to do on an ongoing basis. - [Restrict User Access to Azure AD PowerShell and MS Graph Explorer](https://o365reports.com/2024/04/16/restrict-user-access-to-azure-ad-powershell-and-ms-graph-explorer/?utm_source=rss&utm_medium=rss&utm_campaign=restrict-user-access-to-azure-ad-powershell-and-ms-graph-explorer) \ We all know that any user in Microsoft Entra ID can read the users’ details and directory information using Entra ID portal, PowerShell, and Graph API Explorer. Although restricted from making changes, non-admins can still explore user information, group details, device details, etc. - [Report from which PowerShell module the cmdlets are from](https://powershellisfun.com/2024/04/18/report-from-which-powershell-module-the-cmdlets-are-from/) \ We all encountered this: you get a script or function that uses a certain cmdlet... And it fails because the cmdlet is not recognized :( But which module should you install to get the script working? Or does your script install or import all the required modules? In this blog post, I will show you how to check from which module(s) the cmdlet(s) originate and if they are present on your system or if you should install them. ## Projects, Scripts, and Modules - [AzOps v 2.6.2](https://www.powershellgallery.com/Packages/AzOps/2.6.2) \ Integrated CI/CD Solution for Microsoft Azure. - [Okta.PowerShell v 1.0.1](https://www.powershellgallery.com/Packages/Okta.PowerShell/1.0.1) \ Okta.PowerShell - the PowerShell module for Okta Management - [Active Directory Replication Summary to your Email or Microsoft Teams](https://evotec.xyz/active-directory-replication-summary-to-your-email/) \ Active Directory replication is a critical process that ensures the consistent and up-to-date state of directory information across all domain controllers in a domain. Monitoring this process is important as it helps identify any issues that may arise and resolve them quickly. One way to monitor Active Directory replication is by using the Repadmin command-line tool. Repadmin provides a wealth of information about the replication status and health of a domain. However, manually checking the Repadmin output can be time-consuming and tedious, and running it manually every 30 minutes just to check if everything is great doesn't seem like a great idea. While PowerShell has its own commands around replication I've not found something as fast and reliable as repadmin /replsummary. - [PowerShell Script – KB5025885: How to manage the Windows Boot Manager revocations for Secure Boot changes associated with CVE-2023-24932](https://garytown.com/powershell-script-kb5025885-how-to-manage-the-windows-boot-manager-revocations-for-secure-boot-changes-associated-with-cve-2023-24932) \ Required Reading: KB5025885: How to manage the Windows Boot Manager revocations for Secure Boot changes associated with CVE-2023-24932 – Microsoft Support Related: Words of Warning Once you’ve applied the mitigations outlined in the KB, the device is difficult to work with when it comes to boot media / reimaging. - [2.9.0 Released and Big Update](https://clatent.com/2024/04/2-9-0-released-and-big-update/) \ I know it’s been a month, all good though! I think I may start doing monthly release, what are your thoughts? I was going to do every 2 weeks, but not sure if that is too quick. Big update as I’m s… ## Community - [PowerShell + DevOps Global Summit 2024 reflections](https://blog.danskingdom.com/PowerShell-DevOps-Global-Summit-2024-reflections/) \ I’m sitting in the airport waiting for my return flight after what has been an awesome week at the PowerShell + DevOps Global Summit 2024, North American edition in Bellevue, Washington. There’s a whirlwind of things going through my mind, so I thought I would try and capture some of them here. - [The PowerShell & DevOps Global Summit 2024 Bar Session 2](https://powershellpodcast.podbean.com/e/the-powershell-devops-global-summit-2024-bar-session-2/) \ In this special episode of the PowerShell Podcast, we chat with people at the PowerShell Summit. It's PowerShell after dark, the bar sessions. We talk about the OnRamp program, its scholarship program, and more. Then, we chat with Ambre Herron, Austin Hollett, Cory Knox, Ryan Richter, Vanda Paladino, and Tyson O'keefe. - [The Practical 365 Podcast S4 E17](https://eightwone.com/2024/04/12/the-practical-365-podcast-s4-e17/) \ It took a little over 6 and a half years since the last episode of The UC Architects podcast, but I was finally reunited with Steve Goodman. This time it was to join him and Paul Robichaux to record an episode of the Practical 365 podcast, and talk about the new Practical PowerShell series on Practical365.com. - [PowerShell Community Heros – PowerShell.org](https://powershell.org/powershell-community-heros/) \ The DevOps Collective has decided to establish a set of three awards to recognize and honor the contributions of community members who have gone above and beyond in their efforts to support and promote the PowerShell community. The awards will be presented at the annual PowerShell + DevOps Global Summit. It is hoped that these awards will motivate and inspire members of the PowerShell community. Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

    2
    0
    security Security PuTTY vulnerability vuln-p521-bias
    Jump
  • pwshguy pwshguy 5 months ago 100%

    If I understand correctly, the signatures generated by PuTTY aren’t perfectly random, so if someone got a hold of a bunch of keys from a server, they could figure out the pattern. It takes about 60 keys. This affects not just PuTTY, but also FileZilla, WinSCP, TortoiseGit, and TortoiseSVN.

    In other words if you have NIST P-521 keys, or any others using 521-bit ECDSA, you should revoke them and generate new key pairs. After you update your software.

    1
  • powershell
    Powershell pwshguy 5 months ago 100%
    PowerShell Weekly for April 12, 2024

    ## Blogs, Articles, and Posts - [How to Retrieve Loop Workspaces Data with PowerShell](https://office365itpros.com/2024/04/08/loop-workspaces-report-ps/?utm_source=rss&utm_medium=rss&utm_campaign=loop-workspaces-report-ps) \ A previous attempt to write a script to report all Loop workspaces in a tenant was flawed because it only retrieved the first 200 workspaces. I hadn't realized that the Get-SPOContainer cmdlet supported an odd form of pagination to retrieve workspace data. In any case, I figured out how to page top find all available workspaces and updated the script. It's just another example of oddness in the SharePoint Online PowerShell module - [Modifying the Teams Tenant Federation Configuration with PowerShell](https://office365itpros.com/2024/04/09/tenant-federation-configuration/?utm_source=rss&utm_medium=rss&utm_campaign=tenant-federation-configuration) \ A new parameter for the Set-CsTenantFederationConfiguration cmdlet made me look at the Teams tenant federation configuration again to improve how a script works. Instead of taking all the domains guest accounts came from and adding them to the configuration, I created a function to check if the tenant uses Microsoft 365. If it does, we add the tenant to the allow list in the tenant federation configuration. If not, we ignore the domain. - [Automate on-premises Windows Server from the cloud using Azure Arc](https://www.thomasmaurer.ch/2024/04/automate-on-premises-windows-server-from-the-cloud-using-azure-arc/) \ Running Windows Server on-premises or at the edge? Learn how you can leverage Azure automation, PowerShell, Windows commands, and Azure management solutions for Windows Server on-premises. At the Windows Server Summit 2024, I had the chance to deliver a session with Ryan Willis Product Manager for Azure Arc and we went through different automation options … - [PowerShell: Waiting for jobs to complete with Wait-Job](https://sid-500.com/2024/04/09/powershell-waiting-for-jobs-to-complete-with-wait-job/) \ The cmdlet Wait-Job waits until one or all of the PowerShell jobs running in the session are in a terminating state. In this blog post I will show you an example - [PowerShell data/reference types for variables](https://powershellisfun.com/2024/04/11/powershell-data-reference-types-for-varriables/) \ When you store data in a variable, PowerShell can store it how you want it to be if you use the correct data type. This blog post will show you how that works and which data types I mostly use for my scripts. ## Projects, Scripts, and Modules - [PowerShellRun](https://github.com/mdgrs-mei/PowerShellRun) \ PowerShellRun is a PowerShell module that lets you fuzzy search applications, utilities and functions you define and launch them with ease. It is a customizable launcher app on the PowerShell terminal. - [Rocker v 0.1.1](https://www.powershellgallery.com/Packages/Rocker/0.1.1) \ Rock Docker with PowerShell - [PSPlex v 1.0.16](https://www.powershellgallery.com/Packages/PSPlex/1.0.16) \ A PowerShell module to aid Plex server management. - [TheDashboard v 0.0.24](https://www.powershellgallery.com/Packages/TheDashboard/0.0.24) \ TheDashboard is a module that allows you to create a dashboard for your HTML reports ## Community - [From Blogging to DevOps with Jeff Brown Tech](https://powershellpodcast.podbean.com/e/from-blogging-to-devops-with-jeff-brown-tech/) \ In this episode of the PowerShell Podcast, we are thrilled to host Jeff Brown, a seasoned educator and PowerShell enthusiast. Jeff takes us on a journey spanning nearly two decades of his prolific blog writing, revealing how it shaped his career trajectory. Delving into the importance of certifications, Jeff emphasizes their role as a structured pathway for acquiring new skills and advancing in the tech industry. We explore Jeff's transition from Azure Engineer to the dynamic realm of DevOps, uncovering valuable insights along the way. Join us as Jeff shares his wealth of experience, offering invaluable advice and perspectives for aspiring IT professionals and seasoned experts alike. - [The PowerShell & DevOps Global Summit 2024 Bar Session 1](https://powershellpodcast.podbean.com/e/the-powershell-devops-global-summit-2024-bar-session-1/) \ In this special episode of the PowerShell Podcast, we chat with people at the PowerShell Summit. James Petty gives us a preview of the week ahead at PowerShell Summit. We also talk about the OnRamp program, its scholarship program, and more. Then, we chat with Ben Reader, Frank Lesniack, James Ruskin, Kevin Cefalu, and Steve Bucher. ## Fun - [Spice up your day with dad jokes whenever you open PowerShell!](https://www.reddit.com/r/PowerShell/comments/1bzvf8d/spice_up_your_day_with_dad_jokes_whenever_you/) \ Because who doesn't love a good dad joke? - [Windows+~ key combo opens Powershell](https://www.reddit.com/r/PowerShell/comments/1c0ict2/windows_key_combo_opens_powershell/) \ I tested in Windows 11 and it does work! Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

    5
    0
    powershell
    Powershell pwshguy 6 months ago 100%
    PowerShell Weekly for April 5, 2024

    ## Announcements! - [PSResourceGet support for Azure Container Registry (ACR) is in Preview](https://devblogs.microsoft.com/powershell/psresourceget-support-for-azure-container-registry-acr-is-in-preview/) \ PSResourceGet 1.1 preview 1 is available ## Blogs, Articles, and Posts - [Exchange Online: Message Tracking with PowerShell](https://sid-500.com/2024/04/02/exchange-online-message-tracking-with-powershell/) \ Message tracking in Exchange Online can be performed graphically as well as in PowerShell. In this post I will show how to track messages with PowerShell. - [Reduce your attack surface by disabling NetBIOS using PowerShell and Microsoft Intune](https://www.imab.dk/reduce-your-attack-surface-by-disabling-netbios-using-powershell-and-microsoft-intune/) \ Introduction If you are working with device management and IT security in general, you have probably heard about the recommendation to disable the legacy protocol NetBIOS in Windows. If this is news to you, there’s some interesting reading for you in this article: Adversary-in-the-Middle: LLMNR/NBT-NS Poisoning and SMB Relay, Sub-technique T1557.001 – Enterprise | MITRE ATT&CK NOTE: Before disabling anything, make sure you do your due diligence and monitor your environment for NetBIOS traffic, so you don’t accidently break stuff! - [Installing and Using PowerShell Copilot](https://www.alexandrumarin.com/installing-and-using-powershell-copilot/) \ PowerShell Copilot is a community-developed module that extends the capabilities of PowerShell by integrating with the GPT-4 language model. This innovative tool is designed to assist users in generating code quickly and efficiently, leveraging the vast repository of code available on GitHub. - [Porting PowerShell to FreeBSD, first working poc](https://lists.freebsd.org/archives/freebsd-ports/2024-April/005839.html) \ For background, there was a previous attempt to bring PowerShell to FreeBSD, but it seems it got stuck somewhere - [All About Pagination with the Graph and the Graph PowerShell SDK](https://practical365.com/pagination-graph-sdk/) \ When you're new to Graph API requests, you might not know pagination and end up retrieving less data from queries than is available. In this article, we explain how to use pagination to retrieve data using Graph queries and SDK cmdlets. - [Getting the Timezone in Windows Using a Simple PowerShell Command](https://everything-powershell.com/getting-the-timezone-in-windows-using-a-simple-powershell-command/) \ Learn how to retrieve the timezone information in Windows using PowerShell. The Get-TimeZone command allows you to access various properties related to the timezone, such as the timezone ID, display name, and standard time offset. Follow the simple steps provided in this blog post to retrieve the timezone information for your Windows system. This information can be useful for troubleshooting, system administration, or scripting tasks. Give the Get-TimeZone command in PowerShell a try next time you need to retrieve the timezone in Windows. ## Projects, Scripts, and Modules - [Material from my RTPSUG presentation](https://gist.github.com/jdhitsolutions/a2f3a246c929a91e494601fa1c44fa55) \ Material from my RTPSUG presentation on writing better PowerShell code - demo.ps1 - [PSTableauREST v 0.6.4](https://www.powershellgallery.com/Packages/PSTableauREST/0.6.4) \ This PowerShell module facilitates working with Tableau REST API for automation tasks. Most functions are implemented as wrappers for the corresponding API calls. - [OnePowerShellProfile v 1.0.12](https://www.powershellgallery.com/Packages/OnePowerShellProfile/1.0.12) \ Generates a duplicate PowerShell profile for each installed PS editions (i.e. Desktop, ISE, Core) ## Books, Media, and Learning Resources - [How Hackers Can Hide PowerShell in Environment Variables](https://www.youtube.com/watch?v=8CiNx4nNqQ0) \ A pretty good refresher on something to look out for. ## Community - [Unveiling PowerShell’s Past: An Interview with Jeffrey Snover](https://powershellpodcast.podbean.com/e/unveiling-powershell-s-past-an-interview-with-jeffrey-snover/) \ In this highly anticipated episode of the PowerShell Podcast, we sit down with the legendary Jeffrey Snover, the creator of PowerShell. With his departure from Microsoft, Jeffrey opens up about his insights, experiences, and candid opinions. From the inception of PowerShell to its current state, he shares the challenges he faced and the triumphs he celebrated. Jeffrey delves into the controversial topic of using aliases in scripts, shedding light on the pros and cons. Additionally, he offers thought-provoking perspectives on the evolving landscape of AI and his experience in AI ethics. Reflecting on his tenure at Microsoft, Jeffrey discusses the intricacies of navigating a large corporation and making a substantial impact. We also explore the concept of the "PowerShell sacred vow" and its significance. Join us for an illuminating conversation with Jeffrey Snover. - [Inside IT Automation | E02](https://www.youtube.com/watch?v=w1eIuA3dDfQ&t=805s) \ Kamen Nikolov talks about PowerCLI, PowerShell, VMware and more ## Fun - [We need entertainment during ESP…](https://oofhours.com/2024/04/02/we-need-entertainment-during-esp/) \ We’ve all sat and watched the Enrollment Status Page (ESP) during an Autopilot provisioning process — it’s pretty boring overall, showing information that isn’t really useful (e.g. what does “Preparing for mobile device management” really mean) - [GitHub - StartAutomating/PowerArcade: A Retro Arcade Game Console in PowerShell](https://github.com/StartAutomating/PowerArcade) \ A Retro Arcade Game Console in PowerShell. Contribute to StartAutomating/PowerArcade development by creating an account on GitHub. Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

    4
    0
    powershell
    Powershell pwshguy 6 months ago 100%
    PowerShell Weekly for March 29, 2024

    ## Blogs, Articles, and Posts - [Getting Started with GitHub Copilot in the CLI](https://www.thelazyadministrator.com/2024/03/22/getting-started-with-github-copilot-in-the-cli/) \ It was announced recently that GitHub Copilot in the CLI has reached General Availablity for all Individual, Business, and Enterprise customers. In this post, I will show you how you can get download and install the CLI and Copilot extension, authenticate to use Copilot, and the available commands and use cases. - [Graph and PowerShell Hiccups for the Groups and Teams Report Script](https://office365itpros.com/2024/03/22/groups-and-teams-activity-report/?utm_source=rss&utm_medium=rss&utm_campaign=groups-and-teams-activity-report) \ The Microsoft 365 Groups and Teams Activity Report is a PowerShell script that I've worked on since 2016 (not all the time). Some recent Graph hiccups meant that I had to apply some fixes and workarounds. At the same time, some users hit the infamous 'not recognized as a valid datetime' problem, so another update was needed. All good, clean fun. - [365AutomatedLab V2.8.0 is released and 365 Dev Tenant Announcement Feelings](https://clatent.com/2024/03/365automatedlab-v2-8-0-is-released-and-365-dev-tenant-announcement-feelings/) \ I know it’s been a bit, but life has been a bit hectic. Also a bit saddened about the Microsoft announcement that you can no longer create new Free 365 Dev Tenants. I’m really hoping they revert that decision, or make the Dev Tenant even better. I honestly don’t think it’s a money grab, but more for security. If it is toot easy to create a temp tenant it is a great tool for bad actors. I’ll leave it at that for now, and will probably do a bigger blog post on it in the future. - [Use PowerShell to create report of a DTS Compliant NPS log](https://powershellisfun.com/2024/03/28/use-powershell-to-create-report-of-a-dts-compliant-nps-log/) \ One of our customers had issues authenticating clients using NPS. One of the first things you do is… I read the NPS logs, and they were DTS Compliant formatted, a bit of a pain to read and search 🙁 So, I used PowerShell to create a nice log for me in either a GridView or … Continue reading Use PowerShell to create report of a DTS Compliant NPS log - [Practical PowerShell: Functions & Parameterization](https://practical365.com/practical-powershell-functions-parameterization/) \ In the second installment of the Practical PowerShell series, I will discuss how to leverage code’s reusability through functions and scripts. - [With PowerShell (7) having all of the same capabilities of other languages, why isn't there a larger ecosystem around data analysis or ML/AI, and similar functions that most just automatically gravitate to other languages for?](https://www.reddit.com/r/PowerShell/comments/1bm2we5/with_powershell_7_having_all_of_the_same/) \ An interesting conversation with a bunch of great insight. - [Reliable way to log all console PowerShell output to a file? Start-Transcript doesn't work.](https://www.reddit.com/r/PowerShell/comments/1bms4s5/reliable_way_to_log_all_console_powershell_output/) \ I need to run various interactive PS scripts and log all ouput to log files. I thought I had found the perfect way to do this in the Start-Transcript command, but I can't make it work correctly. It does create log files, but it's always missing lines in the log files. Some lines are logged, some ate missing from the file, despite clearly being visible in the console. Anyone has any tips on the best way to do this? Thanks! ## Projects, Scripts, and Modules - [15 Most Useful MS Graph PowerShell Scripts for Microsoft 365 IT Pros](https://o365reports.com/2024/03/27/ms-graph-powershell-scripts-microsoft-365-it-pros/?utm_source=rss&utm_medium=rss&utm_campaign=ms-graph-powershell-scripts-microsoft-365-it-pros) \ Are you among the many admins preparing for the retirement of AzureAD and MSOnline PowerShell modules? Transitioning to MS Graph PowerShell can be daunting, especially when searching for equivalent cmdlets. But fret not! I’ve curated a collection of essential PowerShell scripts tailored to manage your Microsoft 365 environment, all powered… - [PSBashCompletions v 1.2.5](https://www.powershellgallery.com/Packages/PSBashCompletions/1.2.5) \ PSBashCompletions offers the ability to process bash completions into PowerShell. ## Books, Media, and Learning Resources - [Jeff Hicks - PSStyle - PowerShell with Style](https://www.youtube.com/watch?v=6LySy7rrUO8) \ Many people think of PowerShell as a scripting language and forget that it is also a shell. But this is not the shell from DOS, or even from Windows 10. The new, modern PowerShell console is a rich, and colorful environment. ## Community - [MVP Spotlight: Clayton Tyger's Story](https://powershellpodcast.podbean.com/e/mvp-spotlight-clayton-tygers-story/) \ Join us for an inspiring episode of the PowerShell Podcast as we sit down with newly crowned Microsoft MVP, Clayton Tyger. Clayton shares his remarkable journey from being a PowerShell novice to achieving MVP status, highlighting the importance of a growth mindset and perseverance along the way. We delve into recent developments to his 365AutomatedLab module, exploring how it streamlines lab creation processes for PowerShell users. Additionally, Clayton discusses his adventures with ProxMox and PowerShell, offering valuable insights and practical tips. Tune in for an engaging conversation filled with personal anecdotes, professional insights, and a deep dive into the world of PowerShell with Clayton Tyger. ## Events - [DFWSMUG April Fools Day Meetup](https://www.eventbrite.com/e/dfwsmug-april-fools-day-meetup-tickets-812788691857?aff=oddtdtcreator) \ Join us for a fun-filled April Fools Day Meetup with DFWSMUG, where laughter and mischief await on April 1, 2024 at 5:00 PM. And come see me presenting on test infrastructure with Pester. Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

    4
    0
    powershell
    Powershell pwshguy 6 months ago 100%
    PowerShell Weekly for March 22, 2024

    Sorry for missing last week, but I was on vacation and this is a hand curated list. ## Blogs, Articles, and Posts - [Simple form development using PowerShell](https://devblogs.microsoft.com/powershell-community/simple-form-development-using-powershell/) \ Create .NET forms without all the .NET. - [List “Azure classic subscription administrators” via the Azure Portal or via an Azure PowerShell script](https://wmatthyssen.com/2024/03/21/list-azure-classic-subscription-administrators-via-the-azure-portal-or-via-an-azure-powershell-script/) \ This blog post will show you how to find all active “Azure classic subscription administrators” across any of your AzureContinue Reading - [View and Export your Intune Device Management Scripts Using the Microsoft Graph PowerShell SDK](https://www.thelazyadministrator.com/2024/03/15/view-and-export-your-intune-device-management-scripts-using-the-microsoft-graph-powershell-sdk/) \ Introduction - [Does Microsoft Care about SharePoint Online PowerShell?](https://office365itpros.com/2024/03/19/sharepoint-online-powershell/?utm_source=rss&utm_medium=rss&utm_campaign=sharepoint-online-powershell) \ Microsoft's support for SharePoint Online PowerShell has degraded over the last few years. Pnp.PowerShell is now the best option as not much is happening in the official SharePoint Online management module or the tenant settings Graph API. the lack of progress is a pity, but perhaps it's also true that community-driven projects sometimes deliver better results. - [Practical PowerShell: Functions & Parameterization](https://practical365.com/practical-powershell-functions-parameterization/) \ In our second edition of Practical PowerShell, Michel De Rooij dives into Functions and Parameters, what they are, and how to use them properly. - [9 Essential PowerShell Scripts for SharePoint Online Security](https://o365reports.com/2024/03/15/essential-powershell-scripts-for-sharepoint-online-security/?utm_source=rss&utm_medium=rss&utm_campaign=essential-powershell-scripts-for-sharepoint-online-security) \ As we navigate the digital age, SharePoint Online has emerged as a pivotal platform for organizational collaboration. However, with great connectivity comes great responsibility, particularly in safeguarding our digital ecosystem. Data breaches, excessive access rights, oversharing, etc., pose significant challenges in maintaining security in SharePoint Online. Recognizing that security is… - [What's something you learned way later in PowerShell than you'd like to admit?](https://www.reddit.com/r/PowerShell/comments/1bfwpr8/whats_something_you_learned_way_later_in/) \ Could be the simplest of things. For me, it's that Validation attributes work on variable declarations and not just in parameter blocks. - [PowerShell Anti Patterns](https://www.reddit.com/r/PowerShell/comments/1bhw4is/powershell_anti_patterns/) \ What are anti patterns when scripting in PowerShell and how can you avoid them? - [Strings to Hashtables](https://claytonerrington.com/blog/strings-to-hashtables/) \ How to take a string and turn it into a PowerShell hash table - [Azure PowerShell Tips and Tricks](https://techcommunity.microsoft.com/t5/core-infrastructure-and-security/azure-powershell-tips-and-tricks/ba-p/4066848) \ Tips and tricks for using PowerShell and REST APIs in Azure. ## Projects, Scripts, and Modules - [Graph and PowerShell Hiccups for the Groups and Teams Report Script](https://office365itpros.com/2024/03/22/groups-and-teams-activity-report/?utm_source=rss&utm_medium=rss&utm_campaign=groups-and-teams-activity-report) \ The Microsoft 365 Groups and Teams Activity Report is a PowerShell script that I've worked on since 2016 (not all the time). Some recent Graph hiccups meant that I had to apply some fixes and workarounds. At the same time, some users hit the infamous 'not recognized as a valid datetime' problem, so another update was needed. All good, clean fun. - [PSOpenAD Release v0.5.0](https://github.com/jborean93/PSOpenAD/releases/tag/v0.5.0) \ The Open AD module is a cross platform module for managing Active Directory. - [Fuzzy history search with PowerShellRun](https://github.com/mdgrs-mei/PowerShellRun/discussions/22) \ An example that replaces the Ctrl+r history search with fuzzy search. Multi-line commands are supported Duplicates are removed Enter to run the command and Shift+Enter to insert the command The cha... ## Books, Media, and Learning Resources - [PSBlazor : A new PowerShell web technology](https://www.youtube.com/watch?v=GwlKIuM9bGc) \ In this session, we'll look at how PSBlazor, an upcoming feature of PowerShell Universal, allows developers to produce web interfaces with a combination of Razor and PowerShell syntax. - [Windows Admin Survival Guide: Managing Linux servers using PowerShell Steven Judd](https://www.youtube.com/watch?v=6JqThs-jpqw) \ Make the transition from Windows Server Pro to Linux Server Ninja by using PowerShell to your advantage! - [Creating QR Code for Wireless Network Using PowerShell](https://www.youtube.com/watch?v=kiazWHip6O0) \ Join us in The Server Room to go over how to create QR codes for wireless network using PowerShell. ## Community - [Cloud Chronicles: Mark Wragg's Journey in DevOps](https://powershellpodcast.podbean.com/e/cloud-chronicles-mark-wraggs-journey-in-devops/) \ In this engaging episode of the PowerShell Podcast, host Andrew Pla kicks things off by sharing some tab completion insights and more on the preshow. Andrew is joined by special guest Mark Wragg to delve into the world of DevOps and PowerShell. Mark, a longtime user of the cloud, and shares his observations of how things have changed over the years. The discussion covers common tasks and responsibilities in DevOps, along with Mark's innovative AzCostTools module, which provides a comprehensive solution for monitoring and managing cloud costs using PowerShell, complete with visually appealing graphs. Additionally, Mark shares his passion for Pester testing, infrastructure testing, and Infrastructure as Code, offering valuable advice and expertise to listeners. Tune in for a captivating conversation filled with practical tips and expert insights! - [IAM in Focus: Insights from Adil Leghari](https://powershellpodcast.podbean.com/e/iam-in-focus-insights-from-adil-leghari/) \ In this enlightening episode of the PowerShell Podcast, host Andrew Pla is joined by special guest Adil Leghari to delve into the intricacies of IAM (Identity and Access Management). Together, they explore the fundamentals of IAM and its significance in the broader realm of IT. Additionally, Andrew announces the PowerShell Podcast MVP awards, celebrating community excellence. Adil shares invaluable insights on career transitions, the anatomy of a login box, and common cyber attacks. He also sheds light on the flaws of passwords and emphasizes the importance of empathy and honest postmortems in the IT landscape. Tune in for a captivating discussion filled with wisdom and expertise! - [Summit 2024 Speaker Spotlight: Steven Judd](https://powershell.org/2024/03/summit2024-spotlight-steven-judd/) \ Hey there, PowerShell enthusiasts! Today marks the start of a series of interviews featuring select Summit 2024 presenters. I plan to sit and chat briefly with a mix of familiar … Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

    6
    0
    powershell
    Powershell pwshguy 7 months ago 87%
    PowerShell Weekly for March 8, 2024

    ## Blogs, Articles, and Posts - [PowerShell Refresh](https://jdhitsolutions.com/blog/powershell/9325/powershell-refresh/?utm_source=rss&utm_medium=rss&utm_campaign=powershell-refresh) \ The other day on X, I was asked about what things I would setup or configure on a new PowerShell installation. This is something I actually have thought about and face all the time when I setup a new demo virtual machine. I had been meaning to build new tooling to meet this challenge - [Despite the Doubters, Microsoft 365 Administrators Should Continue Using PowerShell](https://office365itpros.com/2024/03/08/microsoft-365-powershell/?utm_source=rss&utm_medium=rss&utm_campaign=microsoft-365-powershell) \ A recent article by a Microsoft MVP attempted to lay out a case that tenants should not use Microsoft 365 PowerShell and use ISV products instead. It's a silly position to argue. PowerShell is an important automation tool for administrators that can't be replaced by any ISV product. ISV products have their place and fill many gaps, but arguing to dump PowerShell and use ISV products instead just can't be justified. - [Foreach vs Foreach-Object in PowerShell](https://www.spguides.com/foreach-vs-foreach-object-in-powershell/) \ The foreach statement and the ForEach-Object cmdlet, while similar in function, difference in form, execution context, and performance implications. They are both designed for iterating over collections, executing a block of script code for each object in the collection. In this PowerShell tutorial, we will explain everything about the Foreach vs Foreach-Object in PowerShell. - [Visualising your IP Address using PowerShell and AI](https://blog.darrenjrobinson.com/visualising-your-ip-address-using-powershell-and-ai/) \ A few weeks back the Microsoft AI Tour was in Sydney Australia. There was a plethora of great content associated with the wave of everything AI that we are currently in. - [How to Add Quotes in PowerShell (Single & Double Quotes)](https://www.spguides.com/add-quotes-in-powershell/) \ Many a time, you might need to add quotes in PowerShell, like single and double quotes. In this PowerShell tutorial, I will explain how to add quotes in PowerShell. In PowerShell, when a string is enclosed within double quotes, it is subject to interpretation by the parser. - [Monitor and manage your Azure cloud costs with a little help from PowerShell](https://wragg.io/monitor-and-manage-your-azure-cloud-costs-with-powershell/) \ Should cloud computing be illegal? Probably not, but it is incredibly easy to get started, equally difficult to stop, and before you know it you could be selling your grandmother just to afford one more month of that delicious compute. Hopefully your circumstances never get that dire, but I’ve seen plenty of companies entrench themselves into the highly addictive world of automated, scalable infrastructure, but then struggle to understand the often-astronomical monthly bill. - [Step-By-Step: How to Create a Windows 11 VM on Hyper-V via PowerShell](https://techcommunity.microsoft.com/t5/educator-developer-blog/step-by-step-how-to-create-a-windows-11-vm-on-hyper-v-via/ba-p/3754100) \ As mentioned previously, Hyper-V is a virtualization technology that is not only useful for developers and IT administrators, but also for students. Using Hyper-V, students can install multiple operating systems and applications on a single physical machine. In a previous blog post, we covered steps to enable Hyper-V in Windows 11 via the Graphic User Interface (GUI). However, as many pointed out, there is a quicker way to accomplish this. ## Projects, Scripts, and Modules - [AzPolicyTest v 2.0.0](https://www.powershellgallery.com/Packages/AzPolicyTest/2.0.0) \ Provides pre-defined pester tests for Azure Policy and Initiative definitions ## Community - [Crafting a Fulfilling Career: Wisdom from Industry Leaders Jeff Hicks and Mike F. Robbins](https://powershellpodcast.podbean.com/e/crafting-a-fulfilling-career-wisdom-from-industry-leaders-jeff-hicks-and-mike-f-robbins/) \ In this episode of the PowerShell Podcast, Andrew Pla is joined by esteemed guests Jeff Hicks, Microsoft MVP, and Mike F. Robbins, renowned Azure PowerShell writer. Together, they delve into the essential non-PowerShell skills necessary for a thriving career in IT. The conversation extends to the invaluable experiences gained from the OnRamp program at PowerShell Summit, highlighting the significance of passing on knowledge to the next generation. They also explore various community projects, recommend insightful books that capture the essence of the Summit experience, and stress the importance of fostering curiosity in one's journey. Tune in for a wealth of wisdom and inspiration from these industry experts! ## Fun - [Today's Random PowerShell discovery](https://bsky.app/profile/mrpowershell.bsky.social/post/3kn2iprtjwc2q) \ You can declare a function with spaces in the name Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

    6
    0
    powershell
    Powershell pwshguy 7 months ago 100%
    PowerShell Weekly for March 1, 2024

    ## Blogs, Articles, and Posts - [Creating a scalable, customised running environment](https://devblogs.microsoft.com/powershell-community/creating-a-scalable-customised-running-environment/) \ This post shows how to create an easy to support environment with all your own cmdlets. - [Module Linking](https://jdhitsolutions.com/blog/powershell/9323/module-linking/?utm_source=rss&utm_medium=rss&utm_campaign=module-linking) \ I know it has been a while since I’ve given the blog any attention. I am hoping to correct that in 2024, although I’m already behind schedule. But let’s get to it. I have a short tip today that you may find useful, especially if you write modules for your private use. - [Cloning Hyper-V VMs with PowerShell](https://www.deploymentresearch.com/cloning-hyper-v-vms-with-powershell/) \ Unlike when using Windows Admin Center to manage your Hyper-V VMs, Hyper-V Manager, nor the built-in cmdlets, offer any native VM cloning function. But with a bit of creative scripting, it's certainly doable. Here is a script that clones a virtual machine in Hyper-V: Unlike when using Windows Admin Center to manage your Hyper-V VMs, Hyper-V Manager - [PowerShell Script Parameters: Getting Started Guide](https://jeffbrown.tech/powershell-script-parameters/?utm_source=rss&utm_medium=rss&utm_campaign=powershell-script-parameters) \ PowerShell script parameters are vital components that enable the customization and versatility of scripts, functions, and cmdlets. PowerShell parameters enhance the usability and adaptability of scripts by allowing users to pass information into the code instead of hardcoding values. Understanding how to define, manipulate, and leverage PowerShell parameters is essential for proficient scripting in PowerShell. ## Projects, Scripts, and Modules - [Report OneDrive for Business Storage Based on Usage Data](https://office365itpros.com/2024/02/27/onedrive-storage-report-usage/?utm_source=rss&utm_medium=rss&utm_campaign=onedrive-storage-report-usage) \ If you wanted to write a PowerShell script to create a OneDrive storage report, you'd probably use the cmdlets from the SharePoint Online management module. But accessing OneDrive usage data via the Graph is much faster. And you can include information from other sources, such as user properties, to build out the report. All explained here. - [Report and Audit File Downloads in SharePoint Online Using PowerShell](https://o365reports.com/2024/02/27/audit-file-downloads-in-sharepoint-online-using-powershell/?utm_source=rss&utm_medium=rss&utm_campaign=audit-file-downloads-in-sharepoint-online-using-powershell) \ SharePoint Online is a powerful collaboration service in Microsoft 365 that facilitates seamless file sharing and management across organizations. While it provides extensive capabilities, tracking file downloads is crucial for maintaining data security and compliance. This blog highlights the methods to audit file downloads in SharePoint Online.   How to… - [PowerShellRun](https://github.com/mdgrs-mei/PowerShellRun) \ App, Utility and Function Launcher for PowerShell. PowerShellRun is a PowerShell module that lets you fuzzy search applications, utilities and functions you define and launch them with ease. It is a customizable launcher app on the PowerShell terminal. - [Find All agent-based Hybrid Runbook Workers [OC]](https://www.dowst.dev/find-all-agent-based-hybrid-runbook-workers/) \ In case you are not away the Microsoft Monitoring Agent (MMA) will be retired on 31 August 2024. Prior to this date you will need to migrate all your agent-based hybrid workers to the extension-bas… - [PSSharedGoods v 0.0.278](https://www.powershellgallery.com/Packages/PSSharedGoods/0.0.278) \ Module covering functions that are shared within multiple projects ## Books, Media, and Learning Resources - [The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)](https://www.joelonsoftware.com/2003/10/08/the-absolute-minimum-every-software-developer-absolutely-positively-must-know-about-unicode-and-character-sets-no-excuses/) \ Ever wonder about that mysterious Content-Type tag? You know, the one you’re supposed to put in HTML and you never quite know what it should be? Did you ever get an email from your friends in… ## Community - [From Admin to Defender: Jake Hildreth's Security Evolution](https://powershellpodcast.podbean.com/e/from-admin-to-defender-jake-hildreths-security-evolution/) \ In this episode of the PowerShell Podcast, Andrew sits down with the knowledgeable Jake Hildreth for an enlightening conversation covering a wide array of security-related topics. Jake shares insights from his journey transitioning into security from a background in operations and administration. The discussion delves into OpSec practices, approaches to toolmaking, and the critical importance of Active Directory Certificate Services (AD CS) security. Jake also sheds light on tabletop exercises for security, the fallacy of security through obscurity, and the dangers of clicking on phishing emails. Tune in for a deep dive into the world of security and PowerShell with Jake Hildreth! ## Fun - [PowerShell Emoji](https://github.com/StartAutomating/Emoji) \ PowerShell Emoji is a little PowerShell module to help you work with Emoji. Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

    6
    0
    powershell
    Powershell pwshguy 7 months ago 100%
    PowerShell Weekly for February 23, 2024

    ## Announcements! - [PowerShell 7.5.0 preview 2 released](https://github.com/PowerShell/PowerShell/releases/tag/v7.5.0-preview.2) \ Include multiple engine and cmdlet updates and fixes. - [Azure Automation supports Azure CLI commands in runbooks](https://techcommunity.microsoft.com/t5/azure-tools-blog/azure-automation-supports-azure-cli-commands-in-runbooks/ba-p/4064460) \ Azure Automation has announced support for Azure CLI commands in runbooks (preview announcement). The rich command set of Azure CLI expands capabilities of runbooks even further, allowing you to reap combined benefits of both, for automating and streamlining management of Azure resources. Azure Automation runbooks target orchestration on a wide array of resources such as Virtual Machines, Arc-enabled Servers, Databases, Storage, Azure Active Directory, and much more, along with complex workflows involving multiple resources. ## Blogs, Articles, and Posts - [Why You Should Not Upgrade to Microsoft Graph PowerShell SDK V2.14](https://office365itpros.com/2024/02/20/microsoft-graph-powershell-sdk-bug/?utm_source=rss&utm_medium=rss&utm_campaign=microsoft-graph-powershell-sdk-bug) \ Usually, we recommend that Microsoft 365 tenants use the latest version of the Microsoft Graph PowerShell SDK. However, a serious bug in V2.14 means that this (and perhaps V2.13.1) should be avoided until Microsoft fixes a problem that causes spurious output to be included when cmdlets like Get-MgUser and Get-MgGroup are run. - [Export Conditional Access Policies to Excel using PowerShell](https://o365reports.com/2024/02/20/export-conditional-access-policies-to-excel-using-powershell/?utm_source=rss&utm_medium=rss&utm_campaign=export-conditional-access-policies-to-excel-using-powershell) \ Conditional Access policies play a vital role in securing your Microsoft 365 environment and are a key component of the zero-trust model. However, setting them up incorrectly can have serious consequences, like unintentionally compromising your entire Microsoft 365 security. - [PowerShell: Find Remote Desktop Servers on A Domain](https://techbloggingfool.com/2024/02/19/powershell-find-remote-desktop-servers-on-a-domain/) \ Remote Desktop Servers have a way of multiplying themselves like some kind of organic creature - [Schedule PowerShell Script Intune](https://www.nielskok.tech/intune/schedule-powershell-script-intune/) \ This is a blog post about how to schedule a PowerShell script via Intune. Of course, we would like this to be built-in within Microsoft Intune but we are not there yet. Hopefully, this will be an option in the future. We would like to schedule app installs and scripts via Microsoft Intune directly. - [Running Azure Cloud Shell locally using Docker](https://powershellisfun.com/2024/02/16/running-azure-cloud-shell-locally-using-docker/) \ Azure Cloud Shell is a tool I use often and is easy to access from the Admin pages in Azure and 365. You can also use those tools in a local container and connect to it using the command line or Visual Studio Code. In this blog post, I will show you how to install everything and connect and use it locally. - [AWS PowerShell - Intro to PowerShell Lambdas](https://overpoweredshell.com/AWS-PowerShell-Intro-to-PowerShell-Lambdas-Creating-An-Automatic-Shutdown-Policy-for-EC2-Instances/?utm_source=dlvr.it&utm_medium=bluesky) \ AWS has finally released support for PowerShell lambdas! Lambdas are pieces of code that can be called from just about anywhere in AWS (or outside for that matter). Even better lambdas don’t require a server to run, this means that you only pay for the compute that you actually use. Don’t worry the first 1M hits per month are free. Let’s dive in and see how we can start using our existing PowerShell skills to start building lambdas. ## Projects, Scripts, and Modules - [Easy Packet Loss Tracker](https://github.com/nerdstaunch/easy_packetloss_tracker) \ This PowerShell script helps you monitor packet loss on your network by continuously pinging a specified target (website or IP address) and providing real-time updates on successful responses and timeouts. - [Query Lenovo Warranty Information with PowerShell](https://www.techguy.at/query-lenovo-warranty-information-with-powershell/) \ I used this for an automatic Snyc related to Customer Asset List to get the Warranty Start and END – Date for Lenovo Hardware. - [PowerShellAIAssistant](https://github.com/dfinke/PowerShellAIAssistant) \ Enhance PowerShell scripting with AI using PowerShell AI Assistant module. - [Az v11.3.1](https://github.com/Azure/azure-powershell/releases/tag/v11.3.1-Feb2024) \ Just a couple of small fixes in this release. ## Community - [Reaching the Summit: Graham's OnRamp Journey](https://powershellpodcast.podbean.com/e/reaching-the-summit-grahams-onramp-journey/) \ In this engaging episode, host Andrew sits down with Graham Stringfellow for an insightful discussion filled with personal anecdotes and professional insights. The conversation kicks off with a reflection on Andrew and Graham's shared history, followed by Graham's experience with the PowerShell Summit OnRamp scholarship. Graham sheds light on the infamous mountain disaster involving Phil Bossman, settling the score once and for all. They delve into the importance of building tools that endure and share anecdotes about Andrew handing off some of his PowerShell expertise to Graham. Tune in for a captivating conversation that spans friendship, professional growth, and the enduring legacy of PowerShell. ## Fun - [PowerShell Games](https://powershellisfun.com/2024/02/22/powershell-games/) \ I use PowerShell for many things, but did you know you can also play games in PowerShell? In this blog post, I will show you a few that are nice to play while waiting for your installation to complete or your code to compile :) Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

    9
    0
    powershell
    Powershell pwshguy 7 months ago 83%
    PowerShell Weekly for February 16, 2024

    ## Blogs, Articles, and Posts - [An example of using PowerShell to manage system and user-assigned managed identities in Azure](https://4sysops.com/archives/an-example-of-using-powershell-to-manage-system-and-user-assigned-managed-identities-in-azure/) \ Managed identities provide secure authentication for resources accessing other resources in Azure without requiring sensitive information such as secrets, credentials, and certificates to be handled. Microsoft Entra ID manages these identities, enabling applications to obtain tokens for authentication. In this post, I will provide an example that illustrates how to use system and user-assigned managed identities with PowerShell. - [Can I Bypass Powershell Execution Policy? Powershell Execution Policies](https://itblogpros.com/bypass-powershell-execution-policy/) \ Can I Bypass Powershell Execution Policy? If you are new to PowerShell then you are probably ready to dive in and start experimenting with scripts and all kinds of cool learning resources. If you ever download a script from an external source then you need to be aware of a few things. - [Export Microsoft 365 Users’ Self-Service Password Reset (SSPR) Status Reports](https://o365reports.com/2024/02/13/export-microsoft-365-users-self-service-password-reset-sspr-status-reports/?utm_source=rss&utm_medium=rss&utm_campaign=export-microsoft-365-users-self-service-password-reset-sspr-status-reports) \ Microsoft self-service password reset (SSPR) feature enables users to reset passwords independently, reducing help desk reliance in the organization. However, before users can utilize SSPR, admins must enable self-service password reset, and users must register their authentication methods. - [Add, remove, or replace values using PowerShell](https://powershellisfun.com/2024/02/10/add-remove-or-replace-values-using-powershell/) \ I had another encounter this week where a customer wanted to remove the value from something in Exchange. Setting the value to $null didn't work, and I showed him how to remove it another way. This blog post will show a few ways to add, remove, or replace a value using Active Directory and Exchange Online as examples. - [Blogposts and Newsletters in times of AI´s](https://www.powershell.co.at/blogposts-and-newsletters-in-times-of-ais/) \ This week i am not going to do a regular PowerShell newsletter, it will be more some personal thoughts on the recent developments with AI´s. As long as i read blogposts, i enjoyed the knowledge, which people share regarding a particular problem they want to solve. Solving a technical problem personally is one part of the effot, prepering the solution in a format so that others can benefit from is is a much wider step. Who ever has created a blogpost or video knows that preparation, production and post-editing takes some time, and all of this just for the community - [What do you use for tooling when it comes to sharing and executing powershell scripts?](https://www.reddit.com/r/PowerShell/comments/1ar3x6k/what_do_you_use_for_tooling_when_it_comes_to/) \ As the title states, I've found that even within teams that engineers write similar things over and over again. Version control and git helps but then there is tracking who executed what when and where, no ability for a historical view and timeline, task scheduler is hard to track success / failures output. ## Projects, Scripts, and Modules - [PdfLexer v 0.1.19](https://www.powershellgallery.com/Packages/PdfLexer/0.1.19) \ PdfLexer is a powershell pdf manipulation library for Powershell 7+. ## Books, Media, and Learning Resources - [Your PowerShell Journey Starts Here: A Beginner’s Guide](https://itblogpros.com/your-powershell-journey-starts-here-a-beginners-guide/) \ PowerShell is a powerful tool for automating tasks and managing systems, especially in a Windows environment. If you’re ready to level up your tech skills, here’s how to get started on your PowerShell learning adventure. - [Welcome to Professional PowerShell](https://practical365.com/welcome-to-professional-powershell/) \ This blog is the first installment in our new monthly "Professional PowerShell" series, designed to help part-time PowerShell developers freshen up their scripting skills. ## Community - [Roadmapping your PowerShell Journey with Sean Wheeler](https://powershellpodcast.podbean.com/e/roadmapping-your-powershell-journey-with-sean-wheeler/) \ In this episode of the PowerShell Podcast, host Andrew Pla is joined by the insightful Sean Wheeler for an enlightening discussion on all things PowerShell. Andrew starts off the episode by sharing a community tip and delving into the topic of hosting internal PowerShell meetups. The conversation then shifts to Sean, who sheds light on the process of getting started with learning PowerShell, emphasizing the invaluable resources available on learn.microsoft.com/powershell. Together, they explore the different steps involved in a PowerShell journey and offer guidance on mapping out a personalized learning path. Additionally, they discuss the significance of Git and GitHub in the PowerShell ecosystem and extend an invitation to the community for contributions to the PowerShell Community blog. Tune in for a wealth of knowledge and practical advice to enhance your PowerShell experience. - [PowerShell Pulse Monthly Tech Talks & Community Showcase](https://www.youtube.com/watch?v=hVTv1K-WuWY) \ Unlock the potential of Microsoft 365 configuration with Clayton as he demonstrates the seamless integration of PowerShell and Excel for efficient setup. Delve into Azure's queuing system with Mike to optimize your workflow and achieve continuous delivery. Join us for expert insights and practical tips from their engaging presentation. ## Fun - [PowerPlayer - A powershell MP3 Player](https://github.com/illsk1lls/PowerPlayer) \ A simple WPF GUI based MP3 player leveraging system.windows.media.mediaplayer Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

    4
    0
    powershell
    Powershell pwshguy 7 months ago 75%
    PowerShell Weekly for February 9, 2024

    ## Announcements! - [Introducing Sudo for Windows!](https://devblogs.microsoft.com/commandline/introducing-sudo-for-windows/) \ We’re excited to announce the release of Sudo for Windows in Windows 11 Insider Preview Build 26052! - [PowerShell and OpenSSH team investments for 2024](https://devblogs.microsoft.com/powershell/powershell-and-openssh-team-investments-for-2024/) \ Planned team investments for 2024 for PowerShell, OpenSSH, and related tooling. ## Blogs, Articles, and Posts - [How to combine two USB 3.0 Gigabit Ethernet adapters as an external virtual switch in Hyper-V with PowerShell](https://wmatthyssen.com/2024/02/06/how-to-combine-two-usb-3-0-gigabit-ethernet-adapters-as-an-external-virtual-switch-in-hyper-v-with-powershell/) \ This blog post will guide you through the process of combining two USB 3.0 Gigabit Ethernet adapters and utilizing themContinue Reading - [PowerShell IP Configuration: A Beginner’s Guide to Windows Settings](https://adamtheautomator.com/powershell-ip-configuration/) \ Master PowerShell IP Configuration: Learn to set up and troubleshoot network IPs on Windows effortlessly. A comprehensive guide for efficient network management. - [Export Exchange Online Shared Mailbox Size Report Using PowerShell](https://o365reports.com/2024/02/06/exchange-online-shared-mailbox-size-report-using-powershell/?utm_source=rss&utm_medium=rss&utm_campaign=exchange-online-shared-mailbox-size-report-using-powershell) \ Shared mailboxes provide centralized delegated access to common mailboxes and enhance organization-wide coordination without requiring additional licenses. However, it’s crucial to get shared mailbox size reports in Microsoft 365 to tackle potential storage issues.  Tracking shared mailbox usage, including the total size aids in capacity planning and enables organizations to maintain a responsive email environment. - [How to Check if a Variable is Null or Empty in PowerShell?](https://www.spguides.com/check-if-a-variable-is-null-or-empty-in-powershell/) \ While working on a PowerShell script, I got a requirement to check if a PowerShell variable in null or empty. In this PowerShell tutorial, we’ll explore how to check if a variable is null or empty in PowerShell using various methods. To check if a variable in PowerShell is null or empty, you can use ... read more... - [Quickly exanding the booking window of all meeting rooms in Microsoft 365](http://www.randriksen.net/powershell/2024/02/08/quick-fix-meeting-room-booking-window.html) \ So I got a task to expand the booking window for all the meeting rooms at work. From the default 180 days to 365 days. This isn’t anything big or complicated to do. It’s an everyday task really. But I was wondering, how short can I make the PowerShell script to do this for all meeting rooms? ## Projects, Scripts, and Modules - [New MSIdentityTools Cmdlet to Report OAuth Permissions](https://office365itpros.com/2024/02/05/export-msidappconsentgrantreport/?utm_source=rss&utm_medium=rss&utm_campaign=export-msidappconsentgrantreport) \ The latest version of the MSIndentityTools PowerShell module includes the Export-MsIdAppConsentGrantReport cmdlet to generate a report of OAuth app permissions. Allied with the ImportExcel module, the cmdlet can produce a very nice workbook containing lots of information about permissions held by the apps in a tenant. But even better, you can export the data to PowerShell and use it in your scripts. - [New enhancements to Get-AutopilotDiagnosticsCommunity](https://oofhours.com/2024/02/05/new-enhancements-to-get-autopilotdiagnosticscommunity/) \ It started off as a simple change: I was annoyed that the “Observed Timeline” in the output from the Get-AutopilotDiagnosticsCommunity (and the older Get-AutopilotDiagnostics script too) had events in the wrong order. - [Perform Currency Conversions with PowerShell](https://wragg.io/Perform-currency-conversion-with-PowerShell/) \ I’ve recently been working on a PowerShell module for exploring Azure costs (which I plan to blog about soon) and while doing so added some functionality to allow the costs to be converted between different currencies. It occurred to me that this functionality would be useful as a module of its own, and when I searched around I didn’t find too many recent examples for the same. As such I’ve now developed and published a module in the PowerShell Gallery and on GitHub called CurrencyConverter. - [PSAuthClient](https://github.com/alflokken/PSAuthClient) \ PSAuthClient is a flexible PowerShell OAuth2.0/OpenID Connect (OIDC) Client. - [ConvertFrom-StringTable v 0.9.6](https://www.powershellgallery.com/Packages/ConvertFrom-StringTable/0.9.6) \ A PowerShell module designed to effortlessly convert various types of string tables into objects. - [PSDates v 1.0.0](https://www.powershellgallery.com/Packages/PSDates/1.0.0) \ PSDates provides you all the tools you need when working with dates and times in PowerShell. It contains function to help you find specific date formats, get certain dates based on other dates (first/last day of the month or year, patch Tuesday, etc). I also has functions for working with timezones, unix time, WMI time, crontabs. ## Community - [PowerShell and Pentesting: Hacker Insights with Spencer Alessi](https://powershellpodcast.podbean.com/e/powershell-and-pentesting-hacker-insights-with-spencer-alessi/) \ In this action-packed episode of the PowerShell Podcast, we kick off with a loaded preshow featuring an exciting announcement of PowerShelldle, a community tip, and a deep dive into my own PowerShell journey in response to a viewer question. The main segment is a fascinating conversation with Spencer Alessi, where we delve into the world of PowerShell and pentesting. Spencer generously shares the tools he would use as a sysadmin pentesting his own environment, including PowerSploit, PingCastle, Bloodhound, LockSmith, and ADeleg. He provides invaluable tips for PowerShell enthusiasts looking to transition into security and pentesting, shedding light on the current and emerging trends in the security landscape. Spencer also gives us insights into the role that PowerShell plays in his role as a pentester. Get ready for a riveting episode filled with tips, tools, and trends in the world of PowerShell and security. - [Is anyone using Powershell with Linux?](https://www.reddit.com/r/PowerShell/comments/1al5i08/is_anyone_using_powershell_with_linux/) \ Recently installed Powershell upon my Debian 12 system (I was informed that I would need to be comfortable with it in the upcoming months, to work with Azure). With that warning, I purchased the Month of Lunches book, and proceeded to get to it. Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

    2
    0
    powershell
    Powershell pwshguy 8 months ago 100%
    PowerShell Weekly for February 2, 2024

    ## Announcements! - [Deprecation of Search-AdminAuditLog and New-AdminAuditLogSearch cmdlets](https://techcommunity.microsoft.com/t5/security-compliance-and-identity/important-announcement-deprecation-of-search-adminauditlog-and/ba-p/4036537) \ We are writing to inform you about an upcoming change that will affect the way you access and manage your Exchange Online audit logs. Starting from April 30, 2024, we will be deprecating the following four cmdlets in the Exchange Online V3 module:  - [Windows Terminal Preview 1.20 Release](https://devblogs.microsoft.com/commandline/windows-terminal-preview-1-20-release/) \ Happy New Year! The Windows Terminal team is back with our first preview release of the year! Windows Terminal Preview 1.20 introduces several changes such as the automatic deferral of package updates while Windows Terminal is running, support for colorful and crazy line styles, changes to the way search results are highlighted and LOTS of usability updates and bug fixes! ## Blogs, Articles, and Posts - [Active Directory Database: PowerShell Monitoring Made Easy](https://adamtheautomator.com/active-directory-database/) \ Find the ntds.dit location and monitor your Active Directory database using PowerShell. - [Mastering PowerShell Parameter Validation with Dynamic Methods](https://adamtheautomator.com/powershell-parameter-validation/) \ Boost Your Scripting Skills! Dive into Dynamic PowerShell Parameter Validation for Efficient and Robust Coding. A Must-Read for PowerShell Excellence. - [Add updates (.msu) offline into Windows images (.wim)](https://4sysops.com/archives/add-updates-msu-offline-into-windows-images-wim/) \ Before deployment, Microsoft ISO's install .wim or custom images should be updated. With the DISM module in PowerShell, you can add .msu updates, apps, and drivers to a Windows image offline without the need to boot it up. - [Connect an Azure Function or Web App to a Key Vault to retrieve secrets with PowerShell](https://4sysops.com/archives/connect-an-azure-function-or-web-app-to-a-key-vault-to-retrieve-secrets-with-powershell/) \ Azure Functions often require access to sensitive information. It is a security risk to store credentials in code or configuration files. Thus, protecting sensitive information like connection strings, API keys, or passwords is crucial. This is where Azure Key Vault comes in, offering secure and centralized storage for all your secrets. In this article, I will explain how to retrieve secrets from the Key Vault within an Azure Function using PowerShell. - [PowerShell: How to ping multiple Computers at once](https://sid-500.com/2024/01/30/powershell-how-to-ping-multiple-computers-at-once/) \ You want to ping multiple computers at once? Can’t? Yes you can, with PowerShell. In this post I’ll show you a few examples of how you can ping multiple computers. - [Using the PowerShell Profiler module](https://powershellisfun.com/2024/02/01/using-the-powershell-profiler-module/) \ The Profiler module was mentioned in the episode on January 15th of the PowerShell Podcast from PDQ (My favorite!), and it did not cross my path earlier. In this blog post, I will show you how it works and why it's a great tool to optimize your script performance! - [How to Convert Multiline String to Array in PowerShell?](https://www.spguides.com/convert-multiline-string-to-array-in-powershell/) \ Do you need to convert multiline strings into arrays in PowerShell? In this PowerShell tutorial, I will explain to you different methods to convert a multiline string into an array in PowerShell. To convert a multiline string into an array in PowerShell, you can use the -split operator with a newline character as the delimiter. - [Embracing UEFI Booting and Secure Boot in ESXi Environments](https://angrysysops.com/2024/01/26/embracing-uefi-booting-and-secure-boot-in-esxi-environments/) \ Transitioning from BIOS to UEFI booting in ESXi environments is a pivotal step toward enhancing system security and performance. UEFI, with its advanced features like faster boot times and Secure Boot, ensures a robust and secure operating environment. Secure Boot, in particular, plays a crucial role by allowing only signed software to run, thus protecting systems against unauthorized firmware and drivers. - [How to Report the MFA Status for Entra ID User Accounts](https://practical365.com/mfa-status-user-accounts/) \ Microsoft doesn't provide a PowerShell cmdlet to return an accurate MFA status for Entra ID user accounts, but by combining data from multiple sources we can write a script to generate a report showing details of user password settings and MFA status. - [Tagging Virtual Machines with the CISTag Module in PowerShell](https://powershell.ro/tagging-virtual-machines-with-the-cistag-module-in-powershell/) \ In this blog post, we’ll explore the process of assigning tags to multiple VMs using the CIStag module in PowerShell. This becomes necessary when the conventional PowerCLI module for tagging VMs fails, as was the case for me. ## Projects, Scripts, and Modules - [Update Windows 10 to 22H2 via Enablement Package](https://github.com/TawTek/MSP-Automation-Scripts/blob/main/Update-Win10-22H2.ps1) \ Developed a script to push to 6000+ endpoints using NinjaRMM that will helps update Windows 10 computers to 22H2 using the enablement package. Ninja has been having issues with getting all these computers patched, so wrote this to help bring all devices up to 22H2 which is the last serviced Windows 10 version until EOL. - [GitHub - cdhunt/httpunitPS: A PowerShell port of httpunit](https://github.com/cdhunt/httpunitPS) \ A PowerShell port of httpunit. The goal of this module is to utilize Net.Http.HttpClient to more closely simulate a .Net client application. It also provides easy access to the Windows Certificate store for client certificate authentication. - [helium v 1.1.8](https://www.powershellgallery.com/Packages/helium/1.1.8) \ Assorted Utilities to make your day happier than inhaling a party balloon. - [PSWeave v 0.1.1](https://www.powershellgallery.com/Packages/PSWeave/0.1.1) \ PowerShell module that innovates automation with AI to make you more productive ## Community - [PowerShell and Education: A Deep Dive with Jim Tyler, Director of Technology](https://powershellpodcast.podbean.com/e/powershell-and-education-a-deep-dive-with-jim-tyler-director-of-technology/) \ In this episode of the PowerShell Podcast, we have the pleasure of hosting Jim Tyler (@PowerShellEngineer). In this episode, Jim shares insights into PowerShell in K-12 education, his book and YouTube channel, Miscripts.org, and his various projects and passions. Join us as we delve into Jim's background, his journey into PowerShell, and the unique challenges and rewards of working in the K-12 sector. We discuss the impact of AI on education, the birth of Miscripts.org, and Jim's creative ventures, from YouTube tutorials to self-publishing a PowerShell book. Get ready for a conversation packed with valuable insights, practical advice, and a touch of Disney magic. Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

    7
    0
    powershell
    Powershell pwshguy 8 months ago 85%
    PowerShell Weekly for January 26, 2024

    ## Announcements! - [PowerShell 7.5.0 preview 1 released](https://github.com/PowerShell/PowerShell/releases/tag/v7.5.0-preview.1) \ Come try out the latest preview on PowerShell 7.5. - [More SAPIEN Product Releases for ARM64](https://www.sapien.com/blog/2024/01/23/more-sapien-product-releases-are-now-available-for-arm64/) \ We are pleased to announce that PowerShell Help, CIM Explorer 2024, VersionRecall 2024, and PrimalXML 2024 are also now available for ARM64. ## Blogs, Articles, and Posts - [How to Use PowerShell to Retrieve Permissions for Entra ID Apps](https://office365itpros.com/2024/01/24/app-permissions-report/?utm_source=rss&utm_medium=rss&utm_campaign=app-permissions-report) \ Recent attacker activity made me think that access might have been gained through an OAuth app. Keeping an eye on app permissions is important. From a PowerShell perspective, it is reasonably straightforward to retrieve details of app permissions using the Microsoft Graph PowerShell SDK. Several methods are available to do the job. - [How to Update Tenant Corporate Branding for the Entra ID Sign-in Screen with PowerShell](https://office365itpros.com/2024/01/25/corporate-branding-for-entra-id/?utm_source=rss&utm_medium=rss&utm_campaign=corporate-branding-for-entra-id) \ The ability to apply custom corporate branding for Entra Id screens has existed since 2020. You can update elements through the admin center or PowerShell. This article explains how to use the Microsoft Graph PowerShell SDK to customize the sign-in text and background image for the sign-in screen. - [Use Azure Automation and PowerShell to Create a Daily Microsoft Entra Risk Report](https://practical365.com/use-azure-automation-and-powershell-to-create-a-daily-microsoft-entra-risk-report/) \ In this article, Sean McAvinue explains how to use PowerShell and Azure Automation runbook to create a Daily Microsoft Entra Risk Report. - [Using the PowerShell PSWindowsUpdate module](https://powershellisfun.com/2024/01/19/using-the-powershell-pswindowsupdate-module/) \ I've been using the PSWindowsUpdate module for a while now; it's very convenient when spinning up a test VM for a customer if you want to have it up-to-date before going through the Windows Autopilot process, for example. In this blog post, I will show you how the module works with a few examples of how I use it. - [Installing updates during Autopilot: Windows 11 edition, revisited again](https://oofhours.com/2024/01/26/installing-updates-during-autopilot-windows-11-edition-revisited-again/) \ This seems to be a frequent blog topic, with posts going back to 2019: So why bring this up yet again? I blame Gary Block - [Understanding the Intune Management Extension client health check](https://www.petervanderwoude.nl/post/understanding-the-intune-management-extension-client-health-check/) \ This week is sort of a follow-up on the posts of the last couple of weeks about Win32 apps. This week, however, the focus is more on the process that is in place to make sure that everything around the Intune Management Extension (IME) keeps functioning. The IME contains many important components for installing Win32 apps, for running PowerShell scripts, for running inventories, and more. That makes it important that the IME is running successfully. To make sure that the IME is running successfully, the Intune Management Extension Health Evaluation was introduced. That evaluation is focused on performing checks on the service of the IME. This post will have a closer look at the IME client health check and the actions that it performs. - [Replace String Containing Special Characters in PowerShell](https://www.spguides.com/replace-string-containing-special-characters-in-powershell/) \ There might have been scenarios where you want to replace a string containing special characters in PowerShell. In this tutorial, I will explain to you different examples of how to replace strings containing special characters in PowerShell. To replace a string containing special characters in PowerShell, you can use the -replace operator with an escape character - [Simplifying PowerShell Object Validation & Transforming: A JSON-Schema Refactoring Journey](https://devdojo.com/hcritter/simplifying-powershell-object-validation-transforming-a-json-schema-refactoring-journey) \ In a recent scripting endeavor, I developed a PowerShell script with an ArgumentTransformationAttribute. The script's purpose was to convert PSCustomObjects or Hashtables into a JSON format tailored for seamless integration with a BatchRequest destined for the Microsoft Graph API. - [Finding Your Way on the System.IO.Path](https://jeffhicks.substack.com/p/finding-your-way-on-the-systemiopath) \ Since we’ve been exploring ways to use .NET classes to supplement existing command coverage in PowerShell, I thought we should explore the System.IO namespace. Here, you will find several classes to incorporate into your PowerShell scripting. As you’ll see, some of the classes provide functionality already offered by existing cmdlets. I always recommend using cmdlets in your code wherever possible for beginner scripters. Cmdlets are easier to understand, are documented, and provide features like -WhatIf that you don’t get when accessing the .NET Framework directly. ## Projects, Scripts, and Modules - [I made a function that returns WHOIS data from an IP address. Uses REST against the new WHOIS RPAD api.](https://www.reddit.com/r/PowerShell/comments/19akwvf/i_made_a_function_that_returns_whois_data_from_an/) \ Been hesitant to post this, I basically had to brute force the organization and address out of their non-standard xml. So that part is messy to say the least. - [365Automatedlab V2.4.0 Released!](https://clatent.com/2024/01/365automatedlab-v2-4-0-released/) \ Overall things are good, and glad to put out v2.4.0 which I’ve added a function to delete all “deleted” SharePoint sites the recycle bin. The reason for it is you can’t mass delete SharePoint sites from the GUI and sometimes you create SharePoint sites that aren’t in your Excel workbook and this just makes it easier. - [Diagrammer.Microsoft.AD v 0.1.5](https://www.powershellgallery.com/Packages/Diagrammer.Microsoft.AD/0.1.5) \ A PowerShell module to generate an as built report on the configuration of Microsoft AD. ## Books, Media, and Learning Resources - [PowerShell on Exercism](https://exercism.org/tracks/powershell) \ Join Exercism’s PowerShell Track for access to 117 exercises with automatic analysis of your code and personal mentoring, all 100% free. - [Portscanning with Powershell](https://www.youtube.com/watch?v=c89Q6Rh0Dsw) \ I gave an impromptu talk on my #PowerShell port scanner ## Community - [From Python to PowerShell: A Developer's Perspective with Jordan Borean](https://powershellpodcast.podbean.com/e/from-python-to-powershell-a-developers-perspective-with-jordan-borean/) \ In this episode of the PowerShell Podcast, we are joined by the talented Jordan Borean. Join us as we delve into the world of PowerShell development with Jordan, exploring some of his exceptional modules that have made waves in the community. Jordan shares his unique perspective as a Python developer using PowerShell and highlights the benefits of binary modules. Dive into the details of Jordan's experience within the PowerShell community Discord, and gain insights into his journey to Red Hat, where Open Source played a pivotal role. As a bonus, discover the surprising answer to the question: If PowerShell was a song, what would it be? This episode is packed with coding wisdom, community adventures, and a touch of musical revelation. ## Fun - [PSClock/docs/Start-PSClock.md](https://github.com/jdhitsolutions/PSClock/blob/main/docs/Start-PSClock.md) \ I love having a big clock on my monitor right where I can see it. Very handy with a 41" display. Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

    5
    0
    powershell
    Powershell pwshguy 9 months ago 100%
    PowerShell Weekly for January 5, 2024

    ## Blogs, Articles, and Posts - [Naming Made Easy: AI-Powered Rename Suggestions](https://devblogs.microsoft.com/visualstudio/ai-powered-rename-suggestions/) \ Ever struggled to name a variable, method, or class—finding that perfect balance between expressiveness and conciseness? You’re not alone. We’ve tackled this universal challenge in the latest Visual Studio Preview via our GitHub Copilot Chat extension (subscription required). Introducing: AI-powered rename suggestions. - [Automated Alerts on Azure (Entra ID) Application Secret Expirations](https://www.thelazyadministrator.com/2023/12/16/automated-alerts-on-azure-entra-id-application-secret-expirations/) \ Monitoring Azure AD (Entra ID now) application secret expirations in an enterprise is a critical aspect of maintaining robust security and ensuring uninterrupted service. When application secrets expire without timely renewal, it can disrupt business operations by causing application failures. Proactive management of application secret expirations helps enterprises avoid last-minute issues, enabling a more secure and efficient operational environment. - [Create an Amazon Machine Image (AMI) of an EC2 instance with a Bash and PowerShell script](https://4sysops.com/archives/create-an-amazon-machine-image-ami-of-an-ec2-instance-with-a-bash-and-powershell-script/) \ The provided Bash and PowerShell script helps automate the creation of Amazon Machine Images (AMIs) from existing AWS Elastic Compute Cloud (EC2) instances. This is particularly useful for creating point-in-time backups or disaster recovery. I mostly use the script to quickly clone an EC2 instance for testing or troubleshooting. - [PowerShell Start Service Explained: Mastering Cmdlets for Windows Services](https://adamtheautomator.com/powershell-start-service/) \ Learn how to use PowerShell start service and other cmdlets for Windows Services in this informative tutorial. - [Copying files between Windows and Linux with SCP and PowerShell](https://4sysops.com/archives/copying-files-between-windows-and-linux-with-scp-and-powershell/) \ There are various mechanisms for copying files between Windows and Linux. A proven tool for this purpose is Secure Copy (SCP), and with the porting of PowerShell to Linux, it is suitable for this task, too. The connection runs over SSH in both cases, ensuring that files are transferred encrypted. - [Using PowerShell to query your Ubiquiti UISP information](https://powershellisfun.com/2023/12/21/using-powershell-to-query-your-ubiquiti-uisp-information/) \ Two days ago, I received my new Ubiquiti UISP Console, an eight-port switch/router with 10Gbit SFP+ slots managed by the Ubiquiti UISP software running on my VPS in Docker. In this blog post, I will show you a few examples of how to query it using PowerShell. - [Automating Windows 365 part 2 – Using Graph X-Ray](https://sccmentor.com/2023/12/30/automating-windows-365-part-2-using-graph-x-ray/) \ Introduction This is Part 2 of a new series of guides which will cover managing Windows 365 Cloud PC’s using PowerShell and Microsoft Graph. This mini series should help you get started with automatingContinue reading - [Uninstall any application in a jiffy using PowerShell and Microsoft Intune](https://www.imab.dk/uninstall-any-application-in-a-jiffy-using-powershell-and-microsoft-intune/) \ Introduction This post is a just a quick follow up on my previous post: Uninstall any application in a jiffy using PowerShell and Configuration Manager I received a few questions whether the PowerShell script can be used with Microsoft Intune instead of Microsoft Configuration Manager. And sure! This post will explain one of many approaches available with Intune. - [How to create a maintenance mode in Azure Automation](https://baswijdenes.com/how-to-create-a-maintenance-mode-in-azure-automation/) \ An emergency button to ensure that your runbooks stop running without disconnecting the schedule in Azure Automation Disclaimer: This post can be seen as satire. There are probably better ways, but because we were so limited with the customer at the time, we opted for a hobby approach: Maintenance mode the creative way. ## Projects, Scripts, and Modules - [Reporting Entra ID Admin Consent Requests](https://office365itpros.com/2023/12/22/admin-consent-requests/?utm_source=rss&utm_medium=rss&utm_campaign=admin-consent-requests) \ A question came in about how to report admin consent requests as viewed through the Entra ID admin center. PowerShell does the trick, once you know how. The key thing is to find the right cmdlet to use. Once you know that, the rest is pretty easy as we explain in this article. - [Audit & Report Microsoft 365 Admin Activity using PowerShell](https://o365reports.com/2023/12/15/audit-microsoft-365-admin-activity-using-powershell/) \ As a Microsoft 365 admin, ever pondered how your sub-admins wield their privileged powers? We get it – managing multiple admins is no small feat. Microsoft 365 administrators hold significant responsibilities like getting users on board, handling passwords, overseeing various ## Books, Media, and Learning Resources - [PowerCLI Tutorial: Boost Your VMware Management Skills](https://adamtheautomator.com/powercli-tutorial/) \ Begin your journey with our PowerCLI tutorial and elevate your VMware infrastructure management to expert levels. Learn essential tips and tricks today! - [PowerShell for Linux admins](https://powershellisfun.com/2024/01/04/powershell-for-linux-admins/) \ During the Cloud Expo convention in the Netherlands last month, I spoke to someone who said that learning all the PowerShell commands as a Linux admin was difficult. PowerShell was built to make it easier for Linux admins to transition to it. In this blog post, I will show you how aliases work and how they help Linux Admins get started with basic PowerShell tasks. - [What's in Windows Terminal 1.19 Preview](https://www.youtube.com/watch?v=MdPTekwIAFE) \ In this video, Christopher Nguyen (PM on Windows Terminal) and Mike Griese (Senior Software Engineer on Windows Terminal) will highlight some features from the Windows Terminal 1.19 Preview release—Including community favorites! ## Community - [From Engineer to Manager: Mike Kanakos on Transition, Lessons, and Community](https://powershellpodcast.podbean.com/e/from-engineer-to-manager-mike-kanakos-on-transition-lessons-and-community/) \ In this episode of the PowerShell Podcast, we sit down with Microsoft MVP Mike Kanakos to explore his journey transitioning from an engineer to a manager. Mike candidly shares the valuable lessons learned, from navigating newfound responsibilities to embracing a mentoring role. We delve into the pivotal role community involvement played in his managerial growth, touching on how insights from successful teams and best practices informed his approach. The discussion also unveils exciting changes ahead for the Research Triangle PowerShell User Group, which Mike leads. As a bonus, we get an insider's look into Mike's favorite PowerShell modules. Join us for an insightful conversation packed with lessons, community impact, and a sneak peek into the evolving PowerShell landscape. - [Farewell to Jordan: MVP Chrissy LeMaire Unleashes AI Wisdom](https://powershellpodcast.podbean.com/e/farewell-to-jordan-mvp-chrissy-lemaire-unleashes-ai-wisdom/) \ In this special episode of the PowerShell Podcast, the hosts are joined by the esteemed Chrissy LeMaire, a double Microsoft MVP and GitHub star as we bid a fond farewell to Jordan. Chrissy's wealth of expertise in the PowerShell, GitHub, and AI realms adds a unique perspective to the discussion. We talk about creating personalized chatbots with ChatGPT, uses for AI. Chrissy shares news about her upcoming AI book and the life-changing moment that got her to embrace AI. All that, and more! Don't miss this insightful conversation with a true powerhouse in the tech community. - [Unlocking Secrets: Sam Erde on Open-Source Contributions and the Locksmith Module](https://powershellpodcast.podbean.com/e/unlocking-secrets-sam-erde-on-open-source-contributions-and-the-locksmith-module/) \ In this episode of the PowerShell Podcast, featuring guest Sam Erde, we delve into a myriad of topics starting with Andrew's successful acceptance of his talk at PowerShell Summit. The episode unfolds with a spotlight on community resources. Sam Erde, our esteemed guest, shares insights into his blogging journey and his contributions to open-source projects, with a particular focus on the Locksmith module designed to uncover misconfigurations in ADCS Certificate Services. Sam also provides his unique perspective on leveraging PowerShell for various tasks. The hosts engage in a discussion about the community ethos, underscoring the importance of creating more value than capturing, and Sam shares personal experiences that have shaped his approach to community involvement. Tune in for an episode packed with valuable insights, community highlights, and the power of PowerShell in action. ## Fun - [Which naming convention for internal variables?](https://www.reddit.com/r/PowerShell/comments/18yhi25/which_naming_convention_for_internal_variables/) \ Hi guys, I'm new to PowerShell and Microsoft has a guide for Approved Verbs for PowerShell Commands and Strongly Encouraged Development Guidelines, but which naming convention do you use for internal variables? Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

    3
    0
    programming_languages Programming Languages January 2024 monthly "What are you working on?" thread
    Jump
  • pwshguy pwshguy 9 months ago 100%

    I installed some security cameras around my house and set up Shinobi using an old PC. Unfortunately the PC is too old to use the built-in detectors in Shinobi. So, I took my first dive into playing around with some image detectors.

    I wrote some python to download the daily recording from old PC to a newer one with a 3080 GPU. Then checks the videos for people. It will then trim the videos to only include times were there are people in frame. It cut my the storage requirements by over 95%.

    4
  • powershell
    Powershell pwshguy 9 months ago 88%
    2023: A PowerShell Year in Review [OC] www.dowst.dev

    Check out my review of the past 12 months of PowerShell and the PowerShell Weekly newsletter. I'd also love to hear what others have to say about the past year as well.

    7
    0
    powershell
    Powershell pwshguy 9 months ago 100%
    PowerShell Weekly for December 15, 2023

    ## Blogs, Articles, and Posts - [Exchange Online: How to set Junk Settings for Shared Mailboxes](https://sid-500.com/2023/12/12/exchange-online-how-to-set-junk-settings-for-shared-mailboxes/) \ When working with shared mailboxes, there is a problem: the user connected to this mailbox cannot configure the Junk Mail Settings for this shared mailbox in Outlook itself. - [Entra ID Improves Registered App Security](https://office365itpros.com/2023/12/11/app-instance-property-lock/?utm_source=rss&utm_medium=rss&utm_campaign=app-instance-property-lock) \ The preview app instance property lock feature designed to improve the security of Entra ID registered apps is becoming the default for new apps. In this article, we describe how to update the app instance property lock to reflect the new default setting using cmdlets from the Microsoft Graph PowerShell SDK, including a script you can download and run. - [Microsoft Graph API Endpoint Adds Last Successful Sign-In Date Time](https://www.thelazyadministrator.com/2023/12/09/microsoft-graph-api-endpoint-adds-last-successful-sign-in-date-time/) \ Previously, if you wanted to find a user’s last successful sign-in to your Microsoft 365 tenant using the Microsoft Graph REST API, you would have to iterate through Entra ID sign-in logs. With new recent additions to the Microsoft Graph API Beta Endpoint, you can now return the UTC value just by parsing the user details and properties. The Microsoft documentation regarding the signInActivity resource type can be found here. - [Automating cleanup Entra Joined AVD hosts](https://www.nielskok.tech/azure-virtual-desktop/automating-cleanup-entra-joined-avd-hosts/) \ This post is about automating the cleanup for Entra Joined Azure Virtual Desktop (AVD) hosts. - [Microsoft Intune PowerShell Additional Requirement Rules](https://powershellisfun.com/2023/12/08/microsoft-intune-powershell-additional-requirement-rules/) \ In my last blog post, I showed you how to use Detection scripts in Intune. In this blog post, I will show you how the additional requirement rules work and how you can use PowerShell for those. - [Using GitHub Copilot to Upgrade PowerShell Scripts to the Microsoft Graph PowerShell SDK](https://practical365.com/using-github-copilot-to-upgrade-powershell-scripts-to-the-microsoft-graph-powershell-sdk/) \ In this blog, Andy Scheider deep dives into GitHub Copilot and how it can be used to upgrade PowerShell Scripts to the Microsoft Graph PowerShell SDK. - [Send Telegram Messages from a PowerShell Script](https://woshub.com/send-telegram-message-powershell/) \ You can use your Telegram messenger as a notification tool to get instant reports on various infrastructure events, script execution results, or scheduler tasks. This article shows you how to… - [Powershell Global Variable: Mastering Scope and Usage with Examples](https://www.spguides.com/powershell-global-variable/) \ PowerShell global variables are an essential aspect of scripting in Windows PowerShell. They offer a way to store and manipulate data across functions, scripts, and cmdlets. In this tutorial, I will explain to you how to define, set, and use global variable in PowerShell. - [Recurring PowerShell Update Issue Easily Fixed - Ed Tittel](https://www.edtittel.com/blog/recurring-powershell-update-issue.html) \ Deja vu! With the introduction of version 7.4.0, MS once again changed the PowerShell (PS) installer. That means Winget won’t update PS directly; one must visit the GitHub PS page and grab a new installer from there. Afterward, as shown in the lead-in graphic, old(er) version(s) of PS still show up when WinGet upgrade is … Continue reading Recurring PowerShell Update Issue Easily Fixed → ## Projects, Scripts, and Modules - [PSEtw](https://github.com/jborean93/PSEtw/) \ PowerShell module for capturing ETW events in realtime. Currently this supports Manifest and Trace Logging ETW providers - [Credential Harvesting with PowerShell and SpecterInsight](https://practicalsecurityanalytics.com/credential-harvesting-with-powershell-and-specterinsight/) \ Credential harvesting, also known as credential theft or credential stealing, refers to the collection sensitive authentication information from individuals or systems. The goal of credential harvesting is to obtain usernames, passwords, or other authentication tokens that allow access to protected resources. This post will cover a variety of different credential harvesting techniques, how to leverage those techniques using SpecterInsight, and how to view the data in Kibana. ## Books, Media, and Learning Resources - [Mastering Microsoft 365 PowerShell Scripting](https://practical365.com/microsoft-365-powershell-scripting/) \ A common question at conferences is how to start with Microsoft 365 PowerShell scripting. We all have our own approach. This article lays out a simple three-step method to write scripts to interact with Microsoft 365 objects. - [Intro to REST API calls with Powershell](https://www.youtube.com/watch?v=-NVh5cVOeO4) \ Making a REST API call with no Auth Token - [GitHub - wgross/ps-module-to-module-call: Example for showing propagation of Debug/Verbose between PS Script modules](https://github.com/wgross/ps-module-to-module-call) \ Example for showing propagation of Debug/Verbose between PS Script modules - GitHub - wgross/ps-module-to-module-call: Example for showing propagation of Debug/Verbose between PS Script modules ## Community - [Code in Action: Embracing Hands-On Learning with Jeff Hicks](https://powershellpodcast.podbean.com/e/code-in-action-embracing-hands-on-learning-with-jeff-hicks/) \ In this episode of the PowerShell Podcast, guest Jeff Hicks leads a dynamic discussion on the power of hands-on learning with PowerShell and the numerous benefits of learning by doing. Jeff challenges the community with a scripting challenge, encouraging active participation. The episode also features a showcase of some outstanding community blogs, including topics like PowerShell performance testing, web scraping, and module development. Jeff shares insights into his own remarkable modules, and the hosts delve into noteworthy community projects. Don't miss Jeff's scripting challenge and be sure to check out the community blogs and links discussed in this episode! ## Fun - [Good practice questions for Powershell?](https://www.reddit.com/r/PowerShell/comments/18fydf7/good_practice_questions_for_powershell/) \ I have few as a suggestions here, but i needed better suggestions from this forum as always, please help.. ## Events - [PowerShell + DevOps Global Summit](https://www.powershellsummit.org/) \ April 8-11, 2024 - Bellevue, WA Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

    5
    0
    dfw
    Dallas-Fort Worth pwshguy 10 months ago 100%
    Join us at DFW System Management User Group Winter meetup www.eventbrite.com

    Join us for the DFWSMUG Winter Event, where we'll gather in person for a fun-filled evening of learning and networking. Sessions include: - AI for the IT Pro - The 12 Days of Arc-Mas!!! - Kusto: From Common to Crazy This is completely free and open to all IT professionals in the DFW area. It will be host at the Microsoft MTC in Las Colinas, but we are not affiliated with Microsoft. They are just kind enough to provide us a meeting space. Space is limited so be sure to register soon. Oh, and there will be cookies!!! (Mods apologizes if this is against your rules. Since it is free event and we are a non-profit, I figured it wouldn't be considered SPAM.)

    4
    0
    powershell
    Powershell pwshguy 10 months ago 100%
    PowerShell Weekly for December 1, 2023

    ## Announcements! - [PowerShell + DevOps Global Summit Early Bird Tickets Now on Sale](https://powershell.org/2023/11/earlybirdnowopen/) \ Unlock Your PowerShell Potential: PowerShell + DevOps Global Summit Tickets Now on Sale! Are you ready to elevate your PowerShell and DevOps skills to new heights? The wait is over! ## Blogs, Articles, and Posts - [Using PowerShell and Twilio API for Efficient Communication in Contact Tracing](https://devblogs.microsoft.com/powershell-community/powershell-twilio-contact-tracing-communication/) \ Learn to integrate PowerShell with Twilio API and streamline communication for COVID-19 contact tracing initiatives. - [Automate Text Summarization with OpenAI and PowerShell](https://devblogs.microsoft.com/powershell-community/automate-text-summarization-with-openai-powershell/) \ This easy-to-follow guide shows you how to use PowerShell to summarize text using OpenAI's GPT-3.5 API. - [Terminal Chat in Windows Terminal Canary](https://devblogs.microsoft.com/commandline/terminal-chat-in-windows-terminal-canary/) \ At Build 2023, we announced that Windows Terminal users will be able to take advantage of natural language AI to recommend commands, explain errors and take actions within Windows Terminal. Since then, we have been listening to customer feedback and iterating on our AI chat experiments in Windows Terminal. - [Streamlining Security: Converting CRT Certificates to PEM](https://adamtheautomator.com/crt-certificates-to-pem/) \ Dive in and learn how to use and to convert CRT certificates to PEM via PowerShell scripts in this ATA Learning tutorial! - [Reporting User and Group Assignments for Enterprise Applications](https://office365itpros.com/2023/11/22/enterprise-app-assignments/?utm_source=rss&utm_medium=rss&utm_campaign=enterprise-app-assignments) \ A reader asked how to report user and group assignments for enterprise apps. As it turns out, this isn't particularly difficult, if you know where to look. Our script uses the Graph SDK to check service principals, filters out the apps to check, and extracts the user and group assignments before reporting what it finds. - [Generating PowerShell module documentation with platyPS](https://mikefrobbins.com/2023/11/30/generating-powershell-module-documentation-with-platyps/) \ Creating accurate and efficient documentation is paramount in technical writing, especially for PowerShell modules. platyPS, an open-source module, emerged as a solution for generating Markdown-based reference content for PowerShell modules. This article provides a comprehensive guide for using platyPS to create and maintain high-quality reference documentation for your PowerShell module, enhancing the experience for both module authors and users. - [Microsoft Intune PowerShell Detection scripts](https://powershellisfun.com/2023/11/30/microsoft-intune-powershell-detection-scripts/) \ When I deploy Win32 packages in Intune, I use PowerShell detection scripts to detect if the software is installed on a system. In the blog post, I will show you how they work and why they are more flexible than file and registry checks. What are detection scripts in Intune? - [Where the heck is the PowerShell Module loading from?](https://blog.darrenjrobinson.com/where-the-heck-is-the-powershell-module-loading-from/) \ If you’re anything like me you always have PowerShell open, and often both PowerShell and Windows PowerShell. And PowerShell in VSCode and Terminal (and sometimes Jupyter Notebook, and WSL – Windows Subsystem for Linux). - [Using a specific PowerShell profile for a Console session, Windows Terminal, PowerShell ISE, or Visual Studio Code](https://powershellisfun.com/2023/11/23/using-a-specific-powershell-profile-for-a-console-session-windows-terminal-powershell-ise-or-visual-studio-code/) \ I ran into this somewhere during this week. I wanted to have different PowerShell profiles for other applications. (I don't need all my functions and scripts being loaded in every PowerShell session or by a Scheduled Task) In this blog post, I will show you how to change your PowerShell profiles and make them specific for an application. - [PowerShell Perfomance-Test: Get the Maximum](https://devdojo.com/hcritter/powershell-perfomance-test-get-the-maximum) \ Efficiency is key when working with PowerShell, and maximizing performance is a common goal for script developers. In this post, we'll explore various techniques for retrieving the maximum number from arrays of different sizes, comparing well-known approaches like Measure-Object, Sort-Object and a more mathematical method. - [Ask Jeff November 2023](https://jeffhicks.substack.com/p/ask-jeff-ab8) \ I am amazed at how quickly the year is flying by, and there is so much left on my to-do list for 2023. I guess we’d better get right to the monthly wrap-up. - [Getting Download Links from Webpages using PowerShell](https://blog.griff.systems/published/2023/getting_download_links_from_webpages/) \ Introduction I recently had the need to update the Microsoft ODBC Driver for SQL Server on a collection of Windows servers. ## Projects, Scripts, and Modules - [Wingetposh v1.0.1](https://github.com/Yves848/WingetPosh) \ Winget helper written in Powershel - [PowerShell-ALC](https://github.com/jborean93/PowerShell-ALC) \ Example ALC structures to use with in a PowerShell module - GitHub - jborean93/PowerShell-ALC: Example ALC structures to use with in a PowerShell module ## Books, Media, and Learning Resources - [AI-Powered Coding: Unleashing Data and SQL Mastery with GPT Function Calling](https://www.youtube.com/watch?v=kU9FeBWuZnw) \ Experience the synergy of AI and coding — tune in to see how GPT Function Calling transforms external tools and database management with Doug Finke on the Microsoft VS Code Livestream. ## Community - [In Code We Trust: Being Thankful for PowerShell](https://powershellpodcast.podbean.com/e/in-code-we-trust-being-thankful-for-powershell/) \ In this special gratitude-filled episode of the PowerShell Podcast, we take time to appreciate the wonderful world of PowerShell - where tech and community coalesce. We highlight some splendid community projects, highlighting their large impacts and innovative approaches. As we recall our podcast journey, we revel in a nostalgic look back while also envisioning a powerful future. From personal anecdotes revealing how PowerShell has shaped our tech lives to a thought-provoking expose on error handling, the episode is a wholesome tableau of learning, reflection, and connection. It's a delightful mix of the cerebral and the personal - with plenty to be thankful for! - [PowerShell Summit & More: A Chat with James Petty](https://powershellpodcast.podbean.com/e/powershell-summit-more-a-chat-with-james-petty/) \ In this episode of the PowerShell Podcast, we were joined by Microsoft MVP and PowerShell.org CEO James Petty. We dove into the core of what PowerShell.org brings to the community and James' instrumental role in driving this platform forward. James shared insightful details about the future of the eagerly awaited PowerShell Summit, highlighting the significant and welcome changes in store for next year. The conversation also hailed his latest literary creation, 'Learn PowerShell Scripting in a Month of Lunches,' as we explored the evolution in content and approach compared to its predecessor. Adding to this rich mix were James' anecdotes from his time as a professor teaching PowerShell at a college, providing a truly riveting podcast that celebrates the wide-reaching influence of PowerShell. - [OnRamp2024 Program Unveiled](https://powershell.org/2023/11/onramp2024-program-unveiled/) \ The PowerShell + DevOps Global Summit proudly announces the OnRamp Program for 2024 to foster inclusivity and provide opportunities for aspiring IT professionals. - [PowerShell Pulse: Monthly Tech Talks & Community Showcase](https://www.meetup.com/nycpowershellmeetup/events/297570378/) \ Welcome to PowerShell Pulse, a monthly virtual gathering that brings the vibrancy and innovation of the PowerShell community right to your screen! Call for speakers now open. ## Fun - [Automating life tasks](https://www.reddit.com/r/PowerShell/comments/186yyqp/automating_life_tasks/) \ Been automating a lot of my task at work away with powershell. What are some things in your daily life that you could use powershell to automate away? - [Let's have a look at what commands we use](https://gist.github.com/Jaykul/dd1c341da90e47396f6f523031000221) \ Let's have a look at what commands we use. GitHub Gist: instantly share code, notes, and snippets. ## Events - [Advent of Code 2023](https://adventofcode.com/2023/about) \ Today is the first day! Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

    7
    0
    powershell
    Powershell pwshguy 10 months ago 100%
    PowerShell Weekly for Nov 17, 2023

    ## Announcements! - [PowerShell 7.4 General Availability](https://devblogs.microsoft.com/powershell/powershell-7-4-general-availability/) \ PowerShell 7.4 GA has been released. ## Blogs, Articles, and Posts - [Speeding up PowerShell module development with RestartableSession](https://mdgrs.hashnode.dev/speeding-up-powershell-module-development-with-restartablesession) \ Let's assume you are developing a PowerShell module. You would add small modifications to the module and test if they work as expected iteratively. In each iteration, after you edit the module code, how do you test the modification? - [Security Update: PowerShell Universal CVE TBD](https://blog.ironmansoftware.com/powershell-universal-apis-cve/) \ Learn about CVE TBD in PowerShell Universal. - [Best Practices Make Perfect](https://jeffhicks.substack.com/p/best-practices-make-perfect) \ Over the last several weeks, I've been sharing and demonstrating techniques for writing effective PowerShell functions. I know I've mentioned a few recommended best practices. But since they are important, I want to review and re-emphasize them. These practices will make your code easier to write, debug or troubleshoot and more secure. I'd like to think some of them are simply common sense, but sometimes we need someone to remind us. These items are not in any particular order. - [Building a Notion PowerShell Module: Part 3](https://adamtheautomator.com/notion-powershell-3/) \ Learn the next steps of building a PowerShell Notion module in this in-depth PowerShell tutorial by ATA Learning! - [Customizing the Microsoft 365 User Profile Card with the Microsoft Graph PowerShell SDK](https://office365itpros.com/2023/11/15/user-profile-card-sdk/?utm_source=rss&utm_medium=rss&utm_campaign=user-profile-card-sdk) \ This article describes how to use the Microsoft Graph PowerShell SDK to customize the user account properties shown by the Microsoft 365 user profile card. Previously this was possible using a Graph API request to the beta endpoint. Now everything is in production and Graph SDK cmdlets are available to make customization a tad easier. - [PowerShell: Search for Empty Folders (and delete them)](https://sid-500.com/2023/11/14/powershell-search-for-empty-folders-and-delete-them/) \ We live in times of Big Data. Too much data in too short a time. You may have empty folders in your environment and if you want to search for them - [Azure Arc-enabled servers: Automate scripts with Bicep & Azure DevOps](https://www.markou.me/2023/11/azure-arc-enabled-servers-automate-scripts-with-bicep-azure-devops/) \ Azure Arc empowers you to extend Azure management and services to any infrastructure. One powerful way to leverage Azure Arc is by automating script execution - [Using Power Automate and Azure Automation to Manage the Lifecycle of SharePoint Sites](https://practical365.com/using-power-automate-and-azure-automation-to-manage-the-lifecycle-of-sharepoint-sites/) \ A key aspect of a well-managed Microsoft 365 environment is to ensure that SharePoint sites are removed when they are no longer needed. In this blog, Sean McAvinue explores how to combine relatively basic PowerShell and Azure Automation skills with Power Automate to create a clean, robust way to manage the lifecycle of SharePoint sites in your Microsoft 365 tenant. ## Projects, Scripts, and Modules - [PSZoom v 2.0.4.2](https://www.powershellgallery.com/Packages/PSZoom/2.0.4.2) \ A collection of Powershell tools to interface with the Zoom Api. - [Get Microsoft 365 License Usage Count Using PowerShell](https://thesysadminchannel.com/get-microsoft-365-license-usage-count-using-powershell/) \ Keeping an eye on the available licenses in your Microsoft tenant is essential to ensuring you and your users have what is needed to keep the business running. Whether you assign licenses directly or you use Group Based Licensing ## Community - [Emil Larsson: Creating Communal Tech Waves with PowerShell](https://powershellpodcast.podbean.com/e/emil-larsson-creating-communal-tech-waves-with-powershell/) \ In this episode of the PowerShell Podcast, we had Emil Larsson join us! We had a healthy amount of community blogs in this episode, with lots of great conversation all throughout. We discussed how helpful contributing to PowerShell docs can be. We learned about Emil's evolution with PowerShell and how the industry has changed in his 10+ years of experience. Emil and Andrew revisited their early IT days of grappling with upgrades from Windows XP to Windows 7, making all of us a bit nostalgic. We also had a fair bit of discussion around what the PowerShell community is all about. ## Fun - [Happy 17th Birthday PowerShell - Ed Tittel](https://www.edtittel.com/blog/happy-17th-birthday-powershell.html) \ On November 14, 2023, I wish "Happy 17th Birthday PowerShell" to express my thanks for this powerful, flexible open source command line. - [What are some of the coolest things you've built outside of your job?](https://www.reddit.com/r/PowerShell/comments/17urdfb/what_are_some_of_the_coolest_things_youve_built/) \ As in, things for personal use or personal projects you've created? Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

    8
    0
    powershell Powershell I haven't seen a [#PowerShell](https://fosstodon.org/tags/PowerShell) [#Podcast](https://fosstodon.org/tags/Podcast) account in the fediverse, but I talked to them anyway 😉
    Jump
  • pwshguy pwshguy 12 months ago 100%

    Joel "Jaykul" Bennet is an opinionated DevOps engineer, programmer, speaker, and Microsoft MVP.

    I love that description. I can't wait to listen to it tonight!

    1
  • powershell
    Powershell pwshguy 1 year ago 100%
    Display Profile Functions [OC] www.dowst.dev

    If you are like me and have multiple machines you work on with different profiles, it can be difficult to remember which profile contains which functions. So, I wrote a quick function that will display all the functions for me on start up.

    5
    0
    powershell Powershell Guidance on developing locally with Azure Automation
    Jump
  • pwshguy pwshguy 1 year ago 100%

    Just a heads up, I received confirmation from the product team that the AZUREPS_HOST_ENVIRONMENT environment variable is going away. They are moving the backend to containers. Also, the COMPUTERNAME one that was always "client" is going to change too. The COMPUTERNAME will now be "Sandbox-###" with # being random numbers. I started using the code block below in my runbooks to find if they are running in Azure or hybrid worker/locally. It accounts for the current and the updates that will be rolling out in the near future.

    $isHybridWorker = $true
    if (($env:computername) -eq "CLIENT") {
        $isHybridWorker = $false
    }
    elseif ($env:USERNAME -eq 'ContainerAdministrator') {
        $isHybridWorker = $false
    }
    ``
    2
  • powershell Powershell Guidance on developing locally with Azure Automation
    Jump
  • pwshguy pwshguy 1 year ago 100%

    Typically, when I have a script I need to test locally, I’ll comment out the identity connection command and just authenticate outside of my script. If I’m feeling real fancy, I’ll write a try/catch to attempt to authenticate first as the managed identity then if it fails prompt me for credentials. Not the most elegant solution, but it works.

    try {
        Add-AzAccount -Identity -SubscriptionId $SubscriptionId -ErrorAction Stop | Out-Null
    }    
    catch {
        Add-AzAccount -SubscriptionId $SubscriptionId
    }
    
    2
  • programming Programming Most and Least Verbose Programming Languages
    Jump
  • pwshguy pwshguy 1 year ago 100%

    For some reason their API would not return anything for assembly. I was curious to see where it would rank too,

    4
  • programming Programming Most and Least Verbose Programming Languages
    Jump
  • pwshguy pwshguy 1 year ago 100%
    7
  • sysadmin Sysadmin Patch Tuesday 8 August 2023
    Jump
  • pwshguy pwshguy 1 year ago 100%

    Biggest things I'm seeing is CVE-2023-21709 for Exchange requires a PowerShell script to be run after patching. Also, CVE-2023-29328/29330 for Teams affect all devices (Windows, Mac, iOS, and Android).

    2
  • powershell Powershell In honor of sysadmin day, what are some of your favorite sysadmin related scripts or modules?
    Jump
  • pwshguy pwshguy 1 year ago 100%

    I love WinGet but I just wish there was support for Windows Server, without having to do a bunch of hacks

    2
  • powershell Powershell In honor of sysadmin day, what are some of your favorite sysadmin related scripts or modules?
    Jump
  • pwshguy pwshguy 1 year ago 100%

    Edited to Add: I noticed this community is Powershell, here the powershell version of above:

    Nice! You are a person of many talents

    2
  • powershell Powershell In honor of sysadmin day, what are some of your favorite sysadmin related scripts or modules?
    Jump
  • pwshguy pwshguy 1 year ago 100%

    Documentation is top notch too.

    Nothing will make me love a solution more than it being well documented. Sounds simple, but saves so much time.

    4
  • asklemmy Asklemmy What book would you recommend to explain to someone what you do for a living?
    Jump
  • pwshguy pwshguy 1 year ago 100%

    The book I wrote. When I first talked with the publisher he asked, "what skills would you look for in someone who wants to do your job?" And that's the premise I stuck with writing it.

    3
  • trivia Programming Trivia What was the name of the precursor to the C programming language?
    Jump
  • pwshguy pwshguy 1 year ago 100%

    I feel down a rabbit hole, a few years ago wonder the same thing about C#. Here is what I found.

    • C# was developed in 2000 as a successor to C++. Doubling the ++ to a #.
    • C++ was developed in the early 80s as a successor to C. Adding plus (+) to a name was a common way of indicating it was an enhancement. Also ++ is the incrementing operator for C.
    • C was developed in the early 70s as a successor to the B programming language. C comes after B.
    • B was developed in 1969 and was derived from the BCPL language. Basically, B was a stripped down version of BCPL.
    • BCPL (Basic Combined Programming Language) was developed in 1967 and was a designed as an simpler version of CPL.
    • CPL (Combined Programming Language) was developed in the early 60s at Cambridge. The original name was "Cambridge Programming Language" but was changed to Combined when it was published jointly with the University of London.
    1
  • python Python Datalookup: Deep nested data filtering library
    Jump
  • pwshguy pwshguy 1 year ago 100%

    Interesting. As someone who mainly deals in PowerShell, this is very similar to the Where-Object clause and could save me some headaches when I need to work in Python.

    4
  • programmer_humor Programmer Humor "If you are happy and you know it", and what it does to your Spotify statistics.
    Jump
  • pwshguy pwshguy 1 year ago 100%

    From personal experience, it seems like things outside of your normal listening don't affect too much. At least in my case, my daughter making me play the Encanto soundtrack 250,000 times hasn't affected my weekly or daily playlists.

    3
  • programmer_humor Programmer Humor Firewall Alignment Chart
    Jump
  • pwshguy pwshguy 1 year ago 100%

    That's pretty similar with what happened with me and the train. Kept getting random drops from a plant. I went out to investigate and everything tested perfect and the network was staying up. That was until a freight train rolled by. Turns out AT&T had run the line by shoving a piece of PVC through the gravel between two cross-ties, then running the cable through it.

    6
  • programmer_humor Programmer Humor Firewall Alignment Chart
    Jump
  • pwshguy pwshguy 1 year ago 100%

    I've actually had an excavator take out my network. I've also had networks taken out by forklift, train, and a semi-truck towing three other semi-trucks.

    18
  • programming Programming What are some examples of xkcd 2347?
    Jump
  • pwshguy pwshguy 1 year ago 100%

    Basically every Windows sysadmin is indebted to Mark Russinovich and SysInternals. Fortunetly, PowerToys has come a long way because I'm pretty sure sysinternals haven't been updated since Windows XP.

    23
  • experienced_devs Experienced Devs Recommended Blogging Platforms in 2023?
    Jump
  • pwshguy pwshguy 1 year ago 100%

    I've been using WordPress on Bluehost for a few years. I'm looking to move to something like Jekyll. Pretty much everything I get from WordPress can be done with a like JavaScript and Jekyll. There are plenty of examples out there of building it off of GitHub actions.

    I also do NOT recommend Bluehost. I was having issues with my site going down for no reason a while back. I contacted their support to see what was going on and they told me it wasn't on their end. And guess what, it was on their end. Ended up catching the guy in a lie. Just been trying to find the time to move everything off of them.

    3
  • powershell Powershell Who are some users that write really awesome PowerShell code?
    Jump
  • pwshguy pwshguy 1 year ago 100%

    James Brundage's code never fails to impress me. He writes a lot of code that helps you write better PowerShell. Which in turn has a bunch of slick techniques I've never seen elsewhere. https://github.com/StartAutomating

    3
  • programming Programming Programming and Humility
    Jump
  • pwshguy pwshguy 1 year ago 100%

    Been there. I've written some slick code in a weekend that has run great for years. I've also spent 2 hours trying to get a button lined up properly.

    5
  • experienced_devs Experienced Devs Advice on dealing with ADHD and remote work?
    Jump
  • pwshguy pwshguy 1 year ago 100%

    I kind of do both. I have a powerful desktop with 4 monitors. I can't stand working on a single laptop screen unless I'm traveling. And I also want to keep work separate. So, I have my laptop sitting next to my PC and I just RDP into it. This way all 4 screens are work only stuff when I'm working. Then at the end of the day I can just disconnect the session and have my personal stuff. I also have ADHD, so I try not never leave the work session during work times. I've been working from exclusively for about 6 years now and it has been the best system I've tried.

    3
  • sysadmin Sysadmin Come check out the new c/powershell over on programming.dev
    Jump
  • pwshguy pwshguy 1 year ago 100%

    Thanks! Just learn about those yesterday.

    2
  • python Python Why not tell people to "simply" use pyenv, poetry or anaconda
    Jump
  • pwshguy pwshguy 1 year ago 100%

    I come from the windows world with a strong background in PowerShell, and this article perfectly described my experiences with Python.

    I spent 2 weekends trying to get JupyterHub up and running with the dotnet interactive kernels. And it all came down to ensuring that the right packages got installed at the right levels. Between the system, conda, and pyenv. And this is not the first time I've run into such problems.

    I know it said anaconda is the worst offender, but honestly I wish there was a similar solution for PowerShell. I love the self-contained environments. It makes experimenting so much quicker and easier. But there is a learning curve.

    And he right. I got so frustrated trying to figure out pip vs conda vs conda-forge vs pip3 vs pipx. For someone who only casually delves in python, it can be real off-putting.

    However, nothing to me is more frustrating than running into package XYZ updated and now package ABC won't load. XYZ now requires python 3.10, but ABC can only run on 3.9 and below, etc. I have rage quit more than a few projects over stuff like that.

    So, as someone who only dabbles in python, my number one suggestion is to use requirements files and put version number requirements in them. And if your project has some out of the ordinary combination and you use conda, provide a brief rundown of how to install and enable it. Those few lines in your readme could make all the difference for python noobs/hacks like me.

    1
  • meta Programming.dev Meta Call for Assistance
    Jump
  • pwshguy pwshguy 1 year ago 100%

    I'd be glad to help out where I can. I have plenty of infrastructure background, so I can help with emails, backends, some database stuff, and other admin needs. I'm not familiar with VPS, but have worked on enough platforms I'm sure I can be of service.

    I added my profile here to my linktree, so that you can see I'm a real person. https://linktr.ee/mdowst

    4
  • loud Cloud /c/loud Reading List
    Jump
  • pwshguy pwshguy 1 year ago 100%

    John Savill's channel on YouTube will give you a good introduction into just about every aspect of Azure Infrastructure. He is great at giving general overviews, while still digging down to the 200-300 level, so you can really understand how the service works and how it fits together with the other offerings. He also lots of great content around security and identity management with Azure and Azure AD.

    He is a principal Azure architect at Microsoft, so you're basically getting your information direct from the source.

    1
  • programming Programming Can you trust ChatGPT’s package recommendations?
    Jump
  • pwshguy pwshguy 1 year ago 100%

    I've used ChatGPT and Copilot to help with PowerShell in the past. For the most part I've found it, okay. But I can definitely see how that could happen. I've had a few instances where is tried giving me cmdlets that don't exist. This means it is just taking pieces of code from someone else's project and not understanding how it all fits together. So, if I search that cmdlet there is no telling the number of results I could get from good, bad, or irrelevant sources. It would be better if it told you where that code came from. Then I could look at the original source and see if they created custom functions that these AI are considering to be built-in cmdlets.

    3
  • powershell Powershell Welcome to c/powershell
    Jump
  • pwshguy pwshguy 1 year ago 100%

    Ha, I'm the opposite. I use PowerShell for the vast majority of my job, but will jump into (aka hack my way through) C# in the instances where I can't use PowerShell. Although 90% of my C# is just making PowerShell modules, so I can continue to use PowerShell for everything. (I may have a PowerShell problem.)

    1