an hour ago
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. (+)(-)
an hour ago
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.
an hour ago
"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.
an hour ago
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. (+)(-)
an hour ago
|
Jeff Hicks
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... (+)(-)
an hour ago
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. (+)(-)
2 days ago
|
Adam Bertram
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.
3 days ago
|
Jeff Hicks
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...
7 days ago
|
Harm Veenstra
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 script
14 days ago
|
Harm Veenstra
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.
15 days ago
|
Przemyslaw Klys
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.
22 days ago
|
Harm Veenstra
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.
28 days ago
|
Harm Veenstra
I’m a Consultant who does a lot of Intune testing, and I use Hyper-V on my laptop with many VMs in customer environments. Some VMs are used more than others, but when you turn them on after a few weeks… They need updates and restarts, and I wanted to automate that process so that it … Continue reading Installing Windows Updates on all your Hyper-V lab VMs using PowerShell and PSW
one month ago
|
Mark Wragg
I recently migrated some Azure DevOps Classic Release deployment pipelines to YAML. There’s obvious benefits to storing your pipelines as code: they become an artifact in source control that can evolve and change as the code they build or deploy does, and you have the benefits of version history and maintaining the pipelines via pull requests. However I also found that I could use logic and expressions to make the pipelines more efficient and easier to maintain and that through templating could easily connect the pipelines together to form what I humorously dubbed the “super pipeline” (but then the name stuck).
one month ago
|
Harm Veenstra
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
one month ago
|
Bradley Wyatt
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.
Install the GitHub CLI
Windows
With Windows, we can install the GitHub CLI via the command line (Winget, Chocolatey, or Scoop) or manually from here.
one month ago
|
Harm Veenstra
One of our customers sought a solution to disable Idle Power Save on their Realtek USB GbE network adapters using Intune. Because of that setting, their users were disconnected from their Remote Desktop sessions multiple times during the day. This blog post will show you how to disable that setting using Intune, a Windows app (Win32), or a Remediation script.
one month ago
|
Bradley Wyatt
Introduction
If you’re familiar with Intune, you’re likely aware of its capability to deploy platform or PowerShell scripts to your endpoint devices. Unfortunately, once you upload your script to the portal, there is (at the time of writing this) no easy way to view the script content or download it.
Resolution
To quickly and easily get Intune scripts, I created a function that allows me to export all the scripts from a tenant en masse and view them in the shell or terminal.
one month ago
|
Harm Veenstra
This site just reached a new milestone: 250.000 visitors! It started on April 21st, 2021, and it's been almost two years already now :) In this blog post, I will link to other milestones and tell you how things are going for me now... (Spoileralert: Great :) )
one month ago
|
Victor Silva
one month ago
|
Harm Veenstra
You can start PowerShell 5 (powershell.exe) and PowerShell 7 (pwsh.exe) and specify parameters. This blog post will show you the parameters I use most for version 5 or 7.
one month ago
|
Jeff Hicks
Earlier this year I appeared on the PowerShell Podcast. I ended the interview with a scripting challenge. The Core Challenge Using whatever tools and techniques you want, write a PowerShell function that will query the Issues section of a GitHub repository and create output showing the number of open issues by label and the percentage...
2 months ago
|
Jeff Hicks
I have been an IT professional for over 30 years. I have been speaking publicly and presenting at conferences for probably 25 years. I have presented to all types of groups, from small user groups to large conferences, literally around the world. As I enter the last part of my IT career, I am re-assessing...
2 months ago
|
Darren Robinson
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.
I gave a quick-fire series of live demos in a theatre session titled PowerShell & ChatGPT – How to Automate Your Way to Generative AI Brilliance.… keep reading
The post Visualising your IP Address using PowerShell and AI appeared first on darrenjrobinson - Bespoke Identity and Access Management Solutions.
2 months ago
|
Harm Veenstra
This busy week ended with something that I will never forget: I received an email with the subject "Welcome to the Most Valuable Professional (MVP) Program"!
2 months ago
|
Mark Wragg
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.
2 months ago
|
Jeff Hicks
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, and...
2 months ago
|
Jeff Hicks
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. I have a...
2 months ago
|
Harm Veenstra
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 :)
2 months ago
|
Alexander Koehler
Some days ago I got a ticket where someone could not load his calendar in Microsoft Teams. Outlook worked fine the only thing was Out of Office Notification, also did not work. After some research I found the solution by activating EWS on this specific mailbox. One our later everything was fine. You can find …
Read more "Exchange Online mailbox apps check via PowerShell"
Articel Exchange Online mailbox apps check via PowerShell available first on IT koehler blog.
2 months ago
|
Bas Wijdenes
Microsoft.PowerShell.Utility & Microsoft.PowerShell.Management Cannot find the built-in module that is compatible with the edition. Please make sure the PowerShell built-in modules are available. They usually come with the PowerShell package under the $PSHOME module path, and are required for PowerShell to function properly. If you made this error, you screwed up big time.But luckily, it’s … Continue reading FIX: Cannot find built-in module that is compatible with the edition
The post FIX: Cannot find built-in module that is compatible with the edition appeared first on Bas Wijdenes.
2 months ago
|
Mark Wragg
I’ve recently been working on a PowerShell module for exploring Azure costs 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.
2 months ago
|
Ole Rand-Hendriksen
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?
Here’s what i started out with:
$mailboxes = Get-Mailbox -Filter {RecipientTypeDetails -eq 'RoomMailbox'}
foreach ($m in $mailboxes) {
$m | Set-CalendarProcessing -BookingWindowInDays 365
}
It’s pretty short, but one line there is unneccessary…
foreach ($m in (Get-Mailbox -Filter {RecipientTypeDetails -eq 'RoomMailbox'}) ) {
$m | Set-CalendarProcessing -BookingWindowInDays 365
}
Ok, short, but still, I think i can get it down to just one line…
Get-Mailbox -Filter {RecipientTypeDetails -eq 'RoomMailbox'}| % { Set-CalendarProcessing -Identity $_.
3 months ago
|
Catalin Cristescu
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. Discovering a solution in a VMware blog post (https://blogs.vmware.com/PowerCLI/2018/12/new-tag-management-module.html), I learned about the CIStag module for effective
3 months ago
|
Christian Ritter
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.
class JSONTransform : System.Management.Automation.ArgumentTransformationAttribute{
[object] Transform([System.Management.
one year ago
|
Dan Tsekhanskiy
The Problem
The Solution
What it does
What it doesn’t do
Parting Words
Related Links
Imagine never needing to worry about drivers during Windows Operating System
deployment ever again.
No need to manually download drivers. No need to
maintain driver folders on your deployment shares. No need to update drivers
whenever something breaks…
The Problem
Every Windows deployment environment seems to manage OS drivers differently.
4 months ago
|
Bradley Wyatt
In this article I will be showing you how you can automatically have Microsoft Teams set its presence to Do Not Disturb, or any other presence, based on events in your Outlook Calendar. I also looked into leveraging Power Automate but it began to require premium connectors and at that cost, going the serverless automation route was much cheaper.
An overview of this automation is as follows:
Run on a set schedule.
4 months ago
|
Catalin Cristescu
The first script of 2024 is about updating the HPE ILO firmware on physical servers using PowerShell. Firmware updates, including those for iLO, often include bug fixes, security patches, and performance enhancements. Regularly updating iLO firmware ensures that your servers are equipped with the latest features, improvements, and security measures, reducing the risk of vulnerabilities […]
4 months ago
|
Doug Finke
2023: A Year of Innovation and Learning in Video
Reflecting on the year 2023, I am grateful for the support and engagement from the community. The enthusiasm and feedback have been the driving force behind each video, fueling exploration into the fascinating realms of PowerShell projects, AI-powered coding, and data alchemy.
A special thank you to the knowledgeable individuals who took the time to present material, providing a tremendous learning opportunity for all of us.
4 months ago
|
Matthew Dowst
2023 was quite the year for me and PowerShell, so I thought I would put together a brief summary of the year as I saw it. Plus provide you with some fun and interesting statics from the PowerShell Weekly newsletter. This year was also a huge year for me. My book Practical Automation with PowerShell […]
4 months ago
|
Bas Wijdenes
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‘. What if… … Continue reading How to create a maintenance mode in Azure Automation
The post How to create a maintenance mode in Azure Automation appeared first on Bas Wijdenes.
4 months ago
|
Faris Malaeb
When migrating from Exchange on-premises to Exchange online, you might notice that the mailbox migrations is completed successfully with no failure or error in the migration process. But from Microsoft 365 Admin Portal you find an error about Exchange online archive issue, even though everything seems to be OK for the user in the Exchange...
The post FIX: Exchange Failed to enable the new cloud archive using PowerShell appeared first on Faris Malaeb.
4 months ago
|
Bradley Wyatt
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.
4 months ago
|
Alexander Koehler
Lot of people already know the new Microsoft strategy for blocking outdated Exchange OnPrem Versions in hybrid environments. See this old article which describes the most important informations, see also the timeline for throttling and blocking. https://techcommunity.microsoft.com/t5/exchange-team-blog/update-on-transport-enforcement-system-in-exchange-online/ba-p/3827774 After some time the Exchange Teams announced an new article about pausing this enforcement with throttling and blocking.
4 months ago
|
Christian Ritter
Recently, I participated in AdventOfCode 2023 and encountered challenges that required finding the precise location of a character in a string, along with all its occurrences. Take, for instance, the string 'Hello, world!'. I needed to identify all positions of the character 'l': 2, 3, and 10.
The typical method, .IndexOf('l'), provides only the first occurrence (in this case, 2). To obtain all positions, I devised a PowerShell function that iterates through the string using the IndexOf() method with a position parameter.
4 months ago
|
Nicholas Getchell
As I look back on my sixteen years in information technology, I can’t help but notice the impact PowerShell has had on my career.
First Automation My first automations were little batch scripts and AutoHotKey plays. They did trival tasks like opening multiple Internet Explorer windows and the Active Directory Users and Computers tool to quickly get myself up and running at work. I’d share them with my coworkers while sitting at a college helpdesk.
4 months ago
|
Bradley Wyatt
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.
5 months ago
|
Catalin Cristescu
Efficient resource utilization is a key factor in maintaining a healthy VMware vSphere environment. As virtualization environments grow, it becomes crucial to monitor and optimize resource allocation to prevent overcommitment, ensuring the smooth operation of virtual machines. In this blog post, we’ll explore a PowerCLI script designed to check the Cluster Overcommitment Ratio, providing val
5 months ago
|
Przemyslaw Klys
Hey there! Today, I wanted to introduce you to one of the small but excellent module I've created called the O365Synchronizer. This module focuses on synchronizing contacts and users. If you've ever been tasked with synchronizing Global Address Lists (GAL) across different Office 365 tenants or just wanted to sync GAL with user mailboxes so they can access contacts directly on their phones, this tool is for you.
5 months ago
|
Darren Robinson
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).
There WILL come a point on Windows when you want to know where the heck is the PowerShell Module loading from (especially when using Windows PowerShell).… keep reading
The post Where the heck is the PowerShell Module loading from? appeared first on darrenjrobinson - Bespoke Identity and Access Management Solutions.