Verificando Serviços em Servidores Remotos

Sem dúvida a melhor forma de se monitorar uma infraestrutura de TI é utilizando o System Center Operations Manager (SCOM). Agora, caso não exista um SCOM em seu ambiente ou ele ainda está em implantação e serviços precisam ser monitorados, isso pode ser feito via PowerShell (PS).

Neste post vai ser mostrado como verificar o status de serviços em um servidor local e em servidores remotos de uma forma simples. Também será mostrado como podem ser feitos scripts um pouco mais elaborados para essas tarefas.

Em um host local para verificar os serviços que estão rodando basta digitar:
Get-Service
0701

Esse comando padrão traz o status do serviço (se está rodando ou não) o nome do serviço e o nome que aparece no Windows de forma amigável.

Em um host para verificar os serviços que estão parados:
Get-Service | where status -eq “stopped”

Em um host para verificar os serviços que estão rodando:
Get-Service | where status -eq “running”

Para poder verificar todos os serviços no servidor remoto (chamado SCVMM2012) precisamos do seguinte comando via PS:
Get-Service –Computername scvmm2012

O próximo comando é utilizado para verificar os serviços que começam com CM:
Get-Service cm* -ComputerName scvmm2012

0702

Para verificar se os serviços em que o nome começa por “cm” estão rodando no servidor remoto:
Get-Service cm* -ComputerName scvmm2012 | Where-Object {$_.status -eq “running”}

Se a ideia é verificar um mesmo serviço em dois servidores diferentes pode ser usado o seguinte comando:
$srv = “scvmm2012”, “scom2012”
Get-Service –Name spooler –Computername $srv

O comando acima vai verificar o status do serviço Spooler nos servidores SCVMM01 e SCOM01.

0703

No caso acima vemos duas vezes o serviço rodando, mas não sabemos em qual está. Se em um estivesse parado iria ser interessante saber em qual dos dois. Para essa situação podemos usar:
$srv = “scvmm2012”, “scom2012”
Get-Service –Name spooler –Computername $srv | format-table –property machinename, status, displayname – auto

Para melhorar um pouquinho mais o detalhamento da saída poderia ser usado ainda:
$srv = “scvmm2012”, “scom2012”
Get-Service –Name spooler –Computername $srv | format-table –property machinename, status, name, displayname – auto

0704

Se a intenção é verificar o serviço de vários servidores uma opção interessante é criar um documento txt com o nome dos servidores, isso facilitaria o trabalho.

O exemplo abaixo mostra um arquivo chamado servers.txt dentro da pasta c:\ps.

0705

Os nomes dos servidores devem estar um em cada linha.
$server = get-content c:\ps\servers.txt
Get-Service –name Spooler –computername $server | format-table –property machinename, status, name, displayname – auto

0706

Uma coisa que pode acontecer é um servidor ser inicializado e algum serviço, que deveria iniciar automaticamente não inicia. Para ver os serviços que devem iniciar de forma automática (no próprio servidor):
Get-WmiObject -Class Win32_Service | where startmode -eq “auto”

O comando acima vai dar um monte de informações. É possível diminuir a quantidade de informações:
Get-WmiObject -Class Win32_Service | where startmode -eq “auto” | Format-Wide -Property Name -Column 1

O comando interessante seria ver os serviços que deveriam iniciar automaticamente e estão parados. Para isso usamos o comando:
Get-WmiObject -Class Win32_Service | where startmode -eq “auto” | where state -eq “stopped”

0707

Para verificar o status de um serviço específico usamos o seguinte comando:
Get-WmiObject -Class Win32_Service | where name –eq skypeupdate

Para iniciar um serviço que esteja parado podemos usar o comando:
Get-WmiObject -Class Win32_Service | where name -eq skypeupdate | start-service

Obviamente para parar um serviço que esteja rodado podemos usar o mesmo comando, apenas mudando o final:
Get-WmiObject -Class Win32_Service | where name -eq skypeupdate | stop-service

0708

Para iniciar todos os serviços que deveriam iniciar automaticamente e estão parados usamos o seguinte comando:
Get-WmiObject -Class Win32_Service | where startmode -eq “auto” | where state -eq “stopped” | start-service

