github.com/cloudfoundry-incubator/stembuild@v0.0.0-20211223202937-5b61d62226c6/modules/BOSH.Account/BOSH.Account.psm1 (about)

     1  <#
     2  .Synopsis
     3      Add Windows user
     4  .Description
     5      This cmdlet adds a Windows user
     6  #>
     7  function Add-Account {
     8      Param(
     9              [string]$User = $(Throw "Provide a user name"),
    10              [string]$Password = $(Throw "Provide a password")
    11           )
    12      Write-Log "Add-Account"
    13  
    14      Write-Log "Creating new local user $User."
    15      & NET USER $User $Password /add /y /expires:never
    16  
    17      $Group = "Administrators"
    18  
    19      Write-Log "Adding local user $User to $Group."
    20      $adsi = [ADSI]"WinNT://$env:COMPUTERNAME"
    21      Write-Log $adsi
    22      $AdminGroup = $adsi.Children | where {$_.SchemaClassName -eq 'group' -and $_.Name -eq $Group }
    23      Write-Log $AdminGroup
    24      $UserObject = $adsi.Children | where {$_.SchemaClassName -eq 'user' -and $_.Name -eq $User }
    25      Write-Log $UserObject
    26      $AdminGroup.Add($UserObject.Path)
    27      Write-Log "Completed adding $User to $Group"
    28  }
    29  
    30  <#
    31  .Synopsis
    32  Remove Windows user
    33  .Description
    34  This cmdlet removes a Windows user
    35  #>
    36  function Remove-Account {
    37      Param(
    38              [string]$User = $(Throw "Provide a user name")
    39           )
    40      Write-Log "Remove-Account"
    41      Write-Log "Removing local user $User."
    42      $adsi = [ADSI]"WinNT://$env:COMPUTERNAME"
    43      $adsi.Delete('User', $User)
    44      Move-Item -Path "C:\Users\$User" -Destination "$env:windir\Temp\$User" -Force -ErrorAction Ignore
    45  }