Professional Documents
Culture Documents
What Is Azure Active Directory - Active Directory Security
What Is Azure Active Directory - Active Directory Security
p=4211
• (https://adsecurity.org/?feed=rss2)
Slides Posted for Black Hat USA 2019 Talk: Attacking & Defending the Microsoft Cloud
(https://adsecurity.org/?p=4179)
From Azure AD to Active Directory (via Azure) – An Unanticipated Attack Path (https://adsecurity.org
/?p=4277)
Jan 12 2020
Many are familiar with Active Directory, the on-premises directory and authentication system that is
available with Windows Server, but exactly what is Azure Active Directory (https://docs.microsoft.com/en-
us/azure/active-directory/fundamentals/active-directory-whatis)?
Azure Active Directory (Azure AD or AAD) is a multi-tenant cloud directory and authentication
(https://docs.microsoft.com/en-us/azure/active-directory/develop/authentication-scenarios)service.
Azure AD is the directory service that Office 365 (and Azure) leverages for account, groups, and roles.
It is also an Identity Provider (IPD) and supports federation (SAML, etc).
Note: given how rapidly the cloud changes, elements of this post may become out of date soon after the
original post date.
1 of 24 10/15/23, 16:38
What is Azure Active Directory? – Active Directory Security https://adsecurity.org/?p=4211
2 of 24 10/15/23, 16:38
What is Azure Active Directory? – Active Directory Security https://adsecurity.org/?p=4211
There are cloud hosted Active Directory environments that can be used to manage cloud workloads in
Microsoft Azure (Azure Active Directory Domain Services (https://azure.microsoft.com/en-us/services
/active-directory-ds/)), Amazon AWS (Amazon Managed Microsoft AD (https://docs.aws.amazon.com
/directoryservice/latest/admin-guide/directory_microsoft_ad.html)), and Google Cloud (Managed Service for
Microsoft Active Directory (AD) (https://cloud.google.com/managed-microsoft-ad/)). These are all hosted
Microsoft Active Directory environments which have 2 Domain Controllers (or more) and the tenant admins
do not receive Domain Admin rights to the hosted AD environment; only delegated access is provided which
often includes the ability to create/manage resources in a specific OU and specific GPOs.
Note: I don’t have room to include a comparison of these services here, but may write a future post if there’s
interest (I did some research comparing Microsoft Azure vs Amazon AWS hosted AD service offerings in
2017).
3 of 24 10/15/23, 16:38
What is Azure Active Directory? – Active Directory Security https://adsecurity.org/?p=4211
4 of 24 10/15/23, 16:38
What is Azure Active Directory? – Active Directory Security https://adsecurity.org/?p=4211
Azure Active Directory administrators will primarily use the web console at https://portal.azure.com to
administer the environment.
5 of 24 10/15/23, 16:38
What is Azure Active Directory? – Active Directory Security https://adsecurity.org/?p=4211
Admins that manage Active Directory on-prem and now Azure AD/Office 365 will be using the on-prem
MMC tools as well as the web admin portals (and various URLs associated with them).
There are PowerShell cmdlets available for managing Azure AD (similar to on-prem), though cloud features
6 of 24 10/15/23, 16:38
What is Azure Active Directory? – Active Directory Security https://adsecurity.org/?p=4211
often move faster than the PowerShell tools are released, which means that using the cloud admin portal
should still be used, even when using PowerShell.
There are 2 primary PowerShell modules for interfacing with Azure AD: MSOnline
(https://docs.microsoft.com/en-us/powershell/module/msonline/?view=azureadps-1.0)and AzureAD
(https://docs.microsoft.com/en-us/powershell/module/azuread/?view=azureadps-2.0). These can be
installed through the PowerShell install feature:
Install-Module -Name MSOnline -Force
Install-Module -Name AzureAD -Force
The AzureAD module may eventually replace the MSOnline PowerShell module, but there are features
available in MSOnline that haven’t been ported to the Azure AD module (yet).
Administrative Get-MsolAdministrativeUnitMember
Unit (https://docs.microsoft.com/en-us/powershell/module
/msonline/get-
msoladministrativeunitmember?view=azureadps-1.0)
Application Get-AzureADApplicationExtensionPrope
/en-us/powershell/module/azuread/get-
azureadapplicationextensionproperty?vi
Application Get-AzureADApplicationKeyCredential
us/powershell/module/azuread/get-
azureadapplicationkeycredential?view=a
Application Get-AzureADApplicationLogo
us/powershell/module/azuread/get-
azureadapplicationlogo?view=azureadp
Application Get-AzureADApplicationOwner
us/powershell/module/azuread/get-
azureadapplicationowner?view=azuread
7 of 24 10/15/23, 16:38
What is Azure Active Directory? – Active Directory Security https://adsecurity.org/?p=4211
Application Get-AzureADApplicationPasswordCrede
/en-us/powershell/module/azuread/get-
azureadapplicationpasswordcredential?
Application Get-AzureADApplicationProxyApplicatio
us/powershell/module/azuread/get-
azureadapplicationproxyapplication?view
Application Get-AzureADApplicationProxyApplicatio
(https://docs.microsoft.com/en-us/power
azureadapplicationproxyapplicationconn
Application Get-AzureADApplicationProxyConnecto
us/powershell/module/azuread/get-
azureadapplicationproxyconnector?view
Application Get-AzureADApplicationProxyConnecto
(https://docs.microsoft.com/en-us/power
azureadapplicationproxyconnectorgroup
Application Get-AzureADApplicationProxyConnecto
(https://docs.microsoft.com/en-us/power
azureadapplicationproxyconnectorgroup
Application Get-AzureADApplicationProxyConnecto
(https://docs.microsoft.com/en-us/power
azureadapplicationproxyconnectormemb
Application Get-AzureADApplicationServiceEndpoin
us/powershell/module/azuread/get-
azureadapplicationserviceendpoint?view
Application Get-AzureADMSApplication
Application Get-AzureADMSApplicationExtensionPr
Application Get-AzureADMSApplicationOwner
Application Get-AzureADDeletedApplication
us/powershell/module/azuread/get-
azureaddeletedapplication?view=azurea
Application Get-AzureADServiceAppRoleAssignedT
us/powershell/module/azuread/get-
azureadserviceapproleassignedto?view=
Application Get-AzureADServiceAppRoleAssignmen
us/powershell/module/azuread/get-
azureadserviceapproleassignment?view
8 of 24 10/15/23, 16:38
What is Azure Active Directory? – Active Directory Security https://adsecurity.org/?p=4211
Application Get-AzureADGroupAppRoleAssignment
us/powershell/module/azuread/get-
azureadgroupapproleassignment?view=
Authentication Get-AzureADMSIdentityProvider
us/powershell/module/azuread/get-
azureadmsidentityprovider?view=azurea
Authentication Get-AzureADMSLifecyclePolicyGroup
us/powershell/module/azuread/get-
azureadmslifecyclepolicygroup?view=az
Authentication Get-AzureADOAuth2PermissionGrant
us/powershell/module/azuread/get-
azureadoauth2permissiongrant?view=az
Contact Get-AzureADContactDirectReport
us/powershell/module/azuread/get-
azureadcontactdirectreport?view=azure
Contact Get-AzureADContactManager
us/powershell/module/azuread/get-
azureadcontactmanager?view=azuread
Contact Get-AzureADContactMembership
us/powershell/module/azuread/get-
azureadcontactmembership?view=azure
Contact Get-AzureADContactThumbnailPhoto
us/powershell/module/azuread/get-
azureadcontactthumbnailphoto?view=az
Device Get-MsolDeviceRegistrationServicePolicy
(https://docs.microsoft.com/en-us/powershell/module
/msonline/get-
msoldeviceregistrationservicepolicy?view=azureadps-1.0)
Device Get-AzureADDeviceConfiguration
us/powershell/module/azuread/get-
azureaddeviceconfiguration?view=azure
9 of 24 10/15/23, 16:38
What is Azure Active Directory? – Active Directory Security https://adsecurity.org/?p=4211
Device Get-AzureADDeviceRegisteredOwner
us/powershell/module/azuread/get-
azureaddeviceregisteredowner?view=az
Device Get-AzureADDeviceRegisteredUser
us/powershell/module/azuread/get-
azureaddeviceregistereduser?view=azu
DirSync Get-MsolDirSyncConfiguration
(https://docs.microsoft.com/en-us/powershell/module
/msonline/get-
msoldirsyncconfiguration?view=azureadps-1.0)
DirSync Get-MsolDirSyncProvisioningError
(https://docs.microsoft.com/en-us/powershell/module
/msonline/get-
msoldirsyncprovisioningerror?view=azureadps-1.0)
DirSync Get-MsolHasObjectsWithDirSyncProvisioningErrors
(https://docs.microsoft.com/en-us/powershell/module
/msonline/get-
msoldirsyncprovisioningerror?view=azureadps-1.0)
Domain Get-MsolDomainFederationSettings
(https://docs.microsoft.com/en-us/powershell/module
/msonline/get-
msoldomainfederationsettings?view=azureadps-1.0)
Domain Get-AzureADDomainNameReference
us/powershell/module/azuread/get-
azureaddomainnamereference?view=az
Domain Get-AzureADDomainServiceConfigurati
(https://docs.microsoft.com/en-us/power
azureaddomainserviceconfigurationreco
10 of 24 10/15/23, 16:38
What is Azure Active Directory? – Active Directory Security https://adsecurity.org/?p=4211
Group Get-AzureADMSGroupLifecyclePolicy
us/powershell/module/azuread/get-
azureadmsgrouplifecyclepolicy?view=az
Group Get-AzureADMSDeletedGroup
us/powershell/module/azuread/get-
azureadmsdeletedgroup?view=azuread
Object Get-AzureADMSDeletedDirectoryObject
us/powershell/module/azuread/get-
azureadmsdeleteddirectoryobject?view=
Object Get-AzureADObjectByObjectId
us/powershell/module/azuread/get-
azureadobjectbyobjectid?view=azuread
11 of 24 10/15/23, 16:38
What is Azure Active Directory? – Active Directory Security https://adsecurity.org/?p=4211
Service Get-AzureADServicePrincipalCreatedOb
Principal /en-us/powershell/module/azuread/get-
azureadserviceprincipalcreatedobject?v
Service Get-AzureADServicePrincipalMembersh
Principal /en-us/powershell/module/azuread/get-
azureadserviceprincipalmembership?vie
Service Get-AzureADServicePrincipalOAuth2Pe
Principal (https://docs.microsoft.com/en-us/power
azureadserviceprincipaloauth2permissio
Service Get-AzureADServicePrincipalOwnedOb
Principal /en-us/powershell/module/azuread/get-
azureadserviceprincipalownedobject?vie
Service Get-AzureADServicePrincipalOwner
Principal us/powershell/module/azuread/get-
azureadserviceprincipalowner?view=azu
Service Get-AzureADServicePrincipalPasswordC
Principal (https://docs.microsoft.com/en-us/power
azureadserviceprincipalpasswordcreden
Session Get-AzureADCurrentSessionInfo
us/powershell/module/azuread/get-
azureadcurrentsessioninfo?view=azurea
12 of 24 10/15/23, 16:38
What is Azure Active Directory? – Active Directory Security https://adsecurity.org/?p=4211
Tenant Get-MsolCompanyAllowedDataLocation
(https://docs.microsoft.com/en-us/powershell/module
/msonline/get-
msolcompanyalloweddatalocation?view=azureadps-1.0)
Tenant Get-MsolCompanyInformation
(https://docs.microsoft.com/en-us/powershell/module
/msonline/get-
msolcompanyinformation?view=azureadps-1.0)
Tenant Get-AzureADTrustedCertificateAuthority
us/powershell/module/azuread/get-
azureadtrustedcertificateauthority?view=
Tenant Get-CrossCloudVerificationCode
us/powershell/module/azuread/get-
crosscloudverificationcode?view=azurea
User Get-AzureADUserDirectReport
us/powershell/module/azuread/get-
azureaduserdirectreport?view=azureadp
User Get-AzureADUserExtension (
us/powershell/module/azuread/get-
azureaduserextension?view=azureadps
User Get-AzureADExtensionProperty
us/powershell/module/azuread/get-
azureadextensionproperty?view=azurea
User Get-AzureADUserLicenseDetail
us/powershell/module/azuread/get-
azureaduserlicensedetail?view=azuread
13 of 24 10/15/23, 16:38
What is Azure Active Directory? – Active Directory Security https://adsecurity.org/?p=4211
User Get-AzureADUserMembership
us/powershell/module/azuread/get-
azureadusermembership?view=azuread
User Get-AzureADUserOAuth2PermissionGra
/en-us/powershell/module/azuread/get-
azureaduseroauth2permissiongrant?vie
User Get-AzureADUserOwnedDevice
us/powershell/module/azuread/get-
azureaduserowneddevice?view=azurea
User Get-AzureADUserOwnedObject
us/powershell/module/azuread/get-
azureaduserownedobject?view=azuread
User Get-AzureADUserRegisteredDevice
us/powershell/module/azuread/get-
azureaduserregistereddevice?view=azu
User Get-AzureADUserThumbnailPhoto
us/powershell/module/azuread/get-
azureaduserthumbnailphoto?view=azure
In the table above, I categorize the cmdlets across the two Azure AD PowerShell module and attempt to link
the ones that provide the same or similar capability. I am planning to post more on these cmdlets in the
future.
Unfortunately, it isn’t a simple matter to single sign-on (SSO) to these modules. A credential can be
captured in PowerShell and reused across modules, but only if MFA isn’t enforced (which reduces account
security).
The Microsoft Cloud environment originally only supported username and password authentication. This
“legacy authentication” doesn’t include Multi-Factor Authentication (“MFA”) (https://docs.microsoft.com/en-
us/azure/active-directory/authentication/concept-mfa-howitworks), so for security reasons, legacy
authentication should be disabled (via Security Defaults (https://docs.microsoft.com/en-us/azure/active-
directory/fundamentals/concept-fundamentals-security-defaults), Conditional Access
(https://docs.microsoft.com/en-us/azure/active-directory/conditional-access/block-legacy-authentication),
etc).
The Azure Active Directory Authentication Library provides “modern authentication” which fully supports
MFA (and passwordless (https://docs.microsoft.com/en-us/azure/active-directory/authentication/concept-
authentication-passwordless)!).
14 of 24 10/15/23, 16:38
What is Azure Active Directory? – Active Directory Security https://adsecurity.org/?p=4211
ADAL makes authentication easier for developers through features such as:
• Configurable token cache that stores access tokens and refresh tokens
• Automatic token refresh when an access token expires and a refresh token is available
• Support for asynchronous method calls
There is an ADAL PowerShell Module (Install-Module -Name adal.ps) which provides some level of SSO
across modules (that support it).
Once you have the ADAL module installed, run the following to load the ADAL token in the session:
Once the $ADALResponse variable is captured, you can leverage this token in the Azure AD modules:
# Looks like the Microsoft Teams PowerShell module supports ADAL as well, though
I added a new variable that includes the signed-in user UPN.
Connect-MicrosoftTeams -AadAccessToken $ADALresponse -AccountId $AssessmentAccoun
tUPN
In Azure AD, privileged groups are called “roles” (which are groups) in order to identify special access.
There are several of these admin roles (https://docs.microsoft.com/en-us/azure/active-directory/users-
groups-roles/directory-assign-admin-roles) in Office 365 which provide admin-level rights to all of Office 365
or specific parts of it. (Assigning Roles (https://docs.microsoft.com/en-us/azure/active-directory
/fundamentals/active-directory-users-assign-role-azure-portal))
15 of 24 10/15/23, 16:38
What is Azure Active Directory? – Active Directory Security https://adsecurity.org/?p=4211
In Fall 2019, Microsoft added a new role called “Global Reader (https://docs.microsoft.com/en-us/azure
/active-directory/users-groups-roles/directory-assign-admin-roles#global-reader-permissions)” which has
read-only/view-only rights to all Azure AD/Office 365 services that Global Admin can see (with some
exceptions since Microsoft is still rolling out Global Reader read-only capability to all Office 365 services).
Membership in Global Reader should be provided to the security team or auditors that require view-only
access to the Microsoft Cloud (Azure AD & Office 365) environment.
Account Enumeration
With old school Active Directory, any Active Directory user can enumerate all user accounts & admin group
membership with network access to a Domain Controller.
Azure Active Directory users can enumerate all user accounts & admin group membership with access to
Office 365 services (the internet by default). User enumeration often possible without an account using
O365creeper which attempts to authenticate to O365 using a list of email addresses. Based on the
response code, the tool determines if the email address is a valid user account (or not).
Password Spraying
A common method attackers leverage as well as many penetration testers and Red Teamers is called
“password spraying”. Password spraying is interesting because it’s automated password guessing. This
automated password guessing against all users typically avoids account lockout since the logon attempts
with a specific password are performed against against every user and not one specific one which is what
account lockout was designed to defeat. The attacker starts with a list list of passwords they’re going to try
which starts with the most likely passwords (“Fall2017”, “Winter2018”, etc).
When password spraying begins, we start with the first password in the list. That first password is used in
an attempt to authenticate as every user (or a subset). This one password is attempted against each user
and once all users have been tested with that password, we move on to the next one.
16 of 24 10/15/23, 16:38
What is Azure Active Directory? – Active Directory Security https://adsecurity.org/?p=4211
17 of 24 10/15/23, 16:38
What is Azure Active Directory? – Active Directory Security https://adsecurity.org/?p=4211
18 of 24 10/15/23, 16:38
What is Azure Active Directory? – Active Directory Security https://adsecurity.org/?p=4211
Detect by correlating multiple events for the same user within a timeframe with the sign-in error code
“50126” and the Client app is “Other clients; Older Office clients” (which means legacy authentication was
performed).
19 of 24 10/15/23, 16:38
What is Azure Active Directory? – Active Directory Security https://adsecurity.org/?p=4211
Azure AD Reviews
Microsoft’s Azure AD GitHub includes PowerShell code for reviewing Azure AD configuration
(https://github.com/AzureAD/AzureADAssessment (https://github.com/AzureAD/AzureADAssessment))
Trimarc also has a new service offering called the Microsoft Cloud Security Assessment (MCSA)
(https://www.trimarcsecurity.com/microsoftcloud-security-assessment) which is similar to the on-prem Active
Directory Security Assessment (https://www.trimarcsecurity.com/ad-security-assessment) but focused on
Azure AD & Office 365.
References:
20 of 24 10/15/23, 16:38
What is Azure Active Directory? – Active Directory Security https://adsecurity.org/?p=4211
/en-us/azure/active-directory/users-groups-roles/directory-admin-roles-secure)
• Black Hat USA 2019 – “Attacking and Defending the Microsoft Cloud (Office 365 & Azure AD)”
(https://www.blackhat.com/us-19/briefings/schedule/#attacking-and-defending-the-microsoft-cloud-
office-365--azure-ad-14553)
Slides (PDF) (https://adsecurity.org/wp-content/uploads/2019/08/2019-BlackHat-US-Metcalf-
Morowczynski-AttackingAndDefendingTheMicrosoftCloud.pdf)
Presentation Video (YouTube) (https://www.youtube.com/watch?v=SG2ibjuzRJM&feature=youtu.be&
list=PLH15HpR5qRsWrfkjwFSI256x1u2Zy49VI)
• Azure AD Password Protection (for on-prem Active Directory) (https://docs.microsoft.com/en-
us/azure/active-directory/authentication/concept-password-ban-bad)
(https://adsecurity.org/?author=2)
21 of 24 10/15/23, 16:38
What is Azure Active Directory? – Active Directory Security https://adsecurity.org/?p=4211
Sean Metcalf
I improve security for enterprises around the world working for TrimarcSecurity.com
Read the About page (top left) for information about me. :)
https://adsecurity.org/?page_id=8
• (mailto:sean@adsecurity.org)
Recent Posts
• Attacking Active Directory Group Managed Service Accounts (GMSAs) (https://adsecurity.org
/?p=4367)
• From Azure AD to Active Directory (via Azure) – An Unanticipated Attack Path (https://adsecurity.org
/?p=4277)
• What is Azure Active Directory? (https://adsecurity.org/?p=4211)
• Slides Posted for Black Hat USA 2019 Talk: Attacking & Defending the Microsoft Cloud
(https://adsecurity.org/?p=4179)
• AD Reading: Windows Server 2019 Active Directory Features (https://adsecurity.org/?p=4187)
Popular Posts
• Attack Methods for Gaining Domain Admin Rights in… (https://adsecurity.org/?p=2362)
• PowerShell Encoding & Decoding (Base64) (https://adsecurity.org/?p=478)
• Kerberos & KRBTGT: Active Directory’s… (https://adsecurity.org/?p=483)
• Finding Passwords in SYSVOL & Exploiting Group… (https://adsecurity.org/?p=2288)
• Securing Domain Controllers to Improve Active… (https://adsecurity.org/?p=3377)
• Securing Windows Workstations: Developing a Secure Baseline (https://adsecurity.org/?p=3299)
• Mimikatz DCSync Usage, Exploitation, and Detection (https://adsecurity.org/?p=1729)
• Detecting Kerberoasting Activity (https://adsecurity.org/?p=3458)
• Scanning for Active Directory Privileges &… (https://adsecurity.org/?p=3658)
• The Most Common Active Directory Security Issues and… (https://adsecurity.org/?p=1684)
Categories
• ActiveDirectorySecurity (https://adsecurity.org/?cat=565)
• Apple Security (https://adsecurity.org/?cat=55)
• Cloud Security (https://adsecurity.org/?cat=431)
• Continuing Education (https://adsecurity.org/?cat=17)
• Entertainment (https://adsecurity.org/?cat=396)
• Exploit (https://adsecurity.org/?cat=347)
• Hacking (https://adsecurity.org/?cat=1039)
• Hardware Security (https://adsecurity.org/?cat=168)
• Hypervisor Security (https://adsecurity.org/?cat=172)
• Linux/Unix Security (https://adsecurity.org/?cat=126)
• Malware (https://adsecurity.org/?cat=343)
• Microsoft Security (https://adsecurity.org/?cat=11)
22 of 24 10/15/23, 16:38
What is Azure Active Directory? – Active Directory Security https://adsecurity.org/?p=4211
• Mitigation (https://adsecurity.org/?cat=819)
• Network/System Security (https://adsecurity.org/?cat=48)
• PowerShell (https://adsecurity.org/?cat=7)
• RealWorld (https://adsecurity.org/?cat=698)
• Security (https://adsecurity.org/?cat=21)
• Security Conference Presentation/Video (https://adsecurity.org/?cat=234)
• Security Recommendation (https://adsecurity.org/?cat=1045)
• Technical Article (https://adsecurity.org/?cat=24)
• Technical Reading (https://adsecurity.org/?cat=4)
• Technical Reference (https://adsecurity.org/?cat=2)
• TheCloud (https://adsecurity.org/?cat=156)
• Vulnerability (https://adsecurity.org/?cat=930)
Tags
ActiveDirectory (https://adsecurity.org
/?tag=activedirectory) Active Directory (https://adsecurity.org/?tag=active-directory)
ActiveDirectorySecurity
ActiveDirectoryAttack (https://adsecurity.org/?tag=activedirectoryattack)
PowerShell (https://adsecurity.org/?tag=powershell)
PowerShellCode (https://adsecurity.org/?tag=powershellcode) PowerShellHacking
PowerSploit
(https://adsecurity.org/?tag=powershellhacking) PowerShellv5 (https://adsecurity.org/?tag=powershellv5)
(https://adsecurity.org/?tag=powersploit) Presentation (https://adsecurity.org/?tag=presentation) Security
(https://adsecurity.org/?tag=security) SIDHistory (https://adsecurity.org/?tag=sidhistory) SilverTicket (https://adsecurity.org
/?tag=silverticket) SneakyADPersistence (https://adsecurity.org/?tag=sneakyadpersistence) SPN (https://adsecurity.org
/?tag=spn) TGS (https://adsecurity.org/?tag=tgs) TGT (https://adsecurity.org/?tag=tgt) Windows10
(https://adsecurity.org/?tag=windows10) WindowsServer2008R2 (https://adsecurity.org/?tag=windowsserver2008r2)
WindowsServer2012 (https://adsecurity.org/?tag=windowsserver2012) WindowsServer2012R2
(https://adsecurity.org/?tag=windowsserver2012r2)
23 of 24 10/15/23, 16:38
What is Azure Active Directory? – Active Directory Security https://adsecurity.org/?p=4211
Copyright
Content Disclaimer: This blog and its contents are provided "AS IS" with no warranties, and they confer no
rights. Script samples are provided for informational purposes only and no guarantee is provided as to
functionality or suitability. The views shared on this blog reflect those of the authors and do not represent
the views of any companies mentioned. Content Ownership: All content posted here is intellectual work and
under the current law, the poster owns the copyright of the article. Terms of Use Copyright © 2011 - 2020.
Content Disclaimer: This blog and its contents are provided "AS IS" with no warranties, and they confer no
rights. Script samples are provided for informational purposes only and no guarantee is provided as to
functionality or suitability. The views shared on this blog reflect those of the authors and do not represent the
views of any companies mentioned.
24 of 24 10/15/23, 16:38