【问题标题】:See what a user password is through powershell for office 365通过 powershell for office 365 查看用户密码是什么
【发布时间】:2015-11-04 09:27:37
【问题描述】:

这个问题与我所学过的所有最佳实践都背道而驰,但对于我目前的组织来说,这是一个更大的问题。关键是,我需要查看当前用户密码是什么,而不仅仅是重置它。这有几个原因。

我的组织有一个活动目录,但它仅用于远程终端服务。有适当的软件不与任何东西同步,我们在这些不同的程序/数据库中手动创建用户帐户,并且只需手动将其凭据设置为他们用于登录 Office 365 帐户的相同凭据。在线交流是我们业务的核心,而不是活动目录。

因此,密码设置为永不过期,并且保存了所有用户及其密码的主列表。所有这一切对最终用户来说都是透明的,就他们而言,他们在所有事情上只有一个帐户,因为他们的登录名对所有事情都是相同的,但那是因为我们手动将他们的凭据设置为相同。现在,当用户忘记密码时(尤其是我们的手机用户,因为他们收到的手机/平板电脑已经登录并且很少知道他们的密码),我们会查阅主列表。但是,在这种情况下,无论出于何种原因,用户都不在主列表中。

这种情况可能已经有几个月了,但只是在我不得不用新平板电脑设置它们时才注意到。用户不知道他们的密码,没有主列表我看不到它是什么。我看到的唯一可用的其他选项是重置用户交换密码(我将在下面解释我遵循的过程)并让用户每次无法登录时给我打电话,转到它,然后重置他的密码或(在某些情况下)为他创建一个新帐户(这根本不理想,因为他会丢失他多年来建立的所有关联数据)并重新开始。

我很清楚这些做法有多糟糕,并且一直在努力改变它们,但那是另一回事。

现在我目前重置用户密码的方式(因为 office365 webapp 不允许手动设置密码)是使用交换、azure admin 和 azure 登录助手插件从我的 IT 笔记本电脑上运行 powershell,然后输入以下内容命令:

$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -credential $UserCredential -Authentication Basic –AllowRedirection

使用我的域管理员帐户登录

import-pssession $session

connect-msolservice

这让我进入在线交换 powershell 会话,我可以在其中运行密码重置命令

Set-MsolUserPassword –UserPrincipalName TYPE_USERNAME_HERE –NewPassword TYPE_DESIRED_PASSWORD_HERE -ForceChangePassword $False

但是我需要查看当前的密码是什么。在我的搜索中,我发现了许多资源,这些资源解释了如何获取有关上次设置密码的时间、是否设置为永不过期等信息。然而,关于如何检索用户当前密码的实际答案(并以可读格式显示,因为它可能会被加密)。但是,我发现这篇文章使我相信这是可能的: Powershell Scripting example link

所以我基本上需要知道运行哪些 powershell 命令来检索和解码用户当前密码。我是我的组织 I.T.管理员并拥有完整的管理员权限。另外,这是我的第一个堆栈交换帖子,所以如果您需要任何其他信息,请告诉我。感谢您的帮助。

【问题讨论】:

    标签: security powershell passwords exchange-server exchangewebservices


    【解决方案1】:

    简答:不可能。

    密码不直接存储在 Active Directory 中,它们是经过哈希处理的,并且存储的是该哈希值。当您输入您的详细信息时,系统会对您输入的密码进行哈希处理,并将其与存储的密码进行比较。用于生成该哈希的算法只有一种方法,因此,找回密码的唯一方法是暴力破解它。

    长答案:可能如果您更改更改密码存储方式的 AD 设置(即可逆加密),但这样做会非常疯狂。

    【讨论】:

    • 是的,我想了很多叹息。这是完全有道理的,你真的不希望密码是可检索的。需要明确的是,Office 365 在线交换也是如此吗?出于所有意图和目的,我们在本地或通过 Azure 都没有活动目录。
    • 我对 O365 或 Azure AD 了解不多,但我认为在那里做会更加困难/不可能。正如您所指出的,我们不写下密码是有充分理由的!
    • 有没有办法只使用本地密码的哈希值在云端更改密码?
    猜你喜欢
    • 2014-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多