如何用Windows PowerShell获取其他本地用户主目录(等效~bob)
PowerShell 获取其他用户主目录(替代~bob的实现)
你用[ADSI]查询返回空值的原因是:本地用户账户的HomeDirectory属性仅在手动指定了本地主目录路径时才会有值,默认创建的本地用户该属性为空,所以无法通过这个属性获取默认的用户文件夹路径。
方法1:通过Win32_UserProfile获取实际配置文件路径
这个方法能准确获取用户的实际主目录(配置文件路径),支持默认或自定义路径,需要管理员权限:
# 替换为目标用户名 $targetUser = "other.user" # 获取用户SID $userSID = (Get-LocalUser -Name $targetUser).SID.Value # 查询用户配置文件信息 $userProfile = Get-CimInstance Win32_UserProfile -Filter "SID='$userSID'" # 输出主目录路径 $userProfile.LocalPath
方法2:拼接默认用户文件夹路径(适用于默认配置)
如果目标用户是默认创建、未自定义主目录,可直接拼接默认路径:
$targetUser = "other.user" $defaultHomeDir = Join-Path -Path "$env:SystemDrive\Users" -ChildPath $targetUser $defaultHomeDir
补充说明
- 若查询域用户,需替换
Get-LocalUser为Get-ADUser(需安装Active Directory模块),再用SID查询Win32_UserProfile。 Win32_UserProfile仅能查询已登录过系统的用户配置信息,未登录过的用户无对应记录。
内容的提问来源于stack exchange,提问作者kfsone
相关产品推荐
相关产品推荐

