Definindo, pelo PowerShell, um horário específico para acesso as estações.

Livro

Livro: Administrando o Active Directory com o PowerShell.

Neste post você aprenderá a criar um script pelo Windows PowerShell, para definir um horário padrão para todos os usuários acessarem as estações do domínio.

O Windows PowerShell é, sem dúvidas, a ferramenta na qual eu mais gosto de estudar (tá, eu também sou apaixonado por Políticas de Grupo). E esse amor que sinto por ele não é somente por conseguir administrá-lo por linha de comando, mas também pela automação e ganho de tempo que ele pode me dar no meu dia-a-dia. Veja um exemplo abaixo.

Para quem não conhece o Windows Server permite através do console de Usuários e Computadores do Active Directory, definir horários de logons para os usuários do domínio, conforme você pode visualizar na figura abaixo.

1

Janela Horário de Logon – Usuários e Computadores do Active Directory.

Contudo, apesar de permitir que você defina isso para algum usuário do domínio, o processo se torna mais complicado quando é preciso aplicar a vários usuários de uma vez, já que seria preciso selecionar conta por conta e aplicar essa configuração. Em contexto de 10 usuários, até 20, esse processo é rápido, mas em um cenário em que precisaria aplicar a várias contas, que por sua vez, estão em várias Unidades Organizacionais, daria um baita trabalho, além de passível de erros. É justamente essa automação que te ensinarei abaixo.

Definindo Pelo Windows PowerShell um Horário Específico de Logon a Todas As Contas de Usuários.

1. A primeira coisa a ser feita, é criar uma conta de usuário modelo na qual nela você definirá os horários e dias da semana na qual as contas dos usuários terão acesso as estações. Para isso crie um usuário por meio console de Usuários e Computadores do Active Directory e nele dê um duplo clique direito do mouse, acessando as suas propriedades, conforme o exemplo da figura abaixo, na qual será acessada a janela de Propriedades da conta do usuário templatelogon.

1

Console Usuários e Computadores do Active Directory – Conta templatelogon.

2. Agora acesse a guia Conta, clique em Horário de Logon, e defina o horário e dias da semana que os usuários poderão fazer logon nas estações e a seguir negue o horário e dias da semana que os usuários não poderão acessarem as estações, semelhante a foto abaixo, na qual demonstra que será permitido o logon de domingo a sábado, das 07:00 às 17:00 horas.

1

Criando o horário e dias das semana na qual os usuários terão acesso as estações.

3. Após definido clique em OK e feche todas as janelas.

4. Agora abra o console host do Windows PowerShell.

Digite: [Byte[]]$LogonHours = Get-ADUser logontemplate -Properties * | Select -ExpandProperty LogonHours, substituindo o nome logontemplate pelo nome da conta do usuário no qual você aplicou as configurações de horário de logon, conforme figura abaixo, na qual eu estou selecionando o atributo LogonHours (horário de logon) do usuário templatelogon para ser replicado posteriormente as configurações deste atributo as outras contas dos usuários do domínio.  Agora dê um Enter no teclado.

1

Windows PowerShell – Obtendo o atributo LogonHours da conta do usuário templatelogon.

5. Digite: Get-ADUser -filter * -Properties * | Set-ADUser -Replace @{LogonHours=$LogonHours} e dê um Enter no teclado, conforme a figura abaixo.

1

Windows PowerShell – Replicando o atributo LogonHours a todas as contas dos usuários do domínio.

Pronto será aplicado a configuração de horário de logon do usuário modelo a todas as contas de usuários do domínio. Para verificar foi aplicado ou não, acesse a guia conta, atributo Horário de Logon, de alguma conta do Active Directory. Na janela que será aberta aparecerá as configurações aplicadas ao horário de logon da conta do usuário selecionado. Deverá sero mesmo do usuário modelo. Essa mesma configuração estará em todas as outras contas. 😉

Agora que tal aprender a aplicar somente a uma OU?

Repita os passos 1, 2, 3, 4. Agora digite: Get-ADUser -filter * -SearchBase acrescentando a seguir o DN da Unidade Organizacional na qual contém os usuários que serão aplicados as configurações de horário de logon. Digite o resto do comando:  -Properties * | Set-ADUser -Replace @{LogonHours=$LogonHours}, conforme a figura abaixo, na qual estou replicando o horário de logon do usuário templatelogon aos usuários da Unidade Organizacional OU-Teste do domínio diegogouveia.com.br.

1

Windows PowerShell – Replicando o atributo LogonHours da conta templatelogon a todas as contas da OU TESTE.

Gostou do artigo? Que tal aprender mais? Então, clica abaixo e receba sempre meus artigos no teu WhatsApp!

WhatsApp

Clique nesta foto para receber os conteúdos via WhatsApp! Não é vírus.

Anúncios
The following two tabs change content below.
Desde 2016 escrevo sobre Windows Server. De lá para cá, já são mais de 100 artigos, dois livros, diversos vídeos, muitas respostas em fóruns e bastante colaboração.

Deixe uma resposta