首页 > 解决方案 > 显示空格的变量的命令输出

问题描述

我正在尝试为用户提取密钥,但在字符串之前和之后出现了不需要的空格和换行符。我的脚本如下:

$File = gwmi Win32_UserProfile -co MADS000001 |
        select localpath, sid |
        Where-Object {$_.localpath -eq "C:\Users\Administrator"} |
        select Sid |
        ft -HideTableHeaders |
        Out-String -Stream
Write-Host $file

我怎样才能摆脱它们?

输出如下所示:

标签: powershell

解决方案


我不确定你的目标。

如果您想找出本地管理员帐户的名称(即使它已被重命名),您可以这样写:

Get-WmiObject Win32_UserAccount -Filter 'LocalAccount=TRUE AND SID LIKE "%-500"' |
  Select-Object -ExpandProperty Name

如果您想要该用户的个人资料路径,您可以将它们组合起来:

$adminSID = Get-WmiObject Win32_UserAccount -Filter 'LocalAccount=TRUE AND SID LIKE "%-500"' |
  Select-Object -ExpandProperty SID
$profilePath = [WMI] "root\cimv2:Win32_UserProfile.SID='$adminSID'" |
  Select-Object -ExpandProperty LocalPath

请注意使用Select-Object -ExpandProperty选择特定属性并输出该属性。


推荐阅读