public/Remove-LocalGroupMember.ps1
function Remove-LocalGroupMember { <# .SYNOPSIS Remove a user from a local group .DESCRIPTION Remove a user from a local security group .PARAMETER Name Name of the group to remove the user from. .PARAMETER Member Name of the user to remove from the group. .EXAMPLE Remove-LocalGroupMember -Name "lpadmin" -Member "user42" Removes the user "user42" from the "lpadmin" group. .LINK https://github.com/Skatterbrainz/linuxtools/blob/master/docs/Remove-LocalGroupMember.md .NOTES This function requires superuser privileges to modify group memberships. Ensure that you have the necessary permissions to run this command. Use with caution, as it will permanently remove the user from the specified group. Be sure to back up any important data before proceeding. #> [CmdletBinding()] param( [parameter(Mandatory)][string][ValidateNotNullOrEmpty()]$Name, [parameter(Mandatory)][string][ValidateNotNullOrEmpty()]$Member ) if (-not (Get-LocalGroup -Name $Name)) { throw "Group does not exist: $Name" } if (-not (Get-LocalUser -Name $Member)) { throw "User does not exist: $Member" } if ($Member -in (Get-LocalGroupMember -Name $Name)) { $null = Invoke-Command -ScriptBlock { sudo usermod -rG $Name $Member } } else { Write-Warning "User $Member is not a member of group $Name" } } |