Automatizando o processo de compilação para novas estações de trabalho e servidores
A criação de novas estações de trabalho e servidores geralmente envolve tarefas repetitivas que, tradicionalmente, exigem uma lista de verificação e o tempo significativo de um engenheiro para serem concluídas. É uma tarefa que muitos MSPs fazem manualmente. Felizmente, para os usuários da solução Datto Remote Monitoring and Management (RMM), a maior parte do processo pode ser automatizada usando a auditoria inicial ou o agendador de tarefas on connect.
Vamos dar uma olhada em como configurar esse tipo de automação.
Iniciando o processo de compilação para novas estações de trabalho e servidores
Abaixo está um exemplo de lista de verificação de itens para um novo processo de construção:
- Remover barras de ferramentas e software de terceiros
- Desativar a conta de convidado
- Criar uma nova conta de administrador local do MSP
- Instalar Java, Shockwave, Adobe Reader, Chrome
- Ative o bitlocker e criptografe a unidade - não se esqueça de anotar a chave de recuperação
- Anote a chave de licença do Windows
- Instale todas as atualizações disponíveis do Windows
Entretanto, há certas coisas que você não quer fazer se o novo dispositivo for um servidor, por exemplo.
Somente estações de trabalho:
- Remover barras de ferramentas e software de terceiros
- Instalar Java, Flash, Shockwave, Adobe Reader, Chrome
- Ative o bitlocker e criptografe a unidade, anotando a chave de recuperação
Servidores e estações de trabalho:
- Desativar a conta de convidado
- Criar uma nova conta de administrador local do MSP
- Anote a chave de licença do Windows
- Instale todas as atualizações disponíveis do Windows
O roteiro: Próximos passos
Em seguida, podemos usar algum código do PowerShell em nosso novo componente de compilação. Isso nos ajudará a determinar o tipo de sistema operacional - essa informação ditará as próximas etapas do script.
Vamos determinar se estamos executando em um servidor ou estação de trabalho usando o PowerShell.
$osInfo = Get-WmiObject -Class Win32_OperatingSystem
Agora podemos extrair o tipo de produto do objeto Product Type:
$osInfo.ProductType
Estação de trabalho (1)
Controlador de Domínio (2)
Servidor (3)
O próximo passo é tornar útil o valor retornado pela nossa consulta. Para isso, precisamos avaliar a variável $osInfo.ProductType com uma instrução IF.
Há dois operadores que podemos usar com a instrução IF
-eq Igual
-Um não é igual ao outro
Determine se o script está sendo executado em um sistema operacional de estação de trabalho
se ($osInfo.ProductType -eq 1){
write-host Sistema operacional da estação de trabalho detectado
}
Determine se o script não está sendo executado em um sistema operacional de estação de trabalho
se ($osInfo.ProductType -ne 1){
write-host SO do servidor detectado
}
Se quiséssemos, poderíamos definir ainda mais em que tipo de servidor o script está sendo executado (controlador de domínio ou servidor membro) testando um valor de retorno de 2 ou 3, conforme detalhado acima.
Usando ELSE em sua instrução IF
Para simplificar o código do PowerShell, poderíamos usar ELSE em nossa instrução IF em vez de testar cada tipo de sistema operacional por vez. Por exemplo, se o script não estiver sendo executado em um sistema operacional de servidor, ele deve estar sendo executado em um sistema operacional de estação de trabalho.
se ($osInfo.ProductType -ne 1){
write-host SO do servidor detectado
}
else {
write-host Sistema operacional da estação de trabalho detectado
}
Agora que podemos determinar em que tipo de sistema operacional o script está sendo executado, podemos começar a executar as ações automatizadas...
se ($osInfo.ProductType -eq 1){
write-host Sistema operacional da estação de trabalho detectado
<insert your custom PowerShell code here>
}
A próxima coisa a fazer é executar isso automaticamente em todos os novos dispositivos que entram em um site. Você já está usando a plataforma há algum tempo? Se sim, você provavelmente terá sites com agentes existentes contra os quais não deseja executar o script de preparação do novo computador.
Para isso, você pode criar um novo site chamado “Workshop” e usá-lo como área de teste para todas as novas compilações, transferindo os dispositivos para o site correto assim que o processo de compilação for concluído. Observação: lembre-se de desativar todas as políticas de monitoramento para o novo site “Workshop” e certifique-se de que ele não sincronize com nenhum aplicativo externo!
Faça o download do instalador do agente para o novo site "Workshop" e use-o para todos os novos dispositivos que estiver construindo. Isso garante que todos os novos dispositivos entrem primeiro no site "Workshop".
Selecione o novo site "Workshop" e, em seguida, clique no ícone "Scheduled Job".
Nomeie o trabalho e clique no botão "Schedule" (Programar).
Para nossos propósitos, não importa se você escolheu a opção "On Connect" ou "Initial Audit". Isso ocorre porque estamos usando o PowerShell para controlar quais partes do script são executadas em relação a qual tipo de sistema operacional. Estamos usando apenas uma dessas opções como acionador para detectar que um novo dispositivo foi adicionado.
Adicione seu novo componente personalizado de preparação da máquina.
Certifique-se de que você definiu o trabalho para nunca expirar - queremos garantir que ele seja executado quando o dispositivo estiver disponível.
Por fim, defina as opções de notificação se você quiser ser informado se o script de preparação da máquina não for executado.
Depois que o componente de preparação da máquina for concluído, você poderá mover o dispositivo do local da "Oficina" para o local adequado do cliente.