Pensando em vários servidores é possível criar um comando que verifica de uma vez vários serviços em vários servidores. Para esse exemplo usaremos os servidores SCVMM2012 e SCOM2012 e verificaremos o serviço MSSQLSERVER, presente em ambos, e o serviço SCVMMSERVICE presente apenas no servidor SCVMM2012 e o serviço OMSDK presente apenas no servidor SCOM2012:
$srv = “scvmm2012”, “scom2012”
$services = “scvmmservice”, “omsdk”, “mssqlserver”
Get-Service –name $services –computername $srv| format-table –property machinename, status, name, displayname

0709

Para o mesmo exemplo acima, adicionando o serviço de Remote Access, que está parado em ambos servidores:
$srv = “scvmm2012”, “scom2012”
$services = “scvmmservice”, “omsdk”, “mssqlserver”, “remoteaccess”
Get-Service –name $services –computername $srv| format-table –property machinename, status, name, displayname

0710

Agora vamos fazer o seguinte, vamos monitorar os serviços acima, só que vamos mudar o serviço de Remote Access para o serviço de Audio do Windows. O serviço de áudio também está parado nos dois servidores. O próximo comando vai verificar os quatro serviços nos dois servidores e iniciar se algum estiver parado (no caso o serviço de áudio estará parado em ambos:
$srv = “scvmm2012”, “scom2012”
$services = “scvmmservice”, “omsdk”, “mssqlserver”, “audiosrv”
Get-Service –name $services –computername $srv| format-table –property machinename, status, name, displayname
Get-Service –name $services –computername $srv| start-service
Get-Service –name $services –computername $srv| format-table –property machinename, status, name, displayname

O script acima vai mostrar o status dos serviços e após irá iniciar os que estiverem parados e, novamente, irá mostrar o status.

0711

Como fazer essas operações de forma remota fora do domínio no servidor VMM01:
$cred = get-credential
Invoke-Command -ComputerName vmm01 -ScriptBlock {get-service } -credential $cred

0712

Quando o commando $cred = get-credential é digitado, vai abrir uma janela pedindo que seja digitado o usuário e a senha. Para que o usuário seja completado pode ser usado $cred = get-credential contoso\administrator

Que tal criar um script em PowerShell de uma forma um pouco mais elaborada?

Qualquer um dos comandos acima pode ser salvo em um arquivo .ps1 para ser rodado todo de uma vez só. Quando é feito um script podemos aprimorar algumas coisas. Copiar os scripts abaixo e salvar em um arquivo.ps1.

O script abaixo vai verificar os serviços no localhost:
$servers = “localhost”
foreach ($i in $servers)
{write-host “Verificando Serviços no Servidor” $i
Get-wmiobject -computername $servers -class win32_service | Select-Object -property name, state, startmode, startname | sort-object -property startmode, state, name | Format-table *}

O mesmo script verificando os serviços nos servidores SCVMM2012 e SCOM2012:
$servers = “scvmm2012”, “scom2012”
foreach ($i in $servers)
{write-host “Verificando Serviços no Servidor” $i
Get-wmiobject -computername $servers -class win32_service | Select-Object -property name, state, startmode, startname | sort-object -property startmode, state, name | Format-table *}

O script acima não pede credenciais, então deve ser rodado no mesmo domínio.

Que tal um script onde é perguntado o nome do servidor onde verificar o status dos serviços e ainda verifica as credenciais:
$ComputerName = Read-Host “Digite o Nome do Servidor”
$UserName = Read-Host “Digite o Usuario”
$Password = Read-Host -AsSecureString “Digite a Senha”
$Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $UserName , $Password
$Service = Get-WmiObject -Class Win32_Service -ComputerName $ComputerName -Credential $Credential
$Service

E agora é dado duas opções de servidores para se escolher:
Write-Host Bem Vindo ao verificador de Serviços. Servidor VMM01 é opção 1. Servidor OM01 é opção 2.
$ComputerName = Read-Host “Digite a opcao”
if ($ComputerName -eq 1)
{
$comp = “vmm01”
}
elseif ($ComputerName -eq 2)
{
$comp = “om01”
}
else
{
Write-Host “Opção inválida”; exit
}
$UserName = Read-Host “Enter User Name”
$Password = Read-Host -AsSecureString “Enter Your Password:”
$Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $UserName , $Password
$Service = Get-WmiObject -Class Win32_Service -ComputerName $Comp -Credential $Credential
$Service

Para finalizar, um script que pergunta o nome do host e o tipo de verificação:
Write-Host Bem Vindo ao verificador de Serviços.
$Comp = Read-Host “Digite o nome do Servidor”
Write-Host Tipos de verificação:
Write-Host 1 – Para verificar o status de todos os serviços;
Write-Host 2 – Para verificar os serviços que estão rodando;
Write-Host 3 – Para verificar os serviços que estão parados;
Write-Host 4 – Para verificar os serviços que estão parados e tem inicialização
automática;
Write-Host 5 – Para digitar o nome do serviço a ser verificado;
$vertype = Read-Host “Digite o tipo de verificação”
$UserName = Read-Host “Enter User Name”
$Password = Read-Host -AsSecureString “Enter Your Password”
$Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $UserName , $Password
if ($vertype -eq 1)
{
$Service = Get-WmiObject -Class Win32_Service -ComputerName $Comp -Credential $Credential
$Service
}
elseif ($vertype -eq 2)
{
$Service = Get-WmiObject -Class Win32_Service -ComputerName $Comp -Credential $Credential
$Service | where state -eq “running” | format-table -property name, state
}
elseif ($vertype -eq 3)
{
$Service = Get-WmiObject -Class Win32_Service -ComputerName $Comp -Credential $Credential
$Service | where state -eq “stopped” | format-table -property name, state
}
elseif ($vertype -eq 4)
{
$Service = Get-WmiObject -Class Win32_Service -ComputerName $Comp -Credential $Credential
$Service | where startmode -eq “auto” | where state -eq “stopped” | format-table -property name, state
}
elseif ($vertype -eq 5)
{
$Service = Read-Host “Digite o nome do Serviço”
$Service2 = Get-WmiObject -Class Win32_Service -ComputerName $Comp -Credential $Credential | where name -eq $service
$service2
}
else
{
Write-Host “Opção inválida”; exit
}

Antes que alguém fale, eu sei que, no script acima, a verificação da opções deveria vir antes de digitar o usuário e senha.

Depois de todos esses scripts podemos ver como é possível combinar os scripts e criar visualizações diferentes.
Espero que esses scripts possam ser úteis!!!

Até a próxima!!

Delegando acesso para usuários no Hyper-V

É possível delegar funções para usuários administrarem o ambiente de virtualização com o Hyper-V. A maneira mais fácil é usando o System Center Virtual Machine Manager junto com o System Center App Controller. Caso não exista um gerenciamento do ambiente com a família System Center é possível fazer isso individualmente para os servidores.

Vamos supor o caso de um integrante do time de TI que terá a função de acessar o servidor que contém a role do Hyper-V, remotamente, e fazer um gerenciamento de algumas funções das VMs. Essas funções seriam iniciar, desligar, pausar e reiniciar as VMs e ver as configurações atuais da VM. Além disso o usuário poderia acessar a VM, caso tenha permissão para isso.

Inicialmente se um usuário sem permissões de administrador acessar remotamente um servidor com Hyper-V e abrir a console ele terá a imagem a seguir:0601

Essa mensagem quer dizer que o usuário não tem permissão para se conectar no serviço.
Para resolver essa situação é muito simples e será utilizado o Authorization Manager (AzMan) – em português Gerenciador de Autorização.
Para abrir o AzMan basta digitar, no prompt de comando, azman.msc:0602AzMan é um framework de controle de acesso baseado em regras – role-based access control o famoso RBAC. Ele serve para delegar acesso a diversos recursos em diversos níveis além do Hyper-V.

Uma vez aberto teremos a seguinte tela:0603

Para abrir a parte do Hyper-V deve-se ir em Action e Open Authorization Store…:0604

Vai ser questionado o tipo e caminho do Autorization Store. Selecionar XML file e em Store name colocar: %programdata%\Microsoft\Windows\Hyper-V\Initialstore.xml e clicar em OK:0605

Após isso será aberta a seguinte tela:0606

Nesse momento, dentro de Definitions temos a Role Definitions. É possível observar que existe apenas uma regra criada, que é justamente a que libera acesso completo ao Hyper-V, ou seja, uma role de Administrador. Para criar a role para o caso acima é preciso clicar com o botão direito em Role Definitions e selecionar New Role Definition…

Então será questionado o nome da Role. Nesse caso será chamada de Role 01. Na descrição é interessante colocar as informações sobre a regra. Para essa regra está dito que ela vai permitir que o usuário (que posteriormente será associado a ela) terá permissões de desligar e ligar a VM. Não está explícito na descrição, mas faremos com que o usuário possa pausar e reiniciar a VM. Depois de colocada a descrição deve-se ir em Add… para adicionar as definições da regra:0607

Após clicar em Add… é preciso ir em Operations e especificar as operações habilitadas:06080609

Para este caso teremos as seguintes operações:0610

Detalhando um pouco melhor o que cada uma das sete Definições habilita ao usuário:

  • Allow Input to Virtual Machine – Esse comando vai permitir que o usuário possa fazer as ações sobre a VM, como por exemplo enviar o comando de Ctrl+Alt+Del;
  • Allow Output from Virtual Machine – Esse comando é o que vai habilitar o usuário a ver a tela da VM;
  • Pause and Restart Virtual Machine – Comando que habilita o usuário a dar os comandos de pause e reinicio para a VM;
  • Read Service Configuration – É a definição que habilita o usuário a se conectar ao serviço do Hyper-V;
  • Start Virtual Machine – Comando que habilita o usuário a iniciar uma VM;
  • Stop Virtual Machine – Comando que habilita o usuário a desligar uma VM;
  • View Virtual Machine Configuration – Permite ao usuário ver as configurações da VM.

Algumas considerações:
Na opção para ver as configurações da VM o usuário não conseguirá ver alguns detalhes como o Switch Virtual Associado, isso deve ser habilitado como outra definição.
Muitas definições dependem de outras. Exemplo: O start VM não funciona se o Allow Input to Virtual Machine e ainda é preciso do Allow Output from VM para se poder ver o resultado na tela.
No link abaixo existe um detalhamento sobre os operadores a serem liberados em cada necessidade:
http://technet.microsoft.com/en-us/library/dd282980(v=ws.10).aspx

Finalmente será preciso associar o usuário a esta regra criada. Para isso é preciso ir em Role Assignments clicar com o botão direito e selecionar New Role Assignment…0611

Feito isso deve ser selecionado o nome da regra criada:0612

Após basta clicar com o botão direito no nome da regra em Role Assignments, escolher Assign Users and Groups e escolher From Windows and Active Directory. Feito isso basta escolher o usuário ou grupo.0613

Neste momento o usuário possui acesso ao Hyper-V para as tarefas deste caso. Se o usuário estiver logado no servidor não precisa efetuar um logoff, basta dar um refresh no Hyper-V Manager.

Até a próxima!!

Monitorando Máquinas Virtuais

Resource Metering é uma das novas features do Windows Server 2012. Sua função é monitorar máquinas virtuais (VMs) quanto ao uso de CPU, Memória, espaço em disco e rede.
Sete métricas podem ser coletadas por este recurso:
• Uso médio de CPU por uma VM;
• Uso médio de Memória por uma VM;
• Mínimo de Memória usada por uma VM;
• Máximo de Memória usada por uma VM;
• Máximo de espaço em disco alocado para uma VM;
• Tráfego total de entrada por um adaptador de rede virtual;
• Tráfego total de saída por um adaptador de rede virtual;

Para habilitar o Resource Metering em uma VM (neste caso chamada FTP01) basta digitar no host Hyper-V dessa VM:

Enable-VMResourcemetering –VMName FTP01

0501

Quando este comando é dado para uma VM os contadores começam a rodar. Para mostrar o resultado, basta rodar o seguinte comando:

Measure-VM –Vmname FTP01 ou ainda Measure-VM –Vmname FTP01 | fl

0502

Para demonstrar o tráfego de entrada copiei um arquivo para dentro da VM, pela imagem abaixo é possível ver o tráfego (em magabytes) aumentando.

0503

É interessante dizer que as estatísticas perduram mesmo que a VM seja reiniciada ou desligada. Mesmo se ocorrer um Live Migration ou Storage Migration as estatiscas não são perdidas.

Para resetar as estatísticas deve ser usado o comando:
Reset-VMResourceMetering –VMName FTP01

Para parar a coleta de estatísticas basta dar o comando:
Disable-VMResourcemetering –VMName FTP01

Outra coisa interessante é rodar este comando de um servidor remoto. Do servidor B09 para pegar as estatíscas da VM FTP01 no servidor B10 basta digitar:
Measure-VM –Computername B10 –vmname FTP01

Para saber, dentro de um host Hyper-V, quais VMs estão com os contadores ativados, basta dar o seguinte comando:
Get-VM | format-list name,resourcemeteringenabled

Para salvar as estatísticas da VM FTP01 em um arquivo CSV podemos usar os seguintes comandos:
$repVM = get-vm ftp01 | measure-vm
$repVM | Export-Csv -NoTypeInformation -Path c:\reports\report-ftp01.csv

Para finalizar, também é possível criar um pool de monitoramento juntando várias VMs.
Para ver as estatísticas de uso de memórias de duas VMs devemos fazer o seguinte:

Get-VMResourcePool – Este comando vai mostrar os pools disponíveis.
New-VMResourcePool –Name MemoryPool1 –ResourcePoolType Memory – Este comando vai criar um novo pool de memória chamado MemoryPool1.
Get-VM -name FTP01,TST_01 | Stop-VM – Este comando vai desligar as VMs FTP01 e TST_01 que servirão para mostrar o uso do pool. Elas precisam estar desligadas para o próximo comando.
Set-VMMemory -VMName FTP01,TST_01 – ResourcePoolName MemoryPool1 – Seta as duas VMs para usarem o Pool MemoryPool1, recém criado.
Enable-VMResourcemetering -VMName FTP01,TST_01 – Habilita a coleta de estatísticas das duas VMs.
Get-VM -name FTP01,TST_01 | Start-VM – inicia as VMs.
Measure-VMResourcePool –Name MemoryPool1 – Mostra as estatísticas, neste caso de memória e das duas VMs.

Esses comandos podem ser conferidos na figura abaixo:

0504

Até a próxima!!

Windows Server Core – Configurações Básicas

Instalei o Windows Server Core, fiz o logon no servidor e apareceu um prompt de comando. E agora?

Bom, o Windows Server Core (vamos focar no 2012) é a opção de instalação recomendada e padrão quando se instala o Windows Server (2012). A versão com Interface Gráfica (GUI – Graphical User Interface), claro, também está presente – antigamente chamada versão Full).

