PowerShell - 使用 Microsoft 帐户连接到 Azure Active Directory
PowerShell - Connecting to Azure Active Directory using Microsoft Account
我有一个 Azure 订阅,订阅管理员帐户是一个 Microsoft 帐户。然后我添加了另一个 Microsoft 帐户作为共同管理员。有人告诉我,当我添加共同管理员时,它会作为 Guest
用户添加到我订阅的默认 AD 中。我真正想要完成的是将用户类型从 Guest
更改为 Member
。为此,建议我使用 Azure AD PowerShell,这正是我苦苦挣扎的地方。
我已经安装了相关的 PS 模块(基于此 link:https://msdn.microsoft.com/en-us/library/azure/jj151815.aspx)。
所以这就是我正在做的事情:
首先,这是我发出的命令:
$msolcred = get-credential
系统提示我输入我提供的凭据,然后我 运行 执行以下命令:
connect-msolservice -credential $msolcred
当我这样做时,出现以下错误:
connect-msolservice : The user name or password is incorrect. Verify your user name, and then type your password again.
At line:1 char:1
+ connect-msolservice -Credential $cred -Verbose
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OperationStopped: (:) [Connect-MsolService], MicrosoftOnlineException
+ FullyQualifiedErrorId : 0x80048821,Microsoft.Online.Administration.Automation.ConnectMsolService
我什至尝试将用户名设为 domainname.onmicrosoft.com\username
,但仍然得到相同的结果。
所以我的问题是:
- 甚至可以使用 Microsoft 帐户通过 PowerShell 连接到 Azure AD 吗?
- 如果可以的话,我应该如何指定用户名?
username
和 domainname\username
我都试过了,但我得到了同样的错误。
- 如果不可能,那么替代解决方案是什么?我是否应该只在该 AD 中创建一个用户并将该用户置于有权管理用户的角色中(因为这是我想要做的)?
任何有关此的见解将不胜感激。
(更新于 2018-04-23 以阐明如何使用 AzureAD (v2) 模块执行此操作。)
AzureAD (v2) PowerShell module accepts the ‑TenantId
parameter in Connect‑AzureAD
,可以是Guid租户ID,也可以是Azure AD租户中任何经过验证的域名。这样做将允许您使用外部帐户登录(例如您的个人 Microsoft 帐户,或来自另一个 Azure AD 租户的工作或学校帐户,只要此帐户之前被邀请到租户):
Connect-AzureAD -TenantId "contoso.com"
MSOnline (v1) 模块没有等效参数,但它接受 ‑AdGraphAccessToken
和 ‑MsGraphAccessToken
,它们是 Azure AD Graph 的访问令牌 API (https://graph.windows.net
) 和 Microsoft Graph API (https://graph.microsoft.com
)。虽然您可以使用 ADAL(例如)为您的特定租户获取这些访问令牌(这允许您使用外部用户),但为此为您的 Azure AD 租户创建一个 "local" 帐户可能更简单。
当前不支持使用 Microsoft 帐户登录 AAD PowerShell。您的方法(创建一个 "native" 目录的新用户)是可行的方法。
对于以后 运行 回答这个问题的人来说,之前的答案似乎仍然是正确的。基本上,您必须创建一个目录本机的新帐户。在PowerShell中运行ning connect-msolservice时可以使用该账号登录,然后可以运行set-msoluser将用户从"Guest"转换为"Member"。
以下博客 post 提供了详细的分步指导。请注意,如果您的全局管理员帐户不是工作或学校帐户,则需要先按照附录进行操作。另外,我在博客的评论部分添加了一些重要的细节 post。
作为参考,可以在本论坛中找到使用 set-msoluser 的类似问题和解决方案 post:
https://social.msdn.microsoft.com/Forums/azure/en-US/469baa2d-7ff1-4e17-a8f0-f257cbdbf50b/cannot-see-the-active-directory-item-in-the-azure-portal?forum=WindowsAzureAD
我有一个 Azure 订阅,订阅管理员帐户是一个 Microsoft 帐户。然后我添加了另一个 Microsoft 帐户作为共同管理员。有人告诉我,当我添加共同管理员时,它会作为 Guest
用户添加到我订阅的默认 AD 中。我真正想要完成的是将用户类型从 Guest
更改为 Member
。为此,建议我使用 Azure AD PowerShell,这正是我苦苦挣扎的地方。
我已经安装了相关的 PS 模块(基于此 link:https://msdn.microsoft.com/en-us/library/azure/jj151815.aspx)。
所以这就是我正在做的事情:
首先,这是我发出的命令:
$msolcred = get-credential
系统提示我输入我提供的凭据,然后我 运行 执行以下命令:
connect-msolservice -credential $msolcred
当我这样做时,出现以下错误:
connect-msolservice : The user name or password is incorrect. Verify your user name, and then type your password again.
At line:1 char:1
+ connect-msolservice -Credential $cred -Verbose
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OperationStopped: (:) [Connect-MsolService], MicrosoftOnlineException
+ FullyQualifiedErrorId : 0x80048821,Microsoft.Online.Administration.Automation.ConnectMsolService
我什至尝试将用户名设为 domainname.onmicrosoft.com\username
,但仍然得到相同的结果。
所以我的问题是:
- 甚至可以使用 Microsoft 帐户通过 PowerShell 连接到 Azure AD 吗?
- 如果可以的话,我应该如何指定用户名?
username
和domainname\username
我都试过了,但我得到了同样的错误。 - 如果不可能,那么替代解决方案是什么?我是否应该只在该 AD 中创建一个用户并将该用户置于有权管理用户的角色中(因为这是我想要做的)?
任何有关此的见解将不胜感激。
(更新于 2018-04-23 以阐明如何使用 AzureAD (v2) 模块执行此操作。)
AzureAD (v2) PowerShell module accepts the ‑TenantId
parameter in Connect‑AzureAD
,可以是Guid租户ID,也可以是Azure AD租户中任何经过验证的域名。这样做将允许您使用外部帐户登录(例如您的个人 Microsoft 帐户,或来自另一个 Azure AD 租户的工作或学校帐户,只要此帐户之前被邀请到租户):
Connect-AzureAD -TenantId "contoso.com"
MSOnline (v1) 模块没有等效参数,但它接受 ‑AdGraphAccessToken
和 ‑MsGraphAccessToken
,它们是 Azure AD Graph 的访问令牌 API (https://graph.windows.net
) 和 Microsoft Graph API (https://graph.microsoft.com
)。虽然您可以使用 ADAL(例如)为您的特定租户获取这些访问令牌(这允许您使用外部用户),但为此为您的 Azure AD 租户创建一个 "local" 帐户可能更简单。
当前不支持使用 Microsoft 帐户登录 AAD PowerShell。您的方法(创建一个 "native" 目录的新用户)是可行的方法。
对于以后 运行 回答这个问题的人来说,之前的答案似乎仍然是正确的。基本上,您必须创建一个目录本机的新帐户。在PowerShell中运行ning connect-msolservice时可以使用该账号登录,然后可以运行set-msoluser将用户从"Guest"转换为"Member"。
以下博客 post 提供了详细的分步指导。请注意,如果您的全局管理员帐户不是工作或学校帐户,则需要先按照附录进行操作。另外,我在博客的评论部分添加了一些重要的细节 post。
作为参考,可以在本论坛中找到使用 set-msoluser 的类似问题和解决方案 post: https://social.msdn.microsoft.com/Forums/azure/en-US/469baa2d-7ff1-4e17-a8f0-f257cbdbf50b/cannot-see-the-active-directory-item-in-the-azure-portal?forum=WindowsAzureAD