在 powershell 上使用 Azure Active Directory 进行身份验证
Authenticating with Azure Active Directory on powershell
我正在尝试探索 Azure Active Directory V2 PowerShell Module
的功能
我有一个 Azure 帐户,我已经设置了一个包含多个用户的 Active Directory。
我的第一个目标很简单:显示用户列表。
所以我输入:
Connect-AzureAD
我看到一个对话框并输入我的用户帐户和密码。它 returns 在 Microsoft.Open.Azure.AD.CommonLibrary.PSAzureContext
.
类型的对象上
然后我输入
Get-AzureADUser
错误是:
Get-AzureADUser : Error occurred while executing GetUsers
Code: Authentication_Unauthorized
Message: User was not found
HttpStatusCode: Forbidden
我仍然能够列出使用 Azure RM Powershell 模块的用户。以下代码有效:
Add-AzureRmAccount
Get-AzureRmADUser
我该怎么做才能让 Get-AzureADUser
工作?
cmdlet Connect-AzureAD
建立到 ADD domian 的连接,我们登录成功后会显示确认信息:
PS C:\windows\system32> connect-azuread
Account Environment Tenant
------- ----------- ------
jasontest1@xxxxxx.onmicrosoft.com AzureCloud xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
可以使用此 cmdlet Get-AzureADDomain
验证连接,如果用户连接到 AAD 域,他在其中具有管理 权限 - 有关域的信息将显示:
PS C:\windows\system32> get-azureaddomain
Name AvailabilityStatus AuthenticationType
---- ------------------ ------------------
hcl.com Managed
msgamestudios.com Managed
foobar.local Managed
multimap.com Managed
skypestaytogether.com Managed
insightsquarterly.com.au Managed
calanit.onmicrosoft.com Federated
msft.ccsctp.net Managed
ruffiangames.com Managed
xn--m1bg0b0byewac1j8b.com Managed
VoicesforInnovation.org Managed
shaanximic.com Managed
www.yunnanmic.com Managed
wsmbela.pss.com Managed
fornax.off Managed
api.staging.yammer.com Managed
codenauts.net Managed
acompli.com Managed
testdomains.co Managed
microsoft.hr Managed
Bayportali.mmdservice.com Managed
contoso.com Managed
api.swrepository.com Managed
Equivio.com Managed
sunshine.am Managed
microsoftaffiliates.com Managed
如果用户没有管理员权限,我们会得到和你一样的错误。
Get-AzureADDomain : Error occurred while executing GetDomains
Code: Authentication_Unauthorized
Message: User was not found
HttpStatusCode: Forbidden
原因是,cmdlet GetAzureADDomian 没有指定租户,因此连接建立到一个域,用户没有管理员权限。
为确保连接到预期的 AAD 域,租户 ID 必须在调用 Connect-AzureAD
cmdlet 时指定。
PS C:\windows\system32> Connect-AzureAD -TenantId
这里已经回答了,请使用:
PS C:\windows\system32> Connect-AzureAD -TenantId {YOUR_TENANT_ID}
Example:
PS C:\windows\system32> Connect-AzureAD -TenantId ce1af0ab-ae35-4f60-8f2d-944444444444
使用我们在执行 Connect-AzureAd
时得到的 TenantId 是一个常见的错误,如下所示:
但使用 Azure Portal --> Azure Active Directory --> Properties --> Directory Id
中的 TenantId
。
Directory Id
=TenantId
。
我正在尝试探索 Azure Active Directory V2 PowerShell Module
的功能我有一个 Azure 帐户,我已经设置了一个包含多个用户的 Active Directory。
我的第一个目标很简单:显示用户列表。
所以我输入:
Connect-AzureAD
我看到一个对话框并输入我的用户帐户和密码。它 returns 在 Microsoft.Open.Azure.AD.CommonLibrary.PSAzureContext
.
然后我输入
Get-AzureADUser
错误是:
Get-AzureADUser : Error occurred while executing GetUsers
Code: Authentication_Unauthorized
Message: User was not found
HttpStatusCode: Forbidden
我仍然能够列出使用 Azure RM Powershell 模块的用户。以下代码有效:
Add-AzureRmAccount
Get-AzureRmADUser
我该怎么做才能让 Get-AzureADUser
工作?
cmdlet Connect-AzureAD
建立到 ADD domian 的连接,我们登录成功后会显示确认信息:
PS C:\windows\system32> connect-azuread
Account Environment Tenant
------- ----------- ------
jasontest1@xxxxxx.onmicrosoft.com AzureCloud xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
可以使用此 cmdlet Get-AzureADDomain
验证连接,如果用户连接到 AAD 域,他在其中具有管理 权限 - 有关域的信息将显示:
PS C:\windows\system32> get-azureaddomain
Name AvailabilityStatus AuthenticationType
---- ------------------ ------------------
hcl.com Managed
msgamestudios.com Managed
foobar.local Managed
multimap.com Managed
skypestaytogether.com Managed
insightsquarterly.com.au Managed
calanit.onmicrosoft.com Federated
msft.ccsctp.net Managed
ruffiangames.com Managed
xn--m1bg0b0byewac1j8b.com Managed
VoicesforInnovation.org Managed
shaanximic.com Managed
www.yunnanmic.com Managed
wsmbela.pss.com Managed
fornax.off Managed
api.staging.yammer.com Managed
codenauts.net Managed
acompli.com Managed
testdomains.co Managed
microsoft.hr Managed
Bayportali.mmdservice.com Managed
contoso.com Managed
api.swrepository.com Managed
Equivio.com Managed
sunshine.am Managed
microsoftaffiliates.com Managed
如果用户没有管理员权限,我们会得到和你一样的错误。
Get-AzureADDomain : Error occurred while executing GetDomains
Code: Authentication_Unauthorized
Message: User was not found
HttpStatusCode: Forbidden
原因是,cmdlet GetAzureADDomian 没有指定租户,因此连接建立到一个域,用户没有管理员权限。
为确保连接到预期的 AAD 域,租户 ID 必须在调用 Connect-AzureAD
cmdlet 时指定。
PS C:\windows\system32> Connect-AzureAD -TenantId
这里已经回答了,请使用:
PS C:\windows\system32> Connect-AzureAD -TenantId {YOUR_TENANT_ID}
Example:
PS C:\windows\system32> Connect-AzureAD -TenantId ce1af0ab-ae35-4f60-8f2d-944444444444
使用我们在执行 Connect-AzureAd
时得到的 TenantId 是一个常见的错误,如下所示:
但使用 Azure Portal --> Azure Active Directory --> Properties --> Directory Id
中的 TenantId
。
Directory Id
=TenantId
。