Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PowerShell-使用Microsoft帐户连接到Azure Active Directory_Powershell_Azure_Azure Active Directory - Fatal编程技术网

PowerShell-使用Microsoft帐户连接到Azure Active Directory

PowerShell-使用Microsoft帐户连接到Azure Active Directory,powershell,azure,azure-active-directory,Powershell,Azure,Azure Active Directory,我有一个Azure订阅,其中订阅管理员帐户是Microsoft帐户。然后我添加了另一个Microsoft帐户作为联合管理员。我被告知,当我添加一个联合管理员时,它会作为Guest用户添加到订阅的默认广告中。我真正想做的是将用户类型从Guest更改为Member。为此,我被建议使用Azure AD PowerShell,而这正是我努力的方向 我已经安装了相关的PS模块(基于此链接:) 下面是我正在做的: 首先,这是我发出的命令: $msolcred = get-credential 系统会提示我

我有一个Azure订阅,其中订阅管理员帐户是Microsoft帐户。然后我添加了另一个Microsoft帐户作为联合管理员。我被告知,当我添加一个联合管理员时,它会作为
Guest
用户添加到订阅的默认广告中。我真正想做的是将用户类型从
Guest
更改为
Member
。为此,我被建议使用Azure AD PowerShell,而这正是我努力的方向

我已经安装了相关的PS模块(基于此链接:)

下面是我正在做的:

首先,这是我发出的命令:

$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
    两种方法,但都出现了相同的错误
  • 如果不可能,那么替代方案是什么?我是否应该在该广告中创建一个用户,并将该用户置于具有管理用户权限的角色中(因为这是我想要做的)
如果您对此有任何见解,我们将不胜感激。

(更新于2018-04-23,以澄清如何使用AzureAD(v2)模块实现此目的。)

(v2)PowerShell模块接受中的
-TenantId
参数,该参数可以是Guid租户ID,也可以是Azure AD租户中任何已验证的域名。这样做将允许您使用外部帐户登录(例如,您的个人Microsoft帐户,或来自其他Azure AD租户的工作或学校帐户,只要此帐户以前被邀请加入租户):

Connect AzureAD-TenantId“contoso.com”
(v1)模块没有等效参数,但它接受Azure AD Graph API的访问令牌(
https://graph.windows.net
)和Microsoft Graph API(
https://graph.microsoft.com
),分别。尽管您可以使用ADAL(例如)为您的特定租户获取这些访问令牌(这允许您使用外部用户),但只为您的Azure AD租户创建一个“本地”帐户可能更简单


当前不支持使用Microsoft帐户登录AAD PowerShell。您的方法(创建一个“本地”目录的新用户)是一条路。

对于将来遇到这个问题的人,前面的答案似乎仍然是正确的。基本上,您必须创建一个目录本机的新帐户。在PowerShell中运行connect-msolservice时,可以使用此帐户登录,然后可以运行set-msoluser将用户从“来宾”转换为“成员”

下面的博客文章有详细的步骤说明。请注意,如果您的全球管理员帐户不是工作或学校帐户,则需要首先遵循附录。另外,我在博客文章的评论部分添加了一些重要的细节

为了便于参考,可以在本论坛帖子中找到使用set-msoluser的类似问题和解决方案:

谢谢。IMHO,
connect msolservice
应该有一个参数,我可以在其中指定用于身份验证的目标AD。这将使这一切成为可能。这其中有更多的内容,但这个想法是正确的。您可以在AAD反馈网站上投票/添加请求。请注意,Microsoft正在更新PS插件以使用基于浏览器的身份验证,该验证应支持MFA和其他选项。但它在我的Microsoft帐户上似乎仍然不起作用。2016年10月,您仍然无法使用Microsoft帐户管理AD:(他们确实有web身份验证,但没有从公司(或学校)帐户切换的选项。