Harm Veenstra avatar

Updated my scripts

2 days ago | Harm Veenstra

Sometimes you look back at your scripts and think... Hmmm, why did I use that ?! So I looked back at some scripts, changed a few things, and updated some of the blog posts. Check them out if you haven't already ;) (Check the sidebar for categories)

Harm Veenstra avatar

Get all Microsoft IP and FQDNs for their services

6 days ago | Harm Veenstra

When you are in an environment with strict internet access, you need to figure out what to open to what destination for Microsoft services like Exchange Online, Teams, Endpoint Manager, and so on. Microsoft publishes this on their website but in the blog post, I would like to show you a nice way of outputting … Continue reading Get all Microsoft IP and FQDNs for their services

Harm Veenstra avatar

25.000 views and how I got into IT

9 days ago | Harm Veenstra

Last weekend this site passed the 25K views mark! Nice to see that people read my blogs and also that I get feedback on them, thank you all :) In this blog post, I would like to tell you about how I got into IT from a young age!

Jeff Hill avatar

PowerShell Prompt: Functionality

11 days ago | Jeff Hill

Some handy tips to add extra functionality to your PowerShell session

Harm Veenstra avatar

Text-To-Speech using PowerShell

12 days ago | Harm Veenstra

Just a little fun thing for a Friday, text-to-speech! We used this many years ago at the office, sending this to the laptop of a colleague and having fun while he’s trying to figure out where the voice is coming from 🙂 How it works There is a System.Speech assembly which can be used to … Continue reading Text-To-Speech using PowerShell

Dave Carroll avatar

Refreshing the Blog

15 days ago | Dave Carroll

Introduction I published my first article here over 4 years ago. Well, not exactly here, but we’ll get to that in a few. It had been over a year since I published any article prior to the end of August. A myriad of reasons all claim a part of “why didn’t I”. Perhaps ironically (for a technical site), one of the reasons was purely technical. As discussed in an early article, How I Blog, this site is a generated static site powered by Jekyll.

Harm Veenstra avatar

Read IntuneManagementExtension logs using PowerShell

16 days ago | Harm Veenstra

Reading logs is always something you just have to do, but the Intune logs are not easy to read without tools like CMTrace on the user's device. (The formatting is not that nice without it) In this blog post, I will show you an easy way to read one or two specific logs, or all the logs at once, and each in its own Out-Gridview console for easy filtering when searching for keywords.

Dave Carroll avatar

Questions from a PowerShell.org Forums User

29 days ago | Dave Carroll

Introduction About a week ago, I commented on a PowerShell forum post and the poster struck up a conversation in my DMs. He is starting his own PowerShell blog and wanted to ask me a few questions. (Insert self-deprecating comment here.) I thought that the questions and my responses may help provide some insight for others. 1. What is your writing process? Do you write on subjects you are currently learning about or want to research more? Sometimes the writing is the easy part.

Bradley Wyatt avatar

Connect to Exchange Online PowerShell with an Azure Managed Identity

19 days ago | Bradley Wyatt

