【问题标题】:Listing all user accounts on a workstation列出工作站上的所有用户帐户
【发布时间】:2021-12-21 11:50:14
【问题描述】:

我正在编写一个脚本,用于使用 USMT 将用户配置文件从工作站备份到服务器,但我遇到了一个障碍,无法找到一种方法来列出工作站上的配置文件。我们所有的个人资料都是基于域的,我能找到的每篇文章都只列出本地个人资料,而不是域帐户。

我很想知道是否有人有简单的方法来做到这一点,或者其他人是如何解决这个问题的?我曾考虑只列出 C:\Users 中的文件夹,然后交叉引用 AD 以获取域帐户,但是项目的一部分是能够从其他域中获取帐户并将它们加入另一个域,所以不要认为这会起作用.

所以如果有人能给我一些关于这个的建议或文章,我将不胜感激。

【问题讨论】:

  • 以下将列出系统上的非系统配置文件>>> Get-CimInstance -ClassName Win32_UserProfile | Where-Object {-not $_.Special}
  • 完美!非常感谢。我应该能够解析这些结果以提取我想要的数据。
  • @Caleb - 不客气......很高兴能帮上一点忙...... [grin]

标签: windows powershell active-directory usmt


【解决方案1】:

听起来您想要本地系统上的帐户配置文件列表。我知道的最直接的方法是使用Win32_UserProfile 类。

代码的作用...

  • 获取所有帐户配置文件
    您可以使用-Filter 参数只获取您想要的参数,但我不理解 CIM/WMI 使用的查询语言方言。
  • 过滤掉.Special 帐户
    不太可能需要像systemprofile 这样的东西。 [咧嘴一笑]
  • 将调用包装在@() 中以强制结果为数组
    这里的重点是确保结果是一个数组 - 即使其中只有一个项目。将结果视为一个数组会很有用,所以我强制它为一个。
  • 将结果分配给 $Var
  • 显示该列表

代码...

$UserProfileList = @(
    Get-CimInstance -ClassName Win32_UserProfile |
        Where-Object {-not $_.Special}
    )

$UserProfileList

仅输出一个配置文件 ...

AppDataRoaming                   : Win32_FolderRedirectionHealth
Contacts                         : Win32_FolderRedirectionHealth
Desktop                          : Win32_FolderRedirectionHealth
Documents                        : Win32_FolderRedirectionHealth
Downloads                        : Win32_FolderRedirectionHealth
Favorites                        : Win32_FolderRedirectionHealth
HealthStatus                     : 3
LastAttemptedProfileDownloadTime : 
LastAttemptedProfileUploadTime   : 
LastBackgroundRegistryUploadTime : 
LastDownloadTime                 : 
LastUploadTime                   : 
LastUseTime                      : 2021-11-08 12:02:02 PM
Links                            : Win32_FolderRedirectionHealth
Loaded                           : True
LocalPath                        : C:\Users\[MyUserName]
Music                            : Win32_FolderRedirectionHealth
Pictures                         : Win32_FolderRedirectionHealth
RefCount                         : 
RoamingConfigured                : False
RoamingPath                      : 
RoamingPreference                : 
SavedGames                       : Win32_FolderRedirectionHealth
Searches                         : Win32_FolderRedirectionHealth
SID                              : S-1-5-[MySID]
Special                          : False
StartMenu                        : Win32_FolderRedirectionHealth
Status                           : 0
Videos                           : Win32_FolderRedirectionHealth
PSComputerName                   : 

您可以通过.LocalPath 将个人资料与您的帐户进行交叉引用,或者通过使用SID 进行查找来获取确切的帐户。

【讨论】:

    猜你喜欢
    • 2023-04-06
    • 1970-01-01
    • 2014-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-02
    相关资源
    最近更新 更多