【问题标题】:Connecting Exchange Online with Powershell without basic authentication在没有基本身份验证的情况下使用 Powershell 连接 Exchange Online
【发布时间】:2020-06-24 16:34:19
【问题描述】:

我还是不明白,如何在没有基本身份验证的情况下连接到 Exchange Online。
事实上,基本身份验证是 EOL: https://techcommunity.microsoft.com/t5/Exchange-Team-Blog/Improving-Security-Together/ba-p/805892

使用 Exchange Online Powershell Module V2 (https://techcommunity.microsoft.com/t5/Exchange-Team-Blog/Improving-Security-Together/ba-p/805892) 我可以连接

    $Credential=Get-Credential
    Connect-ExchangeOnline –Credential $Credential

上面的代码有效。
但只有 get-EXO... 命令可用。
我该怎么做才能使用命令Get-OrganizationConfig

最后,我需要有管理员命令来执行 ExchangeOnline 管理,而无需任何用户干预。用户名/密码必须作为参数提供。

【问题讨论】:

    标签: azure powershell office365 exchange-server


    【解决方案1】:

    如果在客户端计算机上禁用 WinRM Basic Auth,您可以访问 9 个 EXO* cmdlet,但无法访问剩余的 700 多个 cmdlet。

    要访问所有 cmdlet,您需要在客户端计算机中启用 WinRM basic。但是,它使用现代身份验证进行身份验证,它需要基本身份验证标头来传输 OAuth 令牌。

    有关更多信息,您可以在这里查看:Everything you need to know about EXO V2 module

    【讨论】:

    • 我也看过那份 Office 365 报告。所以我想知道是否真的没有其他方法。现在我刚刚看到有一个更新:techcommunity.microsoft.com/t5/exchange-team-blog/… 微软似乎在今年 10 月禁用了基本身份验证选项。但他们现在还没有完全准备好使用 EXO 模块。
    【解决方案2】:

    这不是 Powershell 代码问题,这是我们在此提供帮助的原因。所以,这真的应该转移到 SuperUser 或 StackExchange,但既然你在这里。知道这种“在没有基本身份验证的情况下连接到 O365/Azure”并不是什么新鲜事。你已经能够做到这一点很长时间了。

    注意点,Azure 最初和 ADAL/Modern 默认关闭,现在默认开启,但是现在,如果你正在做不使用 ADAL/MA 的东西,它会退回到基本的,即当然现在与 Basic Auth 的 EOL 无关(人们现在对此感到恐慌 - 老实说没有什么理由)。

    由于整个行业在风险管理/安全领域的整体地位,每个人都应该使用 MFA 进行连接,当然 MFA 不能与 Basic Auth 一起使用.

    很长一段时间以来,它已被很好地记录下来。只需使用 say... 搜索它。

    'PowerShell connect to exchange online adal'

    'PowerShell connect to exchange online modern auth'

    'PowerShell connect to exchange online MFA'

    'PowerShell connect to exchange online 2 factor auth'

    ...您将获得所有 MS 文档以及有关该主题的所有其他博客文章。

    Connect to Exchange Online PowerShell

    如果您想使用多重身份验证 (MFA) 连接到 Exchange Online PowerShell,需要下载并使用 Exchange 在线远程 PowerShell 模块。有关详细信息,请参阅连接到 使用多重身份验证 Exchange Online PowerShell。

    Connect to Exchange Online PowerShell using multi-factor authentication

    PowerShell Basics: Connecting to Exchange Online Using Multi-Factor Authentication

    Connecting to Office 365 using PowerShell and Modern Authentication

    Connect to Exchange Online with Powershell, Modern Authentication and Conditional Access

    Connect to Exchange Online PowerShell without Basic Authentication (Step by Step)

    # Install Exchange Online PowerShell V2 Module: 
    Install-Module PowerShellGet -Force
    Install-Module –Name ExchangeOnlineManagement
    
    # Connect to Exchange Online PowerShell With Modern Authentication: 
    Connect-ExchangeOnline
    
    # Additional Usecases for Connect-ExchangeOnline: 
    PowerShell
    $Credential=Get-Credential
    Connect-ExchangeOnline –Credential $Credential
    Connect-ExchangeOnline -UserPrincipalName <UPN>
    

    【讨论】:

      【解决方案3】:

      Exo v2-Module 包含所有“旧”cmdlet。我的有,MS 也说有

      EXO V2 模块中的新 cmdlet 旨在替换它们的 旧的,效率较低的等价物。但是,原始 cmdlet 是 后仍可在 EXO V2 模块中使用,以实现向后兼容性 您创建一个会话以连接到您的 Exchange Online 组织。

      MS Docs

      无论如何,情况很不令人满意,因为您不能在 Scheduled Scripts 中使用 EXOv2。有来自 MSExchangeTeam here 的博客帖子的更新版本。它也有关于 RPS 的信息:

      PowerShell、脚本和自动化——我们绝对致力于 使用远程 PowerShell 支持非交互式脚本 基于证书的身份验证。我们仍在努力 代码,已经有一些客户与我们合作,并将 在接下来的几个月里有更多话要说。

      我认为他们会延迟禁用基本身份验证一段时间,因为他们无法及时提供解决方案。

      问候

      菲利普

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-10-06
        • 2020-12-28
        • 1970-01-01
        • 2022-01-09
        • 1970-01-01
        • 2012-01-11
        • 1970-01-01
        • 2018-10-06
        相关资源
        最近更新 更多