Recently the Exchange Online Module v2 came out with support for connecting to Exchange Online via a managed identity. The module has several parameters: ManagedIdentity ManagedIdentityAccountId Organization When using the ManagedIdentity parameter you must also call the Organization parameter which is the initial, or ‘.onmicrosoft’ domain. What You Will Need PowerShell Az PowerShell Module (install-module az) The Microsoft Graph SDK (install-module Microsoft.

Bradley Wyatt avatar

Creating a Microsoft 365 Automated Off-boarding Process with SharePoint, Graph API, and PowerShell

20 days ago | Bradley Wyatt

In this write-up I will be creating a basic off-boarding automation that uses SharePoint as the front end, and PowerShell, the Graph API, and Azure Runbooks as the back-end. HR will input the users UPN or Email, offboard date/time, and a forwarding address to forward email to. Once the off-boarding datetime is within 1hr the automation will check the user in Azure AD to ensure its valid, the forwarding user is valid in Azure AD, document in SharePoint the users e-mail address, any and all licenses, and all group memberships.

Jeff Hill avatar

PowerShell Prompt: Colors and Icons

21 days ago | Jeff Hill

Tips and Tricks to improve your PowerShell experience

Faris Malaeb avatar

PowerShell Script to Simplify Send-MgUserMail

21 days ago | Faris Malaeb

Okay, Microsoft Graph API is cool, but sometimes it’s boring to deal with all these hashtables and arrays. The Send-MgUserMail is a great graph cmdlet to send Emails using the Graph API endpoint, this post is fully explained in the Send-MgUserMail BodyParameter Explained. But going through these hashtables is a challenge, and its more complicated... The post PowerShell Script to Simplify Send-MgUserMail appeared first on Faris Malaeb.

Alexander Koehler avatar

Azure AD PowerShell Prüfen ob ein Benutzer Mitglied einer Gruppe ist

23 days ago | Alexander Koehler

Heute möchte ich eine kleine Funktion zeigen, welche die Mitgliedschaft eines Azure AD Benutzers in einer Azure AD Gruppe abprüft. Dies kann hilfreich bei einer Automatisierung im Bereich Azure AD sein. Bei richtiger Benutzung gibt das Script immer TRUE bzw. FALSE zurück. Was kann das Teil: 1. Gib bei Mitgliedschaft TRUE bzw. FALSE zurück wenn … Mehr über "Azure AD PowerShell Prüfen ob ein Benutzer Mitglied einer Gruppe ist" Lesen Der Beitrag Azure AD PowerShell Prüfen ob ein Benutzer Mitglied einer Gruppe ist erschien zuerst auf IT koehler blog.

Faris Malaeb avatar

Send-MgUserMail BodyParameter Explained

27 days ago | Faris Malaeb

Send-MailMessage is obsolete and no longer supported. Microsoft says this cmdlet does not guarantee a secure connection to SMTP servers. We will use Send-MgUserMail. This tutorial takes you through using Send-MgUserMail to send emails instead of Send-MailMessage Using Send-MailMessage When you try to use the Send-MailMessage cmdlet, you get the following warning. WARNING: The command... The post Send-MgUserMail BodyParameter Explained appeared first on Faris Malaeb.

Bradley Wyatt avatar

Office 365 / Exchange Online Mailbox Size Report Including Mailbox Free Space with PowerShell

one month ago | Bradley Wyatt

I wanted to create an automated alert that would notify me of Office 365 mailboxes that were approaching full, and found a terrific PowerShell reporting script by Ruud (LazyAdmin.nl). If you have not checked out his blog, stop reading now and head on over there. There is a ton of great scripts and write ups! The script connects to your Office 365 environment and exports the following: Display name Primary Email address Mailbox type Last user action time Total mailbox size Mailbox Free Space (NEW!) Deleted item size Item Count Deleted Item Count Issue Warning Size Prohibit Send Receive Quota (max mailbox size) Archive size (if the user has an archive) Archive Item Count Archive Mailbox Free Space (NEW!) Archive Deleted Item Count Archive warning quota Archive quota   Shared Mailboxes It also allows you to filter the mailbox type that you want to gather results for.

Bradley Wyatt avatar

Auto Delete Message From Yammer Community with PowerShell

one month ago | Bradley Wyatt

I was recently tasked with clearing out a Yammer Communities auto-welcoming posts. If you are not familiar with auto-welcoming posts, Yammer used to automatically post a message whenever someone joined a community. It looked something like this, “Bradley Wyatt joined the Lazy Administrator network. Take a moment to welcome Brad.” Thankfully, Microsoft removed this feature so your community is not littered with auto welcoming messages anymore.

Mike Robbins avatar

Enable PowerShell remoting on ArcoLinux

one month ago | Mike Robbins

PowerShell is a cross-platform scripting language that runs on Windows, Linux, and macOS. ArcoLinux is a rolling release Linux distribution based on Arch Linux. Prerequisites ArcoLinux was installed using the ArcoLinuxL ISO with the easy installation option. The examples shown in this article were performed using Xfce Terminal. ArcoLinux was fully updated using the sudo pacman -Syu command. Installation Verify that you have PowerShell installed: pwsh --version If you receive the error: command not found, see Install PowerShell on ArcoLinux to install PowerShell.

Jeff Hicks avatar

Configure SysInternals EULA Acceptance

one month ago | Jeff Hicks

I just saw a very, very handy thing on Twitter where you can set a registry key that will automatically accept all EULA prompts for the SysInternals tools. I know there is a command-line switch I can use, but I never remember to use it. Setting the registry key appears to accept EULAs globally. Naturally,...

Powershell: Citrix Hypervisor Count Function

one month ago

Contents Contents Scenario Citrix Hypervisor and PowerShell? Conculsion Learning More Value for Value Scenario I’ve been hesitant to dive into Citrix Hypervisor PowerShell cmdlets, but there’s no rational reason to not do it. Citrix continues to make great strides in expanding and updating PowerShell for its hypervisor, PVS, and XenDesktop....

Przemyslaw Klys avatar

Adaptive Cards with Tables and Linebreaks in Microsoft Teams

one month ago | Przemyslaw Klys

PSTeams is a PowerShell module that helps simplify sending notifications to Microsoft Teams via Incoming webhooks. It's easy to use and doesn't require playing with JSON. Since version 2.0, it started to support Adaptive Cards; in version 2.1, I've added the ability to mention people. Today I'm introducing an easy way to send data as a table and a quick way to add a line break. The post Adaptive Cards with Tables and Linebreaks in Microsoft Teams appeared first on Evotec.

Bas Wijdenes avatar

How to move the navigation bar in Outlook back to the bottom

one month ago | Bas Wijdenes

Why is my navigation bar to the left now, and now at the bottom anymore? You’ve probably enabled the ‘Try it now‘ option in Outlook. Enabling this option will enable new features in Outlook earlier. These will be placed in a registry entry.When the option is enabled, these registry options are available at this time: … Continue reading How to move the navigation bar in Outlook back to the bottom The post How to move the navigation bar in Outlook back to the bottom appeared first on Bas Wijdenes.

Faris Malaeb avatar

Connect to Office 365 Using Graph API and PowerShell

one month ago | Faris Malaeb

With the superannuation of AzureAD and the MSOnline module, Microsoft Graph API is the new direction for cloud computing. To maintain and configure Office 365 or Microsoft 365, admins must ensure they can link to Microsoft Graph API endpoints. Using only a single REST API point (https://graph.microsoft.com), you can connect to any object in the... The post Connect to Office 365 Using Graph API and PowerShell appeared first on Faris Malaeb.

Przemyslaw Klys avatar

Working with VirusTotal from PowerShell

one month ago | Przemyslaw Klys

Virus Total is an excellent service. It's a single place where hundreds of antivirus engines can verify if the file, URL, domain name, or IP Address is trusted or not. Of course, it's not a silver bullet, but it brings tremendous value, and I often verify files I download before executing. Since I release a lot of new or updated PowerShell modules on a weekly/monthly basis, I thought it would be great to send newly released versions straight to Virus Total so I can have them checked before anyone executes them.

Przemyslaw Klys avatar

Reporting group membership for critical Active Directory groups

one month ago | Przemyslaw Klys

I work a lot with Active Directory-related tasks. One of the tasks is to know the group membership of critical Active Directory Groups such as Domain Admins, Enterprise Admins, Schema Admins, Event Log Readers, and a few others that are a bit less known. As I did it, I got bored of typing the group names repeatedly and decided that enough was enough and there must be an easier way for me to do that.

Faris Malaeb avatar

Migrate Your Script from AzureAD or MSOnline to Graph API

one month ago | Faris Malaeb

No one can deny the superior help of AzureAD and MSOL PowerShell modules and how these two made cloud management straightforward. But the end for these two modules is nearby, and the direction is the Graph API. Let’s start now and learn the migration steps from the old modules to Graph API. If you’re new... The post Migrate Your Script from AzureAD or MSOnline to Graph API appeared first on Faris Malaeb.

Jeff Hicks avatar

Organizing Chaos with PSWorkItems and PowerShell

one month ago | Jeff Hicks

I spend my working days living in a PowerShell console. Over the years, I’ve developed many PowerShell modules to help me manage the chaos that is my work life. One area that always demands attention is managing my tasks and To-Dos. For several years I have been using the MyTasks module. This module stored tasks...

Alex Neihaus avatar

How to add BGP routes to AWS security groups

one month ago | Alex Neihaus

PowerShell's Compare-Object makes it easy to compare two collections of objects The post How to add BGP routes to AWS security groups first appeared on Thinking aloud.

Przemyslaw Klys avatar

Finding duplicate DNS records by IP Address using PowerShell

2 months ago | Przemyslaw Klys

In my earlier blog post, I showed you a way to find duplicate DNS entries using PowerShell, but the focus was on finding duplicate entries based on hostname. But what if you would like to find duplicate entries based on IP Addresses? This was the question I was asked on Reddit, and I thought it was a legitimate request, so today's focus will be on transposing table output from earlier functions to present data differently.

Przemyslaw Klys avatar

Finding duplicate DNS entries using PowerShell

2 months ago | Przemyslaw Klys

Today's blog post is about Active Directory-integrated DNS and how to find duplicate entries. By duplicate, I mean those where one DNS name matches multiple IP addresses. While some duplicate DNS entries are expected, in other cases, it may lead to problems. For example, having a static IP assigned to a hostname that later on is also updated with dynamic entries. The post Finding duplicate DNS entries using PowerShell appeared first on Evotec.

Kelvin Tegelaar avatar

Automating with PowerShell: Getting device warranty information

2 months ago | Kelvin Tegelaar

Warranty reporting This morning I woke up with a mission; I wanted to fix HP warranty reporting for my PSWarranty PowerShell Module. If you’re not familiar yet I’ve blogged about the module and warranty reporting before here. Most of the module has been left the same so you can reference that blog for more information. Between that blog and now the PSWarranty module has had a lot of updates.

Faris Malaeb avatar

Find Which Azure AD Group Configured For Writeback

2 months ago | Faris Malaeb

Recently Microsoft has introduced a new feature in Azure Active Directory which allows the admin to specify which group should be written back to your On-Premise Active Directory and the writeback scope. In today’s PowerShell script, the script report which Azure AD Group enabled for Group writeback through reading the AAD Group writebackConfiguration resource in... The post Find Which Azure AD Group Configured For Writeback appeared first on Faris Malaeb.

Faris Malaeb avatar

Active Directory Groups Membership Report Using PowerShell

2 months ago | Faris Malaeb

In this post, I will explain how to generate a report for Active Directory users and each group a user is a member of. So if UserA is a member of five groups, the report shows all these groups and exports the result as CSV. Prerequisites You need Windows PowerShell 5.1 or PowerShell 7. Also,... The post Active Directory Groups Membership Report Using PowerShell appeared first on Faris Malaeb.

Faris Malaeb avatar

Send HTML Teams Message Using PowerShell Graph

2 months ago | Faris Malaeb

Today’s post will cover the basics of using PowerShell to send Teams messages to users (One to One). This is through utilizing Microsoft Graph APIs. Prerequisites You need to download PowerShell Graph SDK from Microsoft PowerShell Gallery. Required permission scope: Chat.ReadWrite Chat.Create If you are new to Microsoft Graph, then you can read more about... The post Send HTML Teams Message Using PowerShell Graph appeared first on Faris Malaeb.

Faris Malaeb avatar

Adding Multiple Azure AD Named Location Using Graph API

2 months ago | Faris Malaeb

The following PowerShell script allows you to add multiple Azure AD Named location IP address ranges using Microsoft Graph API PowerShell Module. You need to download the Microsoft Graph PowerShell SDK. You can read more about Microsoft Graph SDK and how to use it in a previous post Understanding Microsoft Graph SDK PowerShell The Script... The post Adding Multiple Azure AD Named Location Using Graph API appeared first on Faris Malaeb.

Bas Wijdenes avatar

How to remove Byte-Order-Mark with PowerShell

2 months ago | Bas Wijdenes

Let’s get rid of special characters like , ÿþ, þÿ aka Byte-Order-Mark characters When reading Azure Storage Blobs, you regularly get the BOM bytes back with the content. As a result, you cannot format or convert json to an object, for example. A colleague of mine wrote a function for this in PowerShell. In my … Continue reading How to remove Byte-Order-Mark with PowerShell The post How to remove Byte-Order-Mark with PowerShell appeared first on Bas Wijdenes.

Bas Wijdenes avatar

July update 1 – Desired state configuration for the modern workplace

2 months ago | Bas Wijdenes

A week of Desired State Configuration (aka Configuration Drift) for Endpoint Manager This week is all about Desired State Configuration or Configuration Drift as it is called at Wortell.This week we start with the implementation of DSC for Endpoint Manager. As I understand it from the management at Wortell, no other companies are working on … Continue reading July update 1 – Desired state configuration for the modern workplace The post July update 1 – Desired state configuration for the modern workplace appeared first on Bas Wijdenes.

Jeff Hicks avatar

The Value of Objects

2 months ago | Jeff Hicks

This is a reprint of an article published earlier this year in my premium PowerShell newsletter, Behind the PowerShell Pipeline. This is a sample of what my subscribers get 6-8 times a month. I expect I will write several articles about PowerShell and its relationship with objects. I know that this is the biggest hurdle...

Kelvin Tegelaar avatar

Automating with PowerShell: Setting Sharepoint Sharing Settings

2 months ago | Kelvin Tegelaar

CIPP Components About 8 months ago I’ve started a larger open source project called CIPP. CIPP is a M365 Management tool aimed at Managed Services Providers based on Azure Static Web Apps and a PowerShell backend. This blog shares some of the PowerShell code that’s used for the backend. CIPP is always looking for contributors on both the frontend and backend side so jump in if you’d like.

Mike Robbins avatar

Install PowerShell on ArcoLinux

3 months ago | Mike Robbins

PowerShell is a cross-platform scripting language that runs on Windows, Linux, and macOS. ArcoLinux is a rolling release Linux distribution based on Arch Linux. Like other Arch-based Linux distributions, ArcoLinux uses pacman for its package manager. Prerequisites ArcoLinux was installed using the ArcoLinuxL ISO with the easy installation option. The examples shown in this article were performed using Xfce Terminal.

Xajuan Smith avatar

Confluence CVE Vulnerability Checker

3 months ago | Xajuan Smith

Some people host confluence from Atlassian on local infrastructure and no access to the cloud.I was curious if this could be an issue with learning whether or not your version is vulnerable. So here is something I noticed to be helpful to all Confluence admins that want to check and not worry about the deepContinue reading "Confluence CVE Vulnerability Checker"

Alex Neihaus avatar

Write great AWS Lambda PowerShell functions

3 months ago | Alex Neihaus

How to write great Lambda functions in PowerShell The post Write great AWS Lambda PowerShell functions first appeared on Thinking aloud.

Bas Wijdenes avatar

June update 1 – Visual Studio Code and debugging

3 months ago | Bas Wijdenes

Starting with something new on my blog! I notice that my work is increasingly focusing on a smaller topic (PowerShell) and that I have less to blog about. I miss blogging, so I came up with the monthly updates.In these updates I want to give an insight into my work & share what I did … Continue reading June update 1 – Visual Studio Code and debugging The post June update 1 – Visual Studio Code and debugging appeared first on Bas Wijdenes.

Bas Wijdenes avatar

Report Mailbox and OneDrive Size in PowerShell via Microsoft Graph API

3 months ago | Bas Wijdenes

Report Mailbox sizes, OneDrive sizes, or all in one, with PowerShell and the MS Graph API In the tutorial below I explain how you can: Report Mailbox sizes Report OneDrive Sizes Report both (in one report) In the blog post I use PowerShell and the Microsoft Graph API. I built my own modules around the … Continue reading Report Mailbox and OneDrive Size in PowerShell via Microsoft Graph API The post Report Mailbox and OneDrive Size in PowerShell via Microsoft Graph API appeared first on Bas Wijdenes.

Faris Malaeb avatar

Reading Conditional Access using PowerShell Graph SDK

3 months ago | Faris Malaeb

This post takes you through Microsoft Azure Active Directory Conditional Access policies using the PowerShell Graph SDK module. If you are new to the Graph module, go first and read the introductory post on Understanding Microsoft Graph SDK PowerShell Prerequisites You need to have the proper required permission on Azure Active Directory, usually a global... The post Reading Conditional Access using PowerShell Graph SDK appeared first on Faris Malaeb.

Christian Hoejsager avatar

Using Powershell to Investigate Azure Ad User Risks

3 months ago | Christian Hoejsager

In this post, I will explain how you can use the PowerShell SDK for Microsoft Graph to investigate Risky Users in your Azure Active Directory. I will also show you how to use PowerShell to connect directly to the Microsoft Graph and query the data from there. Being able to query for riskDetections, risky users, and sign-ins, allows you to automate alerts or actions whenever a user gets flagged in your risk policy.

Jerome Bezet-Torres avatar

Packer how to use it

3 months ago | Jerome Bezet-Torres

1.Introduction Packer is an open-source tool that allows the standardization of our images for several platforms with a single template. It allows us a simple and declarative automation to create our reference images or our golden images. 2. How to install It comes in the form of a single executable available on several platforms. Platforms Architecture MacOs Amd64 Arm64 Windows 386 Amd64 Linux 386 Amd64 Arm Arm64 A small particularity for the Windows world it will be necessary to add an environment variable to specify the path of the binary 3.

Matthew Dowst avatar

PowerShell Weekly Redesign!

3 months ago | Matthew Dowst

I am pleased to announce that PowerShell Weekly has been redesigned and moved to its own sub-site psweekly.dowst.dev. All past posts and links are available there as well. What’s New New look and feel Thumbnails for every link Improved searching of the 2,000+ links Search by keyword, date, author, category Custom RSS Feed specifically the […]

Mike Robbins avatar

Use PowerShell to determine the Windows version on DVD, ISO, or USB installation media

3 months ago | Mike Robbins

You’re preparing to load an operating system. You find installation media for an unknown version of Windows. It’s not labeled. How do you determine the version of Windows on the installation media? You can use the Get-WindowsImage cmdlet to determine the Windows version of installation media. This cmdlet is part of the Dism PowerShell module. It can be used with Windows PowerShell 5.1 and PowerShell 7 on Windows operating systems.

Faris Malaeb avatar

Connecting and Understanding Microsoft Graph API Using PowerShell

3 months ago | Faris Malaeb

Administrators managing products such as Sharepoint, Teams, and Azure AD tend to use multiple PowerShell modules as each service has its own PowerShell module. Although this helped a lot, the real need is for a one-stop shop that helps in managing all the services instead of having multiple modules. The solution is to use the... The post Connecting and Understanding Microsoft Graph API Using PowerShell appeared first on Faris Malaeb.

Mike Robbins avatar

Using the conditional ternary operator for simplified if/else syntax in PowerShell 7

3 months ago | Mike Robbins

The conditional ternary operator is a feature added to PowerShell in version 7. You can use it as a simplified version of if/else. The syntax for the ternary operator takes three operands: A condition to evaluate followed by a question mark (?). An expression to execute if the condition is true, followed by a colon (:). And finally, an expression to execute if the condition is false. <conditi