Criando Application Pools, Web sites e Web Applications no IIS usando Powershell

Olá pessoal,

Quem acompanha o blog sabe que eu procuro transformar todas as atividades que fazemos em modo gráfico em linha de comando, de forma a automatizar o que for possível para facilitar nosso trabalho.

Com relação ao Internet Information Services (IIS) não é diferente. Podemos codificar várias atividades, vou listar abaixo algumas utilizando Powershell. Esses comandos foram executados em um servidor com Windows Server 2016 e IIS v10.

Criar um Application Pool (Substitua “NOME_DO_APPLICATION_POOL” pelo nome que você desejar)

New-WebAppPool -name “NOME_DO_APPLICATION_POOL” -force
$appPool = Get-Item “IIS:\AppPools\NOME_DO_APPLICATION_POOL”
$appPool.processModel.identityType = “ApplicationPoolIdentity”

$appPool.enable32BitAppOnWin64 = 0
$appPool.managedRuntimeVersion = ‘v4.0’
$appPool.autoStart = ‘true’
$appPool | Set-Item

Criar um Website (Substitua “NOME_DO_SITE”, “DIRETORIO_DO_SITE” “empresa.com” e “NOME_DO_APPLICATION_POOL” pelos nomes correspondentes ao seu ambiente)

New-WebSite -name “NOME_DO_SITE” -PhysicalPath C:\inetpub\DIRETORIO_DO_SITE -HostHeader “empresa.com” -ApplicationPool “NOME_DO_APPLICATION_POOL” -force

Criar uma Web Application dentro do Default Web Site (Substitua “NOME_DO_WEB_APPLICATION“, “DIRETORIO_DO_SITE” e “NOME_DO_APPLICATION_POOL” pelos nomes correspondentes ao seu ambiente)

New-WebApplication -Name “NOME_DO_WEB_APPLICATION” -Site “Default Web Site” -PhysicalPath C:\inetpub\DIRETORIO_DO_SITE -ApplicationPool ” NOME_DO_APPLICATION_POOL

Procurem sempre automatizar o que puderem, assim sobra mais tempo para estudos e outros aprimoramentos.

Até a próxima!

Verificando a versão do IIS utilizando PowerShell

Olá pessoal,

Para verificar a versão do Internet Information Services (IIS) que está instalado no seu Windows Server utilizando Powershell execute o seguinte comando:

get-itemproperty HKLM:\SOFTWARE\Microsoft\InetStp\  | select setupstring,versionstring

Para obter a versão com informações detalhadas executem:

Get-ItemProperty -Path registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp\ | Select-Object

Até a próxima!

Adicionando máquinas em um domínio Active Directory utilizando PowerShell

Olá pessoal,

Podemos automatizar a inclusão de computadores e servidores Windows em um domínio com Active Directory utilizando Powershell.

O código é bem simples e fácil, devemos declarar o nome do domínio, a senha do usuário que fará a inclusão e o nome do usuário, basta abrir o PowerShell na máquina que deve ser incluída no domínio e executar o código abaixo:

$domain = “nome.dominio
$password = “senha_do_usuário_que_fará_a_inclusão” | ConvertTo-SecureString -asPlainText -Force
$username = “$domain\nome_do_usuário
$credential = New-Object System.Management.Automation.PSCredential($username,$password)
Add-Computer -DomainName $domain -Credential $credential

Se o comando for executado com sucesso, será exibida uma mensagem informando que este computador/servidor deverá ser reiniciado para validar as alterações realizadas, ou seja a inclusão da máquina do domínio.

Até a próxima!

Verificando a versão do Powershell de forma simples e rápida

Olá pessoal,

Hoje vai uma dica simples e rápida para quem precisa saber a versão do Powershell que está instalado no Windows, seja Server ou Client.

Executem o Powershell e executem o seguinte comando:

$PSVersiontable

PowerShell versão 2.0
PowerShell versão 5.1

Porque essa informação é importante?

Certos comandos e cmdlets de repente não estarão disponíveis em versões mais antigas do Powershell impedindo a execução de alguma atividade ou obtenção de alguma informação. Talvez seja necessário atualizar o Powershell para fazer determinada tarefa.

Tempos atrás eu publiquei um post sobre atualização do Powershell, leiam aqui.

Até a próxima!

Ambientes legados – Erro Código 80072EFE no Windows Update em Servidores com Windows Server 2008 R2

Olá pessoal,