Algumas razões para se usar a versão Server Core:

  • A versão Server Core requer menos espaço em disco para a instalação do que a versão com interface gráfica – Pode não parecer, mas caso deduplicação não seja usada, alguns Gigabytes por VM podem fazer alguma diferença;
  • O Server Core tem uma superfície de ataque menor, o que pode o deixar mais seguro para datacenter e computação em nuvem – que fique claro que ser mais seguro ou não depende de quem configura e como o faz;
  • Essa versão vai requerer menos updates o que, teoricamente, gera menos trabalho na manutenção do servidor;

No Windows Server 2012 pode-se mudar da versão core para a versão de interface gráfica sem precisar reinstalar o servidor e é possível fazer o inverso também. A diferença entre o server core e o servidor com a interface gráfica são duas features específicas. A primeira feature é a Graphical Management Tools and Infrastructure (Server-Gui-Mgmt-Infra) que provê um interface gráfica mínima com ferramentas como o Server Manager e o Microsoft Management Console (MMC). A segunda feature é a Server Graphical Shell (Server-Gui-Shell), que depende da feature mencionada anteriormente e provê o resto das interfaces gráficas, ficando um server Full. Teoricamente para reverter um server instalado com a interface gráfica para um server core devem ser removidas essas duas features.

Como a ideia do post é mostrar as configurações básicas do Server Core vamos seguir com as configurações.

