Your company has an Azure Active Directory (Azure AD) tenant named companycs.com, for managing all users that need to access the resources deployed in their Azure subscription.
You need to grant access to an external consultant to some of the resources deployed in your subscription. This external consultant will use her own email address as her username. The company of the external consultant does not use Office 365 or any other Azure AD tenant.
Which PowerShell cmdlet should you use?
You should use the New-AureADMSInvitation cmdlet. You use this cmdlet to create guest users in your Azure AD tenant. In this scenario, you need to create a guest user because the external consultant will use her own email address as the username to log in to your tenant. You need to create guest users to grant access to users that do not exist on your Azure AD tenant, regardless of whether they use Office 365 or have another Azure AD tenant configured.
You should not use the New-AzureADUser cmdlet. This cmdlet is used to create a new user in your Azure AD tenant. In this scenario, using this cmdlet will create a new user that will use companycs.com as part of their username.
You should not use the New-ADUser cmdlet. You typically use this cmdlet to create new users in your on-premises AD DS domain. If your on-premises AD DS domain and your Azure AD tenant were synced, any new user would appear on your Azure AD tenant. However, they would be internal users, not guests.
You should not use the New-MsolUser cmdlet. You use this cmdlet to create a new user in an Office 365 subscription.