
Evotec | PowerShell Blog
1000 FOLLOWERS
Evotec is a team of professionals helping out small, medium and large businesses to grow. Evotec team has huge experience in IT.
Evotec | PowerShell Blog
2w ago
They say there is a first time for everything. For me, it's how to download and upload files to Azure Blog Storage using Connection String. Recently I was given Connection String, Container name and had to download some files from Azur Blog Storage. After some research and trying Connect-AzAccount, I found that the proper way to go is thru New-AzStorageContext.
Uploading / Downloading files Azure Blog Storage
The first thing we need to do is to install Az.Storage module, which in turn will also download Az.Accounts module.
Install-Module -Name 'Az.Storage' -Force -Verbose -Scope Current ..read more
Evotec | PowerShell Blog
1M ago
When I created ImagePlayground, I thought about how to show its usefulness to the general community. On how to deliver what PowerShell can do. Then I saw on some forum people asking BGInfo to expand and allow running PowerShell scripts so that the data on the BGInfo Wallpaper can be gathered from PowerShell rather than VBS. I thought this was a great idea to create BGInfo using PowerShell without the necessity of using BGInfo at all.
Getting and Setting Wallpaper using DesktopManager PowerShell module
Since BGInfo is taking background images and applying text, the idea wasn't challenging ..read more
Evotec | PowerShell Blog
1M ago
Some years ago, I created a PowerShell module called PSWriteHTML with many options to make PowerShell output pretty. You can create charts, tables, and other HTML ways to display your content. It also has built-in functionality to create pretty emails. But there was one thing that always bothered me with emails. Mail clients are particular when parsing HTML and don't support much functionality. In emails, trying to display charts, gauges, or more advanced reporting that you would typically see when using PSWriteHTML would not be possible. This was when I had an idea that I would resort to dis ..read more
Evotec | PowerShell Blog
4M ago
When you're using Office 365 and want to send an email, you have two choices SMTP or Microsoft Graph API, which is a “new” kid on the block. For some time, I've used Microsoft Graph exclusively to send emails in favor of SMTP as it's much easier to manage and generally works over HTTPS. If you type in google “Send email graph API PowerShell,” you will get lots of hits as bloggers, and Microsoft has already covered this topic. Sending with Graph is even more critical than ever because Basic Authentication is deprecated in Office 365. To help out with the transition, Microsoft even released it ..read more
Evotec | PowerShell Blog
5M ago
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.
Creating Adaptive Card Tables & Line breaks
If you have ever created Adaptive Cards by hand with JSON, you know it's far from easy. You need to know what goes with what and what the options are. Colors are prede ..read more
Evotec | PowerShell Blog
6M ago
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. I also hope to prevent false positives from some antivirus vendors that may tag my ..read more
Evotec | PowerShell Blog
6M ago
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.
Getting group membership from Critical AD Groups
To do my automation, I've utilized functions shown in Visually display Active Directory nested Group Membership using PowerShell that is part of ..read more
Evotec | PowerShell Blog
6M ago
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.
Duplicate DNS Entries by IP Address
Just like other function from the earlier blog Get-WinDNSRecords I've added this new command to the ADEssentials module as well ..read more
Evotec | PowerShell Blog
6M ago
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.
Duplicate DNS Entries
The command I've created and added for easy use to the ADEssentials module is called Get-WinDNSRecords. Its usage is very simple. As long as you have RSAT tools for AD and DNS, it will autodetect the required ..read more
Evotec | PowerShell Blog
8M ago
Today I was reading Twitter, as I am pretty addicted to technology news when Adam Bacon mentioned that he's surprised there's no one has rebuilt IIS Parser as pure PowerShell. While this is not entirely true, and some modules can do some parsing, I decided to try my luck. While doing it from scratch in PowerShell is possible, I opted to use an external C# library that does all the heavy lifting and is optimized for speed.
Using IISParser to read IIS Logs
So after about 1 hour of playing with the library and creating a new PowerShell module called IISParser, here we are. We now have a ..read more