A imagem anterior mostra o prompt de comando que aparece assim que logamos no servidor.

O primeiro passo é abrir o aplicativo de configuração básica do servidor. Para isso basta digitar, no prompt, sconfig.

0402

Após esse comando aparecerá uma tela onde existem várias opções. As mais básicas, e cobertas nesse post, são:

  • Configurar o endereçamento IP do servidor;
  • Habilitar o acesso remoto;
  • Alterar o nome do servidor;
  • Ingressar no domínio (não será o caso).

0403Como é possível observar essa tela facilita a configuração pois existem opções pré-estabelecidas e a escolha do que fazer é através dos números.

Para configurar a rede deve ser escolhida a opção 8:

0404

Após escolher essa opção a tela irá mostrar todas as interfaces de rede presentes no servidor. No exemplo existe apenas uma.

Para escolher configurar IP na interface deve ser escolhido o número do Index# da placa. Como pode ser observado na imagem abaixo vai ser escolhida a única placa onde esse número é 10:

0405

Após escolher a placa é mostrada as configurações atuais. É possível observar que a placa está com um endereço IP Automatic Private IP Addressing (APIPA). Para setar um IP deve ser escolhida a opção 1:

0406

Quando a opção 1 é apertada é perguntado ao usuário se o endereço vai ser dinâmico, através de DHCP, ou estático. Selecionando S vai ser possível atribuir um IP. Após colocar o IP e dar enter a máscara de sub-rede vai ser completa automaticamente conforme o endereço usado com outro enter ou deve ser preenchida uma máscara diferente e dado enter. Após será questionado o gateway do segmento de rede.

