【问题标题】:Runbook - PowerShell to modify Azure AD GroupRunbook - PowerShell 修改 Azure AD 组
【发布时间】:2018-06-16 21:38:29
【问题描述】:

我正在使用 ARM 并创建了一个自动化帐户,其中包含一个运行手册,使用下面的 PowerShell 代码 sn-p 来修改 Azure AD 用户,以便正确更新他们的位置。所有资源都与我的 Azure AD 位于同一订阅和资源组中。

获取-msoluser |其中{$_.userPrincipalName -like "*@contoso.co.uk"} |设置 msoluser -Usagelocation "GB" 当我在 Azure 中运行它时,出现如下错误:

术语“get-msoluser”未被识别为 cmdlet、函数、脚本文件或可操作的名称 程序。检查名称的拼写,或者如果包含路径,请验证路径是否正确并重试。 在行:2 字符:1 + 获取 msoluser |其中{$_.userPrincipalName -like "*@contoso.co.uk."} |小... +~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (get-msoluser:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException

当我使用“connect-msolservice”手动运行 PowerShell 并输入我的凭据时,它工作正常。

我有几个问题:

  1. 我是否需要提供凭据以便 PowerShell 知道要连接到哪个 Azure AD?
  2. 我需要进行哪些修改才能确保 get-msoluser cmdlet 被识别?

谢谢

【问题讨论】:

  • 这个blog 回答了你的问题。请看我的回答。

标签: azure automation


【解决方案1】:

您必须将 Azure 自动化帐户视为全新的 powershell 安装。它几乎没有模块。您首先要做的是install modules 进入它。只需按照那篇文章安装正确的模块,然后该模块中的所有 cmdlet 都将在 Azure 自动化运行手册中提供给您。

并且您仍然需要针对 Azure AD 进行身份验证(具有适当的权限)才能使您的命令正常工作(否则任何人都可以针对您的 Azure AD 发出相同的命令,这不是您想要的)。因此,您应该使用静默身份验证命令启动每个 Runbook。您可以使用 Azure 自动化 用于存储密码的变量(不将它们硬编码到运行手册中)。

您也可以使用certificate auth,Azure 自动化能够为此存储证书。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-21
    • 2022-09-25
    • 1970-01-01
    • 2019-05-05
    • 2021-07-17
    • 2022-11-11
    • 1970-01-01
    相关资源
    最近更新 更多