Skip to main content

PowerShell – Habilitando a Execução de Scripts

Por padrão, até mesmo devido a uma questão de segurança, a possibilidade de execução de scripts Power Shell vem desabilitada no sistema. Para habilitar essa característica precisamos mudar a política de execução da seguinte forma.

Execute o Power Shell e digite no terminal o seguinte comando:

Get-ExecutionPolicy

O retorno deverá ser Restricted

 

 

Para permitir a execução de scripts sem qualquer restrição, vamos utilizar a regra Unrestricted, que permite executar todo e qualquer script PowerShell para isso, digite o comando abaixo:

Set-ExecutionPolicy Unrestricted

Será exibida uma mensagem informando sobre a proteção quanto à execução de Scripts. Digite “S” e pressione Enter. Conforme a imagem abaixo.

 

 

Agora digite novamente 

Get-ExecutionPolicy

e o retorno será Unrestricted, ou seja, scripts PowerShell já podem ser executados de forma irrestrita nesta máquina.

 

Existem outras regras além da Unrestricted e da Restricted que não permite a execução de nenhum script, a serem definidas quanto a execução de scripts baseados em PowerShell:
AllSigned – Todos os scripts devem ser assinados por alguém confiável.
Remote Signed – Todos os scripts que forem baixados da Internet devem ser assinados por alguém confiável.

PowerShell – Envio de E-mail (SMTP)

Segue abaixo, um simples exemplo de como enviar e-mail com PowerShell através de SMTP.

$smtpServer = "smtp.dominio.com.br"
 $msg = new-object Net.Mail.MailMessage
 $smtp = new-object Net.Mail.SmtpClient($smtpServer)
 $msg.From = "email@dominio.com.br"
 $msg.To.Add("email@dominio.com.br")
 $msg.Subject = "Envio de E-mail"
 $msg.Body = "Envio de E-mail"
 $smtp.Send($msg)

Active Directory – Redefinir a relação de confiança entre o computador e o Domínio

Este artigo demonstra a melhor prática para suportar contas de computador da mesma forma que lidamos com contas de usuários quando o mesmo esquecem suas senhas e não conseguem fazer logon no domínio.

“Computadores também são gente”, ou pelo menos no Active Directory eles são. De fato computadores têm o atributo objectClass user (usuário), assim, como os usuários podem esquecer as senhas os computadores também esquecem suas senhas. Tenho certeza de que você já se deparou com uma situação em que teve que remover um computador de um domínio para então adicioná-lo novamente, pelo fato do computador ter perdido a “Relação de Confiança com o Domínio”. Essa é uma prática ruim, é equivalente a excluir uma conta de um usuário e recriá-la, porque o usuário esqueceu a senha.

Logon e canal seguro do computador

Cada computador em um domínio Active Directory mantém uma conta com seu nome de usuário (SAMAaccountName) e senha. O computador armazena a senha na forma de um segredo de autoridade de segurança local (LSA, local security authority) e altera a senha no domínio mais ou menos a cada 30 dias. O serviço NetLogon utiliza as credenciais para efetuar logon no domínio, o que estabelece o canal seguro com um controlador de domínio.

Contudo, poderia haver situações em que um computador não fosse mais capaz de se autenticar no domínio. Algumas situações seria:

  • Depois de reinstalar o sistema operacional em uma estação de trabalho, a estação não é capaz de se autenticar, mesmo que você tenha utilizado o mesmo nome do computador. Como a nova instalação gerou um novo SID, o novo computador não pertence ao domínio, e como o novo computador não conhece a senha da conta do computador ele não pode se autenticar no domínio.
  • Um computador é restaurado a partir de um backup e não consegue se autenticar. É válido relembrar que o Active Directory lembra a senha atual e anterior do computador, e os computadores alteram suas senhas a cada 30 dias, é possível que neste cenário a restauração do computador possa ter ocorrido com uma senha desatualizada na base LDAP.
  • O segredo LSA (local security authority) de um computador perdeu a sincronia com um controlador de domínio. Você pode pensar nisso como um computador que esqueceu a senha, embora ele não esqueceu a sua senha propriamente dita simplesmente o computador e o domínio não conseguem chegar a um acordo sobre qual é a verdadeira senha. Quando isso ocorre o “Canal Seguro” não é criado.

Contudo o principal sintoma apresentado no computador seria o da imagem abaixo:

clip_image001_thumb

Muitos administradores resolvem este problema reingressando o computador no domínio, como dito isso é uma pratica ruim, pois é o mesmo que deletar o computador e criá-lo novamente podendo perder suas associações de grupo e ACLs existente no objeto. Para redefinir o canal seguro entre um computador do domínio utilize o snap-in Active Directory User And Computer, Dsmod.exe, Netdom.exe ou Nlteste.exe.

Active Directory User and Computer:

  • Clique com botão direito do mouse em um computador e então clique em Reset Account:

 Rese-Account

  • Clique em Yes para confirma sua escolha
  • Faça logon com sua conta administrativa local e adicione o computador ao domínio novamente

Dsmod.exe 

  • Digite o seguinte comando abaixo:

dsmod computer “Computer DN” -reset

dsmod

Faça logon com sua conta administrativa local e adicione o computador ao domínio novamente.

Netdom.exe

  • Digite o seguinte comando:

netdom reset “Nome do Computador” /domain:”nome do domínio” /UserO:”Administrador Local” /PasswordO: * /SecurePasswordPrompt

netdom

A conta com as credenciais fornecidas com UserNameO e PasswordO é um membro do grupo Administradores locais do computador. Esse comando tenta redefinir a senha tanto no computador quando no domínio, assim, não precisa ser reiniciado ou adicionado novamente ao domínio.

Nltest.exe

  • Digite o seguinte comando:

nltest /Server:”Computador” /SC_Reset:Domain\DomainController

nltest

Esse comando tem o mesmo efeito do Netdom.exe, assim, não precisa reiniciar ou adicionar o computador ao domínio novamente.

Como o NLTest e o NetDom, redefinem o canal seguro sem exigir uma reinicialização. Tente esses comandos primeiro. Somente se não for bem-sucedido é que o comando Reset Account e DSMod devem ser usados, para redefinir a conta do computador.

Espero que tenha gostado. Até a próxima.


Warning: Use of undefined constant XML - assumed 'XML' (this will throw an Error in a future version of PHP) in /home/mmva7lky/public_html/wp-content/plugins/wp-syntaxhighlighter/wp-syntaxhighlighter.php on line 1048