Após a configuração do IP a tela irá voltar e será possível configurar os servidores DNS selecionando a opção 2.

0407

Como pode ser observado na imagem acima, escolhi este DNS pois este servidor irá virar um Domain Controller, por isso não irei ingressar em nenhum domínio agora.

Após setar o DNS será irá aparecer uma mensagem dizendo que o DNS foi configurado e basta clicar em OK.

O próximo passo será voltar ao menu anterior selecionando a opção 4 para habilitar o remote desktop no servidor.

Para isso deve ser selecionada a opção 7 e escolher E para habilitar.

Será questionada qual versão de remote desktop usar. Nesse caso foi selecionado a mais segura através da opção 1:

0408

Um esclarecimento, o que foi habilitado é apenas o acesso remoto ao servidor através do remote desktop.

O próximo passo é alterar o nome do servidor.

Para isso na tela de configuração escolher a opção 2 e escolher um nome.

Após escolher o nome o servidor pedirá para reiniciar.

0409

Uma vez reiniciado o próximo passo é ingressar o servidor em um domínio através da opção 1. Não vou mostrar esse passo pois em um próximo post vou mostrar como fazer toda a configuração de um domínio com Active Directory no server core, via powershell, neste mesmo servidor.

Para esclarecimento: Sempre uso versões em inglês, pode ser que mude alguma nomenclatura no servidor em português. Mas aqui fica uma dica, sempre que possível usar o servidor em inglês.

