Greetings,

Below you can find my Automation Scripting Portfolio

1. Create Shortcuts To Start Stop Azure VM from Windows Desktop:
This script was developed to solve a problem with always running Azure VMs, which were only used intermittently by Finance team. These VMs were generating unnecessary costs 24/7. My solution was creating an Azure Automation Runbook, which would Start/Stop an Azure VM on demand. This script creates a shortcut on windows devices, which, when clicked, triggers an Azure Automation Runbook via a webhook, with an authorization token.
View this script as GitHub Gist
2. Monitor Azure Resource Quota for high usage and report and notify via email:
This script was developed at a time where there was no quota monitoring capabilities in Azure. Today there are some quota monitoring capabilities present in Azure, but this script still might come in handy for specific usage. This script will check quota usage levels on each Azure subscription and if resource usage is getting close to quota limit - it will send an email report and notification.
View this script as GitHub Gist
3. Set Azure Reservation Permissions through Entra ID groups:
This script was developed for 2bcloud, to help Customer Services Team easily set permissions on newly purchased Azure Reservations for customers. In past, new Azure Reservations did not inherit global permissions on reservation orders and it was needed to manually set permissions for each new reservation. I resolved the problem by using Entra ID groups, which are automatically assigned to each reservation via the script, with relevant access role. The customer manages the Entra ID group assignments.
View this script as GitHub Gist
4. Query Microsoft Partner Center API to retrieve a list of customers with details:
This script was developed for 2bcloud, as part of testing of Microsoft Partner Center API functionality. It is a semi automated script, meaning that it is first required to obtain an initial access token manually and then provide it to the script, which will then automatically obtain a refresh and access token to the required Partner Center API and retrieve a list of customers.
View this script as GitHub Gist
5. Export SSL Certificates State for all Azure Web Apps (App Services):
This script was developed for a customer, which had hundreds of SSL certificates, for custom domain names, on multiple Azure App Services. It was very difficult for the customer to keep track of expiration dates of all the certificates and they were often expiring, causing service downtime. My solution was to create a script, which allows to export all certificate data, including expiration dates to a CSV file, as a report to be aware of which ones expire when and take preventive action.
View this script as GitHub Gist
6. Replace Avatar Images for Azure Entra ID User Accounts:
This script was developed for 2bcloud, to make it easier for HR team to update employee avatar images in Office 365 and make them consistent with the company design. The solution consists of Intune policy that maps an Azure File Share drive to HR employees, which use it to upload avatar image to the drive. Then, an automation script runs and uses the uploaded images to apply them to each employee user, as an avatar.
View this script as GitHub Gist
7. Test If Web Sites Are Blocked By Azure Defender Antivirus WebFilter (or any other AV/IDP system):
This script was developed for 2bcloud, to confirm whether a list of restricted or potentially harmful websites is blocked by Azure Defender on user endpoints. This script takes a list of websites as input and tries to connect to each one via HTTP and HTTPS. Based on the connectivity output, the results are written into an output file, which can be later reviewed by CISO.
View this script as GitHub Gist
8. Delete Old Disk Snapshots in Azure:
This script was developed for 2bcloud customers that use Azure disks and create snapshots for temporary backup or testing purposes. Multiple unused snapshots create unnecessary cloud expenses for the customer. The purpose of the script is to detect unused snapshots and automatically delete them, based on given criteria, for example older than a given number of days. The result is reduced cloud expenses for the customer.
View this script as GitHub Gist
9. Assess Azure Customer Resources As Being Movable/Unmobable to a different subscription:
This script was developed for 2bcloud customers need to move their resources from PAYG to CSP subscription type, to receive Microsoft Partner Cloud Benefits. This script iterates over each customer resource type, generated resource lists by resource type and validates each resource whethere it is supported for Move operation between subscriptions. The result is a CSV file with resources mapped to movable/non-movable status, that can be used by Cloud Engineer/Architect to further evaluate and create a detailed migration plan.
View this script as GitHub Gist
10. Create Azure SPN for 2bcloud SavePro Customer Onboarding.
This script was developed for 2bcloud R&D Team. This script helps the customer to automatically create Azure Service Principal with associated secret and presents the details required to onboard to 2bcloud SavePro FinOps Application.
View this script as GitHub Gist