【发布时间】:2021-06-13 06:09:22
【问题描述】:
随着时间的推移,我们的组织经历了一些个人资料名称更改(即某人结婚时),并且还没有重命名用户主目录的标准。所以我们有像 MarySmith 这样的用户,他们的目录像 C:\USERS\MaryJones。到目前为止没有问题,但现在我们想清理这些以避免混淆。 (此处使用的 MarySmith / MaryJones 仅用于说明目的。)我们开始采取一些安全措施,消除这种“混乱”在此过程中发挥了作用。
因此,我们的第一步是确定发生这种情况的案例。在域控制器上,我们发出了这样的 PowerShell 命令,用于初步概念证明:
get-ADUser MarySmith -properties * | Export-CSV -path C:\SOME\PATH.csv
我们发现根本没有提到 MaryJones 文件夹。有一个 HomeDirectory 属性,但它是空的。
再深入一点,在 Active Directory 用户和计算机 (ADUC) 中,当我们为用户提取属性时,我们也没有看到配置文件路径、登录脚本、主文件夹......全为空的差异。然而,当用户 (MarySmith) 登录时,C:\USERS\MaryJones 中的 NTUSER.DAT 文件会更新。
谁能帮助我们了解如何检索正确的信息,以及 Windows 如何跟踪这些名称相关的事实?我相信,如果我们能够恢复这种关联,我们就可以消除一些问题。
谢谢, 丹尼斯
【问题讨论】:
-
你有没有在这种环境中真正configured roaming profiles?听起来您所描述的只是 Windows 机器上的本地用户配置文件
-
对
Get-CimInstance -ClassName Win32_UserProfile的调用会同时提供一个.SID来识别用户和一个.LocalPath,它应该指向本地用户配置文件路径。 -
谢谢,@Lee_Dailey - 这是向前迈出的一大步。不幸的是,我们仍然没有把所有的拼图都放在一个地方。我们在 Get-ADUser 中有可用的用户(它有一个 SID 属性),我们在 Get-CimInstance 中有可用的 SID(连同文件夹名称)。但看起来我们无法从 Get-CimInstance 中选择一个 SID(我试过 Get-CimInstance 后跟用户名,然后是 sid,但无济于事)。您知道将用户和路径放入一个对象的工具吗? (这一切都变得更加混乱,因为我们在一些计算机上有本地用户。我们现在将忽略它们。)
-
应用一些过滤器怎么样?
Get-CimInstance -ClassName Win32_UserProfile | Where-Object {$_.SID -eq 'S-1-5-21-...'} | Select-Object -Property SID, LocalPath返回给定 SID 的 SID 和配置文件路径。 -
@Thomas Ithanks,我会玩这个。我们正在寻找一种从 C:\Users\OldName 到 UserName 的方法,而这可能会适得其反。我将在 Get-ADUser 和 Get-CimInstance 上使用 WHERE,看看我是否能在路上着陆。这是一个很好的推动,再次感谢。
标签: powershell user-management home-directory windowsdomainaccount