确定用户配置文件本地路径并在窗口中显示它 - Powershell

时间:2014-07-08 21:16:30

标签: powershell

我正在寻找能够确定远程计算机的特定用户配置文件夹并在资源管理器窗口中弹出它的脚本。

我想把它称为:

openUserProfile.ps1 username hostname

我从那个代码开始,但后来没有发生任何好事......

params($username, $computer)

Get-WmiObject -ComputerName $computer Win32_UserProfile

想法?谢谢!

--------- ---------- UPDATE

现在有了这段代码,我可以列出所有个人资料路径,但我不能只存储我想要的那个,试图将$ username放在哪里但没有运气

$username = "user1"
$computer = "pc1"

$info = gwmi win32_userprofile -ComputerName $computer | 
Select-Object LocalPath | 
where {$_.localpath -like "*"}

echo $info

输出:

LocalPath                                                                                                                                                                                      
---------                                                                                                                                                                                      
C:\Users\user1                                                                                                                                                                                                                                                   
C:\Windows\ServiceProfiles\NetworkService                                                                                                                                                      
C:\Windows\ServiceProfiles\LocalService                                                                                                                                                        
C:\Windows\system32\config\systemprofile      

2 个答案:

答案 0 :(得分:1)

您的更新代码非常接近,您只需要匹配路径中的用户名:

$info = gwmi win32_userprofile -ComputerName $computer | 
Select-Object LocalPath | 
where {$_.localpath -like "*$username"}

然后,您需要将输出转换为UNC路径:

$UNC = $info.LocalPath.Replace("C:","\\$computer\c$")
Invoke-Item $UNC

答案 1 :(得分:1)

确定本地路径有更简单的方法:

$env:USERPROFILE

要查看所有环境变量的运行:

Get-ChildItem Env: