PoshCode Archive  Hex Artifact Content

Artifact ebf3bd187dc443a7954e552018f719cc9e675ccce49fd4ca6bd244a430da4c71:

  • File whoami.ps1 — part of check-in [8f0ea49b2f] at 2018-06-10 13:33:54 on branch trunk — Extended version of benaeā€™s script at http://poshcode.org/3979 (user: greg zakharov size: 1153)

0000: 23 20 65 6e 63 6f 64 69 6e 67 3a 20 61 73 63 69  # encoding: asci
0010: 69 0d 0a 23 20 61 70 69 3a 20 70 6f 77 65 72 73  i..# api: powers
0020: 68 65 6c 6c 0d 0a 23 20 74 69 74 6c 65 3a 20 77  hell..# title: w
0030: 68 6f 61 6d 69 0d 0a 23 20 64 65 73 63 72 69 70  hoami..# descrip
0040: 74 69 6f 6e 3a 20 45 78 74 65 6e 64 65 64 20 76  tion: Extended v
0050: 65 72 73 69 6f 6e 20 6f 66 20 62 65 6e 61 65 e2  ersion of benae.
0060: 80 99 73 20 73 63 72 69 70 74 20 61 74 20 68 74  ..s script at ht
0070: 74 70 3a 2f 2f 70 6f 73 68 63 6f 64 65 2e 6f 72  tp://poshcode.or
0080: 67 2f 33 39 37 39 0d 0a 23 20 76 65 72 73 69 6f  g/3979..# versio
0090: 6e 3a 20 30 2e 31 0d 0a 23 20 74 79 70 65 3a 20  n: 0.1..# type: 
00a0: 66 75 6e 63 74 69 6f 6e 0d 0a 23 20 61 75 74 68  function..# auth
00b0: 6f 72 3a 20 67 72 65 67 20 7a 61 6b 68 61 72 6f  or: greg zakharo
00c0: 76 0d 0a 23 20 6c 69 63 65 6e 73 65 3a 20 43 43  v..# license: CC
00d0: 30 0d 0a 23 20 66 75 6e 63 74 69 6f 6e 3a 20 47  0..# function: G
00e0: 65 74 2d 55 73 65 72 53 74 61 74 75 73 0d 0a 23  et-UserStatus..#
00f0: 20 78 2d 70 6f 73 68 63 6f 64 65 2d 69 64 3a 20   x-poshcode-id: 
0100: 33 39 38 31 0d 0a 23 20 78 2d 61 72 63 68 69 76  3981..# x-archiv
0110: 65 64 3a 20 32 30 31 33 2d 30 32 2d 32 37 54 30  ed: 2013-02-27T0
0120: 36 3a 30 34 3a 35 31 0d 0a 23 20 78 2d 70 75 62  6:04:51..# x-pub
0130: 6c 69 73 68 65 64 3a 20 32 30 31 33 2d 30 32 2d  lished: 2013-02-
0140: 32 31 54 31 33 3a 35 31 3a 30 30 0d 0a 23 0d 0a  21T13:51:00..#..
0150: 23 0d 0a 66 75 6e 63 74 69 6f 6e 20 47 65 74 2d  #..function Get-
0160: 55 73 65 72 53 74 61 74 75 73 20 7b 0d 0a 20 20  UserStatus {..  
0170: 3c 23 0d 0a 20 20 20 20 2e 53 79 6e 6f 70 73 69  <#..    .Synopsi
0180: 73 0d 0a 20 20 20 20 20 20 20 20 47 65 74 20 65  s..        Get e
0190: 78 74 65 6e 64 65 64 20 69 6e 66 6f 72 6d 61 74  xtended informat
01a0: 69 6f 6e 20 61 62 6f 75 74 20 6c 6f 63 61 6c 20  ion about local 
01b0: 75 73 65 72 2e 0d 0a 20 20 20 20 2e 44 65 73 63  user...    .Desc
01c0: 72 69 70 74 69 6f 6e 0d 0a 20 20 20 20 20 20 20  ription..       
01d0: 20 54 68 65 72 65 20 69 73 20 6e 6f 20 69 6e 70   There is no inp
01e0: 75 74 20 61 72 67 75 6d 65 6e 74 73 2c 20 6a 75  ut arguments, ju
01f0: 73 74 20 73 70 65 63 69 66 79 20 47 65 74 2d 55  st specify Get-U
0200: 73 65 72 53 74 61 74 75 73 20 6f 72 20 68 69 73  serStatus or his
0210: 20 61 6c 69 61 73 20 77 68 6f 61 6d 69 2e 0d 0a   alias whoami...
0220: 20 20 20 20 2e 4c 69 6e 6b 0d 0a 20 20 20 20 20      .Link..     
0230: 20 20 20 68 74 74 70 3a 2f 2f 6d 73 64 6e 2e 6d     http://msdn.m
0240: 69 63 72 6f 73 6f 66 74 2e 63 6f 6d 2f 65 6e 2d  icrosoft.com/en-
0250: 75 73 2f 6c 69 62 72 61 72 79 2f 73 79 73 74 65  us/library/syste
0260: 6d 2e 73 65 63 75 72 69 74 79 2e 70 72 69 6e 63  m.security.princ
0270: 69 70 61 6c 2e 61 73 70 78 0d 0a 20 20 20 20 20  ipal.aspx..     
0280: 20 20 20 68 74 74 70 3a 2f 2f 70 6f 73 68 63 6f     http://poshco
0290: 64 65 2e 6f 72 67 2f 33 39 37 39 0d 0a 20 20 23  de.org/3979..  #
02a0: 3e 0d 0a 20 20 24 75 73 72 20 3d 20 5b 53 65 63  >..  $usr = [Sec
02b0: 75 72 69 74 79 2e 50 72 69 6e 63 69 70 61 6c 2e  urity.Principal.
02c0: 57 69 6e 64 6f 77 73 49 64 65 6e 74 69 74 79 5d  WindowsIdentity]
02d0: 3a 3a 47 65 74 43 75 72 72 65 6e 74 28 29 0d 0a  ::GetCurrent()..
02e0: 20 20 24 72 65 73 20 3d 20 28 4e 65 77 2d 4f 62    $res = (New-Ob
02f0: 6a 65 63 74 20 53 65 63 75 72 69 74 79 2e 50 72  ject Security.Pr
0300: 69 6e 63 69 70 61 6c 2e 57 69 6e 64 6f 77 73 50  incipal.WindowsP
0310: 72 69 6e 63 69 70 61 6c 20 24 75 73 72 29 2e 49  rincipal $usr).I
0320: 73 49 6e 52 6f 6c 65 28 0d 0a 20 20 20 20 5b 53  sInRole(..    [S
0330: 65 63 75 72 69 74 79 2e 50 72 69 6e 63 69 70 61  ecurity.Principa
0340: 6c 2e 57 69 6e 64 6f 77 73 42 75 69 6c 74 49 6e  l.WindowsBuiltIn
0350: 52 6f 6c 65 5d 3a 3a 41 64 6d 69 6e 69 73 74 72  Role]::Administr
0360: 61 74 6f 72 0d 0a 20 20 29 0d 0a 0d 0a 20 20 22  ator..  )....  "
0370: 7b 30 2c 20 39 7d 3a 20 7b 31 7d 22 20 2d 66 20  {0, 9}: {1}" -f 
0380: 22 55 73 65 72 22 2c 20 24 75 73 72 2e 4e 61 6d  "User", $usr.Nam
0390: 65 0d 0a 20 20 22 7b 30 2c 20 39 7d 3a 20 7b 31  e..  "{0, 9}: {1
03a0: 7d 22 20 2d 66 20 22 53 49 44 22 2c 20 24 75 73  }" -f "SID", $us
03b0: 72 2e 4f 77 6e 65 72 2e 56 61 6c 75 65 0d 0a 20  r.Owner.Value.. 
03c0: 20 22 7b 30 2c 20 39 7d 3a 20 7b 31 7d 22 20 2d   "{0, 9}: {1}" -
03d0: 66 20 22 49 73 41 64 6d 69 6e 22 2c 20 24 72 65  f "IsAdmin", $re
03e0: 73 0d 0a 20 20 22 7b 30 2c 20 39 7d 3a 22 20 2d  s..  "{0, 9}:" -
03f0: 66 20 22 47 72 6f 75 70 73 22 0d 0a 20 20 24 75  f "Groups"..  $u
0400: 73 72 2e 47 72 6f 75 70 73 20 7c 20 25 20 7b 22  sr.Groups | % {"
0410: 60 74 20 20 20 22 20 2b 20 24 5f 2e 54 72 61 6e  `t   " + $_.Tran
0420: 73 6c 61 74 65 28 5b 53 65 63 75 72 69 74 79 2e  slate([Security.
0430: 50 72 69 6e 63 69 70 61 6c 2e 4e 54 41 63 63 6f  Principal.NTAcco
0440: 75 6e 74 5d 29 2e 56 61 6c 75 65 7d 20 7c 20 73  unt]).Value} | s
0450: 6f 72 74 0d 0a 20 20 22 22 0d 0a 7d 0d 0a 0d 0a  ort..  ""..}....
0460: 53 65 74 2d 41 6c 69 61 73 20 77 68 6f 61 6d 69  Set-Alias whoami
0470: 20 47 65 74 2d 55 73 65 72 53 74 61 74 75 73 0d   Get-UserStatus.
0480: 0a                                               .