Verificando se a sessão possui permissões administrativas no Powershell

Olá a todos,

Hoje vamos verificar como verificar se a sessão ativa do Powershell esta sendo executada com uma credencial que possui acesso ‘Administrador’. Para isso iremos utilizar a classe System.Security.Principal.WindowsIdentity, que possui um método chamado GetCurrent(), este método lista as permissões referentes ao usuário que esta executando a sessão.

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

image

Na propriedade ‘Groups’ podemos ver os grupos que o usuário faz parte:

([System.Security.Principal.WindowsIdentity]::GetCurrent()).groups
image

No KB243330 podemos verificar o SID que se refere ao grupo ‘Administradores’, por isso iremos filtrar este SID, caso o filtro nao retorne nenhum valor, significa que o usuário nao faz parte do grupo, logo nao possuirá as permissões.

SID: S-1-5-32-544
Nome: administradores
Descrição: Um grupo interno. Após a instalação inicial do sistema operacional, o único membro do grupo é a conta de administrador. Quando um computador ingressa em um domínio, o grupo Admins do domínio é adicionado ao grupo Administradores. Quando um servidor torna-se um controlador de domínio, o grupo Administradores de empresa também é adicionado ao grupo Administradores.

(([System.Security.Principal.WindowsIdentity]::GetCurrent()).groups -match “S-1-5-32-544”)
image

Adicionando o ‘Acelerador de tipo’(type accelerator) bool  temos o resultado em Verdadeiro ou falso, retornando valor verdadeiro, a sessão estará sendo executada com privilégio administrativo, retornando falso, a sessão esta senso executada por um usuário sem privilégios


[bool](([System.Security.Principal.WindowsIdentity]
::GetCurrent()).groups -match “S-1-5-32-544”)
image

Hoje vimos como rapidamente verificar se uma sessão esta sendo executada com privilégios elevados, porem podemos filtrar diversos tipos de IDs para diversos testes de nivel de acesso.

Referências:

http://msdn.microsoft.com/en-us/library/system.security.principal.windowsidentity.aspx
http://support.microsoft.com/kb/243330

 

Dúvidas? Perguntas? Comente!

Até a próxima!

Anúncios
Esse post foi publicado em Powershell. Bookmark o link permanente.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s