Até a próxima.

Criando Pen Drive Bootável

Olá pessoal, este assunto é bem simples e pode ser encontrado em diversos blogs. De qualquer forma vai mais um.

Faz algum tempo que entramos em uma nova era de dispositivos. Cada vez menores tudo que é subutilizado cai fora para dar lugar a mais leveza e maior duração de bateria. Com netbooks, ultrabooks, tablets e slates foi-se o drive de CD/DVD/Blue-Ray. E, convenhamos, nem fazem falta… Mesmo os notebooks e desktops comprados que possuem algum drive óptico muitas vezes sofrem com a falta do disco de instalação do Sistema Operacional (SO) físico.

Com isso uma instalação de Windows pode ser mais simples (e rápida) com a utilização de um pen-drive. Abaixo teremos as etapas para criar um pen-drive bootável para instalar um Windows:

Em uma máquina que já tenha o Windows instalado abrir o prompt de comando em modo de administrador e rodar os seguintes comandos:

diskpart – é o utilitário de gerenciamento de disco via linha de comando;

list disk – comando vai listar todos os discos presentes no momento (inclui pen-drives e discos externos)

Neste momento é importante saber exatamente qual é o disco que vai ser utilizado. Neste caso é utilizado o disco número 2.

select disk 2 – seleção do disco desejado

clean – limpa toda a informação de configuração do disco

create partition primary – cria uma partição primária

select partition 1 – seleção primária que foi criada é selecionada

active – marca esta particação como ativa

format fs=NTFS quick – formata a partição com sistema de arquivos ntfs

assign – atribui uma unidade de letra para esta partição (neste momento foi atribuída a unidade I: para o pen-drive)

exit – sai do diskpart

Neste momento vai se continuar no prompt de comando em modo de administrador. Vai ser preciso ainda duas etapas.

A primeira é entrar na unidade onde está o disco ou pasta com os arquivos do disco. Neste caso ela está no H:.

h:

cd boot

bootsect.exe /nt60 i:

Pronto, basta copiar todo o conteúdo do disco de instalação para o pen-drive e está feito.

Abaixo temos duas figuras com todo o processo.

PB-01

PB-02Espero que isto possa ser útil a todos. Isto é muito útil para minhas instalações.

Até a próxima!

Ativando a Feature Hyper-V no Windows 8

Para quem gosta de linha de comando o PowerShell está cada vez melhor. Mesmo para quem não gosta de linha de comando a utilização de scripts prontos ou pré-configurados facilita muito a vida do cidadão.

No Windows 8 (Pro e Enterprise) temos o Hyper-V igual ao do Windows Server 2012.

Para ativar o Hyper-V via PowerShell basta um comando (neste caso dois pois um é explicativo):

O comando Get-WindowsOptionalFeature –online mostra todas as windows features e ainda se estão habilitadas ou desabilitadas. Este comando deve ser rodado como Administrador.

1

Pode-se acrescentar alguns parâmetros no comando para ficar mais fácil a visualização. Exemplos:

Get-WindowsOptionalFeature –online | where state –eq enabled | ft -a

Get-WindowsOptionalFeature –online | where state –eq disabled | ft -a

Uma informação interessante é que o nome da Feature que aparecer é o nome que deve ser utilizado. A opção online é para que seja entendido que está tratando do próprio SO.

O comando acima foi apenas para ilustrar como fazer habilitar uma feature pelo powershell. Claro que se preferir isso pode ser feito pela interface gráfica no Painel de Controle – Programas – Programas e Features e habilitar Windows Feature.

Voltando ao comando para habilitar o hyper-v via powershell vemos como é simples:

 Enable-WindowsOptionalFeature -FeatureName Microsoft-Hyper-V-All –online

2

Essa opção vai habilitar todas as opções de hyper-v.

Para ver quais estão ou não habilitadas, do hyper-v, pode-se digitar o comando:

Get-WindowsOptionalFeature -online | where featurename -match “microsoft-hyper” | ft –a

Caso não vá ser usado o Hyper-V no computador e sim somente a ferramenta da administração para gerenciar outro servidor pode-se optar por instalar somente o necessário.

Após a instalação vai ser perguntado ser gostaria de reiniciar o computador. No caso sim.

3

Uma vez reiniciado o Windows 8 estará pronto para hospedar VMs igual a um Windows Server 2012, Windows Server 2012 Core ou Hyper-V Server.

4

Importante, nem todos os computadores tem suporte ao Hyper-V. Para saber se vai rodar corretamente no seu computador rodar o comando systeminfo no prompt de comando ou PowerShell.

5

Nas próximas semanas vou postar os comandos de gerenciamento do Hyper-V em PowerShell.

Até a próxima!!

Verificando Usuários e Computadores que não logam no AD desde um período

Em uma estrutura de Dominio(s) com Active Directory (AD) muito grande pode acontecer de usuários sairem da empresa, mas ficarem ativos no AD, assim como pode acontecer de computadores sairem do AD ou tenham seus nomes trocados, fazendo com que fique lixo no AD.

A questão de usuários ficarem ativos no AD, mesmo após a saída da empresa, é um ponto muito importante de segurança. É essencial que a empresa tenha uma política de remoção dos usuários assim que eles não são mais utilizados. Como nem sempre é possível saber se este usuário tem algum serviço ou outra coisa ligado a ele o ideal é desabilitar o usuário para depois o remover. Um bom tempo antes de remover o usuário seria ficar com ele desabilitado por um mês.

Para saber quais usuários não logam no AD fazem dois meses:
dsquery user -inactive 8 -limit 0
Para saber quais computadores não logam no AD fazem dois meses:
dsquery computer -inactive 8 -limit 0

A opção -inactive 8 quer dizer o número de semanas de inatividade. Para um mês, troque o 8 por 4…
Por padrão vão ser mostrados até 100 registros, a opção -limit 0 vai fazer com que todos os registros sejam mostrado.

Para mover o resultado para outra OU pode-se usar o seguinte comando – levando em consideração que os resultados serão movidos para uma OU chamada Desabilitados dentro de um domínio chamado contoso.com:
dsquery user -inactive 8 -limit 0 | dsmove -newparent “ou=desabilitados,dc=contoso,dc=com”

Para deletar os resultados pode usar o comando:
dsquery user -inactive 8 -limit 0 | dsrm

Até a próxima!!