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.
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.
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.
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.
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.
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.
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.
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.
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.
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.