【问题标题】:Powershell command to select one valuePowershell命令选择一个值
【发布时间】:2021-11-30 01:09:19
【问题描述】:

我的 PowerShell 命令运行良好,如下所示:

PS C:\Users\username> whoami /user

USER INFORMATION
----------------

User Name        SID
================ ==============================================
wip\username     S-1-5-21-57989841-616248376-1811674531-4551702

但是当我尝试只选择 SID 时,它显示为空白

PS C:\Users\username> whoami /user | Select-Object "User information"

User information
----------------
blank

我期待“S-1-5-21-57989841-616248376-1811674531-4551702”而不是空白

【问题讨论】:

  • 请添加作为答案,我会接受,谢谢
  • 就像 Mathias 提到的那样,这不是 cmdlet,而是可执行文件。为了让您使用它,有几种方法可以做到这一点,但最简单的方法是将其输出为 csv,然后将其转换为对象。 whoami /user /FO csv | convertfrom-csv | select blah.

标签: powershell scripting powershell-2.0 powershell-3.0


【解决方案1】:

whoami 不是 PowerShell cmdlet - 它是可执行文件 - 因此输出是文本,而不是您可以使用 Select-Object 操作的对象。

您可以从以下位置获取当前 SID:

[System.Security.Principal.WindowsIdentity]::GetCurrent().User

【讨论】:

  • 或者(实际上使用cmdlet):(get-localuser $Env:Username).SID.Value
  • @iRon wip 听起来不像机器的名称,4551702 对我来说对于本地 SAM RID 来说似乎有点高:-)
猜你喜欢
  • 2021-12-16
  • 2018-05-23
  • 2018-07-08
  • 2022-11-11
  • 1970-01-01
  • 2013-11-09
  • 2011-10-07
  • 1970-01-01
相关资源
最近更新 更多