A Dica de hoje vai para quem ainda possui ambientes legados com Servidores baseados no Windows Server 2008 R2 Ao tentar instalar as atualizações via Windows Update em um Servidor com Windows Server 2008 R2 Ultimate 64 Bits estava ocorrendo o erro de Code 80072EFE Windows Update encountered an unknown error.

A correção deste problema é bem simples basta instalar o pacote referente ao KB3138612, disponível no site Catálogo Microsoft Update. Faça o download do pacote correspondente à sua versão do Windows Server 2008 R2, instale e reinicie o Servidor. Após isso basta fazer o Windows Update novamente clicando na opção “Check online for updates from Windows Update” que funcionará normalmente.

Link direto para download do KB3138612 – http://www.catalog.update.microsoft.com/Search.aspx?q=KB3138612

Até a próxima!

Hyper-V: 3 comandos essenciais via PowerShell

Olá pessoal,

hoje deixo uma dica rápida de 3 comandos essenciais em powershell para quem gerencia servidores Windows Server com Hyper-V.

Comando 1 – Obter a lista de máquinas virtuais suas informações e status:

Get-VM

Comando 2 – Ligar uma máquina virtual:

Start-VM -Name ‘Nome_da_Maquina_Virtual’

Comando 3 – Desligar uma máquina virtual:

Stop-VM -Name ‘Nome_da_Maquina_Virtual’

Caso vocês tenham a necessidade de desligar todas as máquinas virtuais de um host ao mesmo tempo, eu deixo também um post que publiquei no ano passado com o script que faz exatamente isso. Esse mesmo script também pode ser encontrado no meu Github.

Até a próxima!

Falha ao acessar compartilhamento no NAS WD através do Windows Server 2019

Olá pessoal,

tempos atrás eu publiquei um post sobre a falha no acesso a compartilhamentos de um NAS D-Link a partir de máquinas com Windows 10 de um cliente devido ao protocolo SMB que vem desabilitado por padrão no sistema por questões de segurança. Este post pode ser lido aqui.

Pois bem, agora tive problemas para acessar um NAS Western Digital MyCloud comprado em 2017 a partir de um servidor Windows Server 2019.

Ao tentar o acesso via caminho UNC (\\ip_do_servidor) a mensagem abaixo era exibida.

Isso ocorre pois no Windows 10 (a partir da versão 1709) e no Windows Server 2019 o acesso de convidado utilizando os protocolos SMB2 e SMB3 vem desabilitado por padrão, sendo considerado inseguro. Por se tratar de um ambiente conhecido e de laboratório para desabilitar essa configuração precisamos fazer os seguintes passos:

1 . Execute o Local Group Policy Editor (gpedit.msc)

2. Navegue por Computer Configuration > Administrative Templates > Network > Lanman Workstation

3. Dois cliques em Enable insecure guest logons, selecione a opção Enabled e clique em OK

Podemos fazer essa configuração também via PowerShell mudando o valor da configuração “AllowInsecureGuestAuth” de 0 para 1 utilizando o comando abaixo:

Set-ItemProperty -Path “HKLM:\Software\Policies\Microsoft\Windows\LanmanWorkstation\” -Name “AllowInsecureGuestAuth” -Value 1

Para verificar o valor da chave após a alteração execute:

Get-ItemProperty -Path “HKLM:\Software\Policies\Microsoft\Windows\LanmanWorkstation\”

Para voltar a configuração original e bloquear o acesso, basta mudar o valor “AllowInsecureGuestAuth” para 0, usando o comando abaixo:

Set-ItemProperty -Path “HKLM:\Software\Policies\Microsoft\Windows\LanmanWorkstation\” -Name “AllowInsecureGuestAuth” -Value 0

Criei um script para isso e compartilhei no meu Github.

Até a próxima!

Instalação do Hyper-V no Windows Server 2019 via PowerShell

Olá pessoal,

para habilitar o Hyper-V em um servidor com Windows Server 2019 via linha de comando, abra o PowerShell execute o comando abaixo:

Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart

Após a instalação da role Hyper-V, o servidor será reiniciado.

Para verificar se a instalação ocorreu com sucesso, você pode executar o comando abaixo e verificar todas as funções e recursos que estão instalados no seu servidor:

Get-WindowsFeature -ComputerName

Até a próxima!

Microsoft Azure – Guia rápido

Olá pessoal,

O amigo Fábio Hara da Microsoft, compartilhou no Linkedin um Guia rápido do Microsoft Azure. Eu achei bem interessante e intuitivo por isso aproveito para compartilhar também aqui no blog.

Façam o download do Guia aqui.

Ativando Servidores com Windows Server 2019 via prompt de comando

Olá pessoal,

Vamos demonstrar neste post como realizar a ativação de um servidor com Windows Server 2019 via prompt de comando (cmd).

Primeiramente vamos aplicar a chave de produto no servidor, para isso abra o Prompt de comando como Administrador (elevado) e execute o comando abaixo, substituindo xxxxx-xxxx-xxxx-xxxx-xxxx pela sua chave de produto.

slmgr.vbs /ipk xxxxx-xxxx-xxxx-xxxx-xxxx

Deve ser exibida a mensagem “Chave do produto (Product Key) xxxxx-xxxx-xxxx-xxxx-xxxx instalada com êxito”

Agora com a chave instalada, vamos ativar o sistema utilizando o comando abaixo:

slmgr.vbs /ato

Caso seja exibida a mensagem “Produto ativado com êxito” a operação foi realizada com sucesso.

Para confirmar o status da ativação execute o comando:

slmgr.vbs /dlv

Será exibida a tela abaixo com as informações sobre o sistema e sua ativação. Veja em Status da Licença. Tem que estar como “Licenciado“. Se houver algo diferente o procedimento não funcionou.

Você também pode verificar o status do sistema acessando via Painel de Controle – Sistema e Segurança – Sistema. Vejam abaixo:

Até a próxima!

Instalação do Hyper-V no Windows Server 2016 via PowerShell

Olé pessoal,

para habilitar o Hyper-V em um servidor com Windows Server 201 via linha de comando, abra o PowerShell execute o comando abaixo:

Install-WindowsFeature -Name Hyper-V -ComputerName NOME_DO_SERVIDOR -IncludeManagementTools -Restart

Substitua “NOME_DO_SERVIDOR” pelo hostname do seu servidor.

Após a instalação da role Hyper-V, o servidor será reiniciado.

Para verificar se a instalação ocorreu com sucesso, você pode executar o comando abaixo e verificar todas as funções e recursos que estão instalados no seu servidor:

Get-WindowsFeature -ComputerName NOME_DO_SERVIDOR

Até a próxima!

Converter um servidor Window Server 2012 R2 Evaluation para Standard ou Datacenter

Olá pessoal,

neste final de semana eu precisei converter uma instalação do Windows Server 2012 R2 Evaluation em um servidor, ou seja, versão de testes (180 dias), para a versão Datacenter. O procedimento é bem simples e não pode ser realizado em servidores Domain Controllers. Neste caso, instale um novo servidor, sincronize o AD, transfira as FSMOs e despromova o servidor.
Considerando que você está utilizando uma conta com privilégios administrativos no servidor, execute os comandos abaixo com o prompt elevado:

Para converter de 2012 R2 Evaluation para Datacenter:
DISM /online /Set-Edition:ServerDatacenter /ProductKey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX /AcceptEula
Em /Set-Edition, determine qual a versão do Windows Server você possui licença válida (ServerStandard ou ServerDatacenter) em /ProductKey, substitua XXXXX-XXXXX-XXXXX-XXXXX-XXXXX pela sua licença válida. O procedimento vai exigir que o servidor seja reiniciado.

Após isso, para verificar se a conversão teve sucesso, execute o comando abaixo:
DISM /online /Get-CurrentEdition

Até a próxima!

Listando as atualizações instaladas em PCs e Servidores Windows via PowerShell

Olá pessoal,

Dica rápida para que precisa listar e documentar as atualizações instaladas via Windows Update ou manualmente em PCs e Servidores com Windows instalado.

Primeiramente execute o PowerShell como Administrador. Feito isso podemos utilizar os comandos:

wmic qfe list

Abaixo segue outra opção de comando:

get-wmiobject -class win32_quickfixengineering

Até a próxima!

Ambiente legado – Definindo frequência de sincronismo no Dir-Sync entre AD On-premise com Office 365

Olá pessoal,

eu sempre venho comentando que devemos olhar para ambientes novos com as metodologias ágeis, as clouds e os microserviços, mas sem esquecer os ambientes legados. A quantidade de empresas com ambientes baseados em servidores com Windows Server 2008/2008R2 é enorme. A dica de hoje vai para quem tem Office 365 e faz o sincronismo de diretório com o Active Directory da sua empresa utilizando a ferramenta Windows Azure Active Directory Sync tool, também conhecida como DirSync.

Por padrão, o sincronismo ocorre a cada 3 horas. No caso de ambientes com muitas alterações de usuários e senhas esse tempo pode não ser o adequado.

Podemos mudar essa frequência de sincronização editando o valor “SyncTimeInterval” no arquivo Microsoft.Online.DirSync.Scheduler.exe.Config que fica no diretório C:\Program Files\Windows Azure Active Directory Sync

Por padrão o valor vem “SyncTimeInterval” value=”3:0:0″ que corresponde a 3 horas. Se você quiser mudar, por exemplo para 1 hora, altere o valor para “1:0:0”

Caso queira para 40 minutos defina o valor para “0:40:0”

Feito isso salve o arquivo e reinicie o serviço Windows Azure Active Directory Sync Service para isso abra um prompt de comando (cmd) e execute:

net stop MSOnlineSyncScheduler

net start MSOnlineSyncScheduler

Até a próxima!

Conectando em um banco de dados Firebird via Linha de comando usando ISQL

Olá pessoal,

fui acionado por um cliente hoje devido ao sistema da empresa dele estar inoperante. Ambiente totalmente legado com servidor Windows Server 2008 R2, sistema antigo, com arquitetura ultrapassada, desenvolvido em Delphi com banco de dados Firebird 2.5. Sistema e banco armazenados no mesmo servidor.

Eu precisava acessar o banco para verificar a existência de uma tabela específica. Então como proceder?

Simples, utilizando o ISQL, ferramenta baseada em linha de comandos, que vem nativamente com a instalação padrão do Firebird.

Execute o ISQL em “C:\Program Files (x86)\Firebird\Firebird_2_5\bin\isql.exe” -z

Para conectar ao banco utilize a sintaxe abaixo:

CONNECT  ‘Caminho_da_base’ user ‘USUÁRIO’ password ‘SENHA’;

Então vejam o comando abaixo como exemplo:

CONNECT ‘D:\dados\Corporativo\SISTEMA\Database\SISTEMA.GDB’ user ‘SYSDBA’ password ‘masterkey’;

Se as informações estiverem corretas, a conexão ao banco será realizada conforme a tela abaixo. Na última linha, em Database, será exibido o caminho do banco cuja conexão foi realizada.  A partir daí você pode executar as tarefas necessárias na base de dados.

ISQL_FIREBIRD

Até a próxima!

Event ID 5012 – Erro 9026 – Falha na Replicação DFS no Windows Server

Olá pessoal,

fui acionado por cliente que informou que estava tendo problemas na replicação DFS após criar um namespace novo, ou seja, criava arquivos ou pastas em um servidor e não era replicado para o outro. Verifiquei o log de eventos e encontrei o ID 5021, com erro 9026 (conexão inválida) que realmente informava falha de conectividade e consequentemente sincronismo entre os parceiros de um determinado grupo de replicação.

DFS1

Para corrigir este problema, vamos registrar novamente a Replicação do DFS no Provedor WMI e reiniciar o serviço executando os os seguintes passos:

Execute o prompt de comando e acesse o diretório C:\Windows\system32\wbem\
Em seguida,  execute os comandos abaixo na sequência:
mofcomp dfsrprovs.mof
net stop winmgmt
net start winmgmt
net start iphlpsvc
net stop dfsr
net start dfsr

Verifique no Log de Eventos se a Replicação DFS entre os parceiros foi restabelecida. conforme imagem abaixo.

DFS2

Até a próxima!

Problemas para ativar servidor com Windows Server 2012 R2

Olá pessoal,

Pouco tempo atrás o servidor de um cliente sofreu um incidente que resultou na reinstalação do sistema, neste caso o Windows Server 2012 R2 Standard. Naquele momento de emergência foi ativada a licença de avaliação (Evalution) da Microsoft que dura até 180 dias, conforme a imagem abaixo.

Win2012_Ativacao00

A mensagem abaixo com as informações dos dias restantes da licença de avaliação é exibida na Área de trabalho do usuário.

Win2012_Ativacao03

Com o ambiente já estabilizado, este cliente entrou em contato para realização da ativação da sua licença no servidor. Ao tentar ativar através do comando slmgr.vbs /ipk xxxxx-xxxxx-xxxxx-xxxxx-xxxxx (sendo xxxxx-xxxxx-xxxxx-xxxxx-xxxxx a licença válida) a mensagem de erro abaixo era exibida:

Win2012_Ativacao01

Para verificar quais licenças podem ser ativadas na instalação atual execute o comando no prompt:

DISM.exe /Online /Get-TargetEditions

Win2012_Ativacao02

Cliente possui a licença Standard, portando vamos substituir a versão de Standard Evaluation para Standard utilizando o comando abaixo (Substitua XXXX-XXXXX-XXXXX-XXXXX-XXXXX pela sua licença válida):

DISM /online /Set-Edition:ServerStandard /ProductKey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX /AcceptEula

Após isso será necessário reiniciar o servidor e em seguida podemos verificar a edição do Windows modificada para a versão correta e o seu status de ativação conforme a imagem abaixo:

Win2012_Ativacao04

Até a próxima!

Definindo as configurações do Windows Update através do sconfig no Windows Server 2016

Olá pessoal,

fui acionado por um cliente que reportou que um servidor Hyper-V baseado no Windows Server 2016 reiniciou bem cedo, pouco antes do inicio do expediente. O Servidor levando bastante tempo para ficar online novamente, com isso as VMs com os sistemas não subiram e o inicio da operação da empresa acabou prejudicado.

Pois bem, eu acessei o servidor e identifiquei no log, através do Evento 1074,  que o próprio sistema realizou a instalação de um service pack e ao final reiniciou o servidor. Vejam abaixo:

Win16Up01

O cliente solicitou que as atualizações não sejam mais feitas de forma automática e sim manualmente, conforme janela a ser definida. Essa configuração poderia ser feita através de uma Política de Grupo (GPO) no Active Directory, porém como se trata de um servidor Standalone, vamos demonstrar como definir esta configuração diretamente na própria máquina, localmente.

Primeiramente abra o PowerShell como Administrador execute o comando sconfig

Após isso, selecione a opção 5, Configurações do Windows Update e defina a opção (M) Manuais. A mensagem abaixo será exibida. Clique em OK.

Win16Up02_nova

Pronto, desta forma as atualizações do Windows Update serão feitas manualmente.

Win16Up03

Até a próxima!

Ativando Windows Server 2016 via prompt de comando

Olá pessoal,

Semana passada eu recebi de um cliente o serial do Windows Server 2016 para ativação do servidor. Neste post vou descrever o procedimento para fazer esta ativação via prompt de comando (cmd).

Primeiramente vamos aplicar a chave de produto, para isso abra o Prompt de comando como Administrador (elevado) e execute o comando abaixo, substituindo xxxxx-xxxx-xxxx-xxxx-xxxx pela sua chave de produto.

slmgr.vbs /ipk xxxxx-xxxx-xxxx-xxxx-xxxx

Deve ser exibida a mensagem “Chave do produto (Product Key) xxxxx-xxxx-xxxx-xxxx-xxxx instalada com êxito”

Agora com a chave instalada, vamos ativar o sistema utilizando o comando abaixo:

slmgr.vbs /ato

Caso seja exibida a mensagem “Produto ativado com êxito” a operação foi realizada com sucesso.

Para confirmar o status da ativação execute o comando:

slmgr.vbs /dlv

Será exibida a tela abaixo com as informações sobre o sistema e sua ativação. Veja em Status da Licença. Tem que estar como “Licenciado“. Se houver algo diferente o procedimento não funcionou.

slmgr2

Você também pode verificar o status do sistema acessando via Painel de Controle – Sistema e Segurança – Sistema. Vejam abaixo:

slmgr3

Até a próxima!

Definindo servidor de licenças de Área de Trabalho Remota (RDS) no Windows Server 2016 via editor de política

Olá pessoal,

Passei um período com uma carga muito grande de trabalho e fiquei praticamente sem tempo algum para fazer publicações aqui no blog,  porém agora estou de volta com as atividades, posts, vídeos e tudo mais!

Hoje vou ensinar com definir um servidor de licença e o tipo em um servidor com o papel de Área de Trabalho Remota (RDS) ativado no Windows Server 2016 através de política de grupo.

No servidor com o RDS execute o editor de política de grupos através de comando:

gpedit.msc

Com o editor aberto, navegue por:

Configuração do Computador \ Modelos Administrativos \ Componentes do Windows \ Serviços de Área de Trabalho Remota \ Host de Sessão da Área de Trabalho Remota \ Licenciamento

Serão exibidas as opções abaixo:

RDS1

Ative as opções:

Em Usar os servidores de licença da Área de Trabalho Remota especificados, devem ser definido o servidor de licença, por nome ou endereço ip:

RDS2

Caso não queira que mensagens sobre problemas de licenciamento não sejam exibidas para o usuário de sessão remota, ative essa opção.

RDS3

Em Definir o modo de licenciamento da área de trabalho remota, defina se o licenciamento do serviço de área de trabalho remota será Por Dispositivo ou Por Usuário.

RDS4

Um forte abraço e até a próxima!