domingo, setembro 03, 2017

How to move Web App to another Service Plan - PowerShell

Create two Service Plan
>New-AzureRmAppServicePlan -Name AppService1 -Location "North Central US" -ResourceGroupName 70533 -Tier Basic

>New-AzureRmAppServicePlan -Name AppService2 -Location "North Central US" -ResourceGroupName 70533 -Tier Basic

Create a new Web App using Service Plan name AppService1:
>New-AzureRmWebApp -Name maykon -Location "North Central US" -AppServicePlan AppService1 -ResourceGroupName 70533

Move to different AppServicePlan
>$props = @{"ServerfarmId" = "AppService2";}
>Set-AzureRmResource -PropertyObject $props -ResourceType Microsoft.Web/sites -ResourceName maykon -ResourceGroupName 70533

sábado, julho 22, 2017

AttributeValueMustBeUnique - Azure AD

Estava com o seguinte cenário, as contas do cliente tinham sido criadas inicialmente no Azure AD, quando isso foi implantado o cliente não tinha um domínio local ( Active Directory).
Ao tentar efetuar a sincronização estava ocorrendo o seguinte erro no Synchronization Service Manager( DirSync):

AttributeValueMustBeUnique



 Para resolver isso foi necessário alterar o ImmutableID nas contas que estavam na nuvem.
Primeiramente usei o comando ldifde (AD local) para obter o objectGuid:
>ldifde -f export.txt -r "(Userprincipalname=*)" -l "objectGuid, userPrincipalName"

Conectei no Azure AD através do PowerShell e executei o comando Set-MsolUser
>Set-MsolUser -UserPrincipalName user@contoso.com.br -ImmutableID nGc387YXXXXXX2+9UZcAw==

Onde o parâmetro ImmutableID vai receber o objectGuid obtido com o comando ldifde.
Como eram poucos usuários fiz o processo manualmente.

sábado, julho 01, 2017

ContentIndexState FailedAndSuspended - Exchange 2013

Os usuários estavam com problemas ao executar buscas no Exchange Web App e no Outlook, após análise constatei que a base de dados estava com o status de FailedAndSuspended, como pode ser observado no print abaixo:



 Para resolver esse problema executei os seguintes procedimentos (Isso é para base de dados que não fazem parte de um DAG):

Parei os seguintes serviços:

>stop-service MSExchangeFastSearch
>stop-service HostControllerService

Verifiquei a localização da base de dados do exchange com o comando abaixo:

>get-mailboxdatabase -status | select name,databasesize,EdbFilePath

Bastou renomear a pasta do index ( não tem problema em deletar essa pasta), que tem como padrão uma sequência numérica.



Após renomear as quatro pasta é necessário iniciar os serviços parados anteriormente.

>start-service MSExchangeFastSearch
>start-service HostControllerService

Depois de algumas horas verifiquei novamente e a base de dados estava com o status de Healthy:



Esse procedimento exige muito processamento, então proceda com cautela e verifique com seus usuários o melhor momento para executar esses procedimentos.

quinta-feira, junho 22, 2017

Upload para Block Blobs Azure

Depois de muito tempo sem publicar algo finalmente voltei a publicar.
Recentemente surgiu a necessidade de enviar para o Azure uma grande quantidade de dados, após analisar o ambiente do cliente configurei um Blob (Block) no Azure pois tem um ótimo custo beneficio, como o volume de dados é bem grande (40 TB) o blob se encaixa perfeitamente na necessidade do cliente.

O script é bem simples, vai pegar o conteúdo da pasta /opt/test e enviar para o container criado no Azure, esse script utiliza o Azure CLI.

 ----------
#!/bin/bash
export AZURE_STORAGE_ACCOUNT='MyStorageAccount'
export AZURE_STORAGE_ACCESS_KEY='MyKEYXXXXXXXXXXXX=='

export container_name='mycontainer'
export source_folder='opt/test'

cd /
echo pwd
for i in $(find $source_folder); do
echo "File:" $i
az storage blob upload -f $i -c $container_name -n $i
echo "---"
done
-----------