How do I get the current username in Windows PowerShell?

后端 未结 15 2725
被撕碎了的回忆
被撕碎了的回忆 2020-11-28 01:35

How do I get the current username in Windows PowerShell?

15条回答
  •  小蘑菇
    小蘑菇 (楼主)
    2020-11-28 02:05

    I didn't see any Add-Type based examples. Here is one using the GetUserName directly from advapi32.dll.

    $sig = @'
    [DllImport("advapi32.dll", SetLastError = true)]
    public static extern bool GetUserName(System.Text.StringBuilder sb, ref Int32 length);
    '@
    
    Add-Type -MemberDefinition $sig -Namespace Advapi32 -Name Util
    
    $size = 64
    $str = New-Object System.Text.StringBuilder -ArgumentList $size
    
    [Advapi32.util]::GetUserName($str, [ref]$size) |Out-Null
    $str.ToString()
    

提交回复
热议问题