我有几个脚本,自动运行计划任务。旧的使用Connect-MsolService与存储凭证,我也想使用Connect-MgGraph。在我的测试环境中,如果我已经使用Msol进行了身份验证,我就不必再次为Graph提供凭据,这就是为什么我认为如果我将它们一个接一个地放置,它就会运行。我不能使用证书,因为那样会容易得多。你知道如何使这两个一起工作吗?我认为它不起作用,因为它必须授予graph的权限,我不知道TBH。
jogvjijk1#
connect-Msolservice和connect-mggraph都可以在同一个PowerShell脚本中使用,但是正如您提到的,它们都需要**“单独的身份验证和授予权限”**。1.Connect-Msolservice:
connect-Msolservice
connect-mggraph
PowerShell
Msolservice
Install-Module -Name CredentialManager Import-Module -Name CredentialManager
Get-Command -Module CredentialManager
验证目的:
这里我使用-AsCredentialObject标志返回一个凭证对象,它显示了目标名称。
-AsCredentialObject
Get-StoredCredential -Target (Get-StoredCredential -AsCredentialObject).TargetName[0]
或者,您可以使用下面的命令将目标与用户名一起使用:
$msolcred = get-storedcredential -Target <username> Connect-MsolService -Credential $msolcred
连接msol服务成功:
检索到使用get-msoluser的msol用户,以检查是否连接正确。
get-msoluser
msol
1.Connect-Mggraph:
Connect-MgGraph
为了连接Microsoft graph API,我尝试使用get-credential -username xxxxxx命令检索凭据,如下所示:
get-credential -username xxxxxx
执行Connect-MgGraph***,认证成功***
**注意:**但是我建议不要存储凭证,因为它会让其他人访问您的脚本和信息。相反,当需要凭证时,您可以使用它们。
1条答案
按热度按时间jogvjijk1#
connect-Msolservice
和connect-mggraph
都可以在同一个PowerShell
脚本中使用,但是正如您提到的,它们都需要**“单独的身份验证和授予权限”**。1.Connect-Msolservice:
**注意:**在连接
Msolservice
之前,请确保您安装了凭据管理器模块,因为您需要使用存储的凭据命令。验证目的:
这里我使用
-AsCredentialObject
标志返回一个凭证对象,它显示了目标名称。或者,您可以使用下面的命令将目标与用户名一起使用:
连接msol服务成功:
检索到使用
get-msoluser
的msol
用户,以检查是否连接正确。1.Connect-Mggraph:
Connect-MgGraph
* 进行身份验证意味着您正在使用Microsoft Graph API进行身份验证。您需要具有与订阅关联的Azure AD租户的管理员角色才能授予权限。*为了连接Microsoft graph API,我尝试使用
get-credential -username xxxxxx
命令检索凭据,如下所示:执行
Connect-MgGraph
***,认证成功*****注意:**但是我建议不要存储凭证,因为它会让其他人访问您的脚本和信息。相反,当需要凭证时,您可以使用它们。