Visitantes

Mostrando postagens com marcador PowerShell. Mostrar todas as postagens
Mostrando postagens com marcador PowerShell. Mostrar todas as postagens

Alterando a Versão do Windows (Change Windows Version)






Mesmo tendo muitas e muitas paginas sobre o assunto, tenho visto muitas pessoas com dificuldades sobre a forma correta de alterar a versão do Sistema operacional do Windows, então pra ajudar resolvi fazer um passo a passo testado e aprovado pra ajudar o pessoal. 

Então vamos lá!!!:...

1) Em primeiro lugar precisamos confirmar qual versão atual o Windows, pra isso abra um prompt do Powershell com nível elevados para que nada interfira e execute o comando abaixo;

DISM /online /Get-CurrentEdition

Você terá um resultado parecido com esse abaixo: 

Deployment Image Servicing and Management tool
Version: 6.1.7600.16385

Image Version: 6.1.7601.18489
Current edition is:
Current Edition : ServerStandard
The operation completed successfully.

Nesse exemplo vemos que ele está executando a Versão Standart do Windows.


2) Agora Precisamos verificar quais versões esse S.O aceita e para fazer essa verificação execute o comando abaixo:

DISM /online /Get-TargetEditions

Você terá um resultado parecido com esse abaixo: 

Deployment Image Servicing and Management tool
Version: 6.1.7600.16385

Image Version: 6.1.7601.18489
Editions that can be upgraded to:
Target Edition : ServerDataCenter
Target Edition : ServerEnterprise
The operation completed successfully.

Aqui podemos ver que temos a opção de fazer o upgrade para a versão Enterprise (ServerEnterprise) ou Datacenter (ServerDataCenter);

3) Vamos então por exemplo fazer a alteração da Versão Standart para a Versão Datacenter utilizando a seguinte linha de comando:                                     
            
DISM /online /Set-Edition:ServerEnterprise /ProductKey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX

*Substitua XXXXX-XXXXX-XXXXX-XXXXX-XXXXX pela sua chave da versão que você vai fazer a conversão que no exemplo é a Enterprise:

*Caso você execute o comando e apresente a MSG abaixo:

“The specified product key is not valid for the target edition. Run this command again with a product key specific to the target edition.”
I have no reason why this issue happens,(its key confusion of some sort) but to fix it you can go ahead and use the default KMS key provided by Microsoft XXXXX-XXXXX-XXXXX-XXXXX-XXXXX, use this key in the command, and once the system reboots, go into the Server Manager and change and activate the softare with your own key."

Será necessário pegar uma chave KMS para a respectiva versão no site da MS, acesse então o site que está no final do documento, localize ache a chave correspondente a versão que você quer fazer o upgrade e substitua a chave que você tinha usado. Por exemplo:

Para a versão Enterprise do Windows 2008 R2 vou utilizar a chave KMS : 489J6-VHDMP-X63PK-3K798-CPX3Y. 

Então o comando ficaria:

DISM /online /Set-Edition:ServerEnterprise /ProductKey:489J6-VHDMP-X63PK-3K798-CPX3Y

Você terá um resultado parecido com esse abaixo: 

Deployment Image Servicing and Management tool
Version: 6.1.7600.16385

Image Version: 6.1.7600.16385

Starting to update components...
Starting to install product key...
Finished installing product key.

Removing package Microsoft-Windows-ServerStandardEdition~31bf3856ad364e35~amd64~~6.1.7601.17514
[====================100.0%=======================]
Finished updating components.

Starting to apply edition-specific settings...
Restart Windows to complete this operation.
Do you want to restart the computer now (Y/N)?

Depois de reiniciar o servidor ele já estará na versão escolhida:

Site com as chaves KMS:

https://technet.microsoft.com/en-us/library/ff793421.aspx?tduid=(bd0734beb0ee20f86fe008edef8b1465)(256380)(2459594)(TnL5HPStwNw-xDGof0NEuc4O4fe68AF4Fg)

Espero que essa postagem seja útil e se precisarem de ajuda é só escrever que ajudarei no que for possível.

Abraço a todos.

Obtendo o Tamanho do Mailbox no Exchange Server (2007/2010) (Get Size MailBox on Exchange Server)




Fala pessoal!!!

Hoje vou publicar um comando bem útil em powershell, esse comando vai listar o tamanho e a quantidade de itens da caixa postal dos usuários do Exchange, esse comando pode ser muito útil em uma migração, pois pode nos ajudar a decidir por onde começar e termos uma estimativa de tempo da migração.

Vamos utilizar os CMDLETs “Get-Mailbox” e “Get-MailboxStatistic”, o primeiro vai listar os usuários e depois concatenar com o segundo que irá levantar os dados que precisamos, então vamos lá!!!

Da forma abaixo, será listado todas as Mailbox do Servidor Exchange:

Get-Mailbox –server <<NOME SERVER>> | Get-MailboxStatistics | Sort-Object TotalItemSize –Descending | ft DisplayName,@{ expression={$_.TotalItemSize.Value.ToMB()}},ItemCount

Dessa forma abaixo, será listado apenas os usuários do database especificado:

Get-Mailbox -Database <<NOME DATABASE>> | Get-MailboxStatistics | Sort-Object TotalItemSize –Descending | ft DisplayName,@{ expression={$_.TotalItemSize.Value.ToMB()}},ItemCount

Você pode enviar para um arquivo CSV adicionando o seguinte comando no final das linhas descritas acima:

| Format-Table > c:\Mailbox.csv

Um detalhe curioso que observei nesses últimos tempos de grandes migrações. O que mais interfere no tempo da migração de uma caixa postal não é o tamanho da caixa e sim o numero de itens, por exemplo, uma caixa com 10GB de tamanho e 50.000 Itens geralmente demora menos do que uma caixa que tenha 5Gb e 100.000 Itens, isso não é uma regra, mais na sua maioria é assim que as coisas funcionam e tem lógica, mais não vamos discutir lógica agora, se alguém quiser discutir sobre isso deixe seu questionamento nas perguntas que discutiremos OK..

Um Abraço a todos e até a próxima....

Deletar um email enviado por engano Exchange sem entrar na caixa do usuário.








Fala pessoal, blz...

Sabe aquele e-mail que o usuário mandou por engano e depois ficou desesperado e entra em contato com o HelpDesk questionando se tem como resgatar ou apagar o e-mail da caixa do Usuário?? Temos boas e más noticias para esse usuário, a boa é que sim é possível e tem duas formas pra fazer isso, uma delas é pelo próprio Outlook entrando na MSG enviada e escolhendo "Cancelar MSG enviada":



Agora a noticia ruim é que tem dois pequenos problemas, o primeiro é que quando fizer isso ele informará ao usuário que uma MSG foi cancelada o que na maioria das vezes o usuário que fez a besteira não quer que ocorra e a segunda é que só conseguirá resgatar o e-mail se ele ainda não foi aberto, mais temos uma carta na manga para contornar essa deficiência e podemos fazer esse processo via Powershell utilizando o comando Search-Mailbox utilizando -DeleteContent, abaixo alguns exemplos:


Para excluir o e-mail da caixa de um usuário em especifico:


Search-Mailbox -Identity "Usuario" -SearchQuery 'Subject:"Assunto do email"' -DeleteContent


Para excluir o e-mail da caixa de todos os usuários:


Get-Mailbox | Search-Mailbox -SearchQuery 'Subject:"Assunto do email"' -DeleteContent


Se quiser ver algumas outras sintaxes ou exemplos basta fazer:


Get-Help Search-Mailbox -examples


Bom é isso ai, espero ter ajudado pois esse procedimento é bem comum de ser solicitado, então qualquer duvida ou sugestão estou a disposição...




Script para atualização de campos do Active Directory utilizando arquivo CSV







Pessoal disponibilizo hoje um Script simples em Powershell que servirá para atualizar alguns campos de usuários no Active Directory utilizando um arquivo CSV. 

No exemplo, foi exportada uma lista do ERP da empresa que possui alguns dados que na correria da criação acabam não sendo inseridos nas propriedades dos usuários ou que são alterados ao longo do tempo e não são replicados no Active Directory como por exemplo: mudança de Cargo, alteração de Ramal ou telefone, alteração de localização do usuário, etc,etc... Então vamos por a mão na massa.

Pré-requisitos:
Necessário ter instalado os CMDLETS de administração do Active Directory da Quest

http://www.quest.com/powershell/activeroles-server.aspx

Depois do CMDLET instalado, crie um arquivo CSV com os dados que você precisa importar, na primeira linha será necessário colocar o nome dos campos. No exemplo para facilitar usei os mesmos nomes dos campos do ActiveDirectory como cabeçalho.



No site http://www.selfadsi.org/user-attributes.htm  você pode consultar o nome dos campos no Active Directory e ajustar o seu Script para atualizar outros campos alem desses que utilizei.

Tendo o arquivo CSV em mãos é só executar o Script Abaixo.

Atenção!!! Se você exportar uma planilha Excel para um arquivo CSV verifique se ela delimitou os campos com “;” ou invés de “,” , para que o Script funcione corretamente  o arquivo precisa necessariamente utilizar a virgula para delimitar os campos.


'################## INICIO SCRIPT #########################
'Nome do Script: Update_users.ps1
'Script para atualizacao do ActiveDirectory a partir da Planilha gerada do ERP
'Data: Jun/2014 - Versão 1.0
'Scripter: Marcos valente (www.marcosvalente.com.br)
'
' Os nome dos campos devem ser inseridos na primeira linha do CSV, como no Ex abaixo;
'samaccountname,City,StateorProvince,PostalCode,Title,company,department,
'physicalDeliveryOfficeName,telephoneNumber
'
'Utilização: update_users.ps1 <caminho + nome do Arquivo CSV>
'EX: Update_users 'c:\usuarios.csv'
'
' Atenção os campos devem estar separados por "," e não ";".
'#########################################################

Function Update_users([string]$Path)
{

Import-Module ActiveDirectory
Add-PSSnapin quest*

$users=Import-Csv $path

$USERS|Foreach{
Set-QADUSer -Identity $_.samaccountname -city $_.City -StateorProvince $_.stateorProvince 
-PostalCode $_.Postalcode -Title $_.Title -company $_.company -department $_.department 
-physicalDeliveryOfficeName $_.physicalDeliveryOfficeName -telephoneNumber $_.telephoneNumber}

}

'################## FIM SCRIPT ####################

Bom é isso ai pessoal, script simples e eficiente qualquer duvida ou sugestão me contatem.


Um abraço e até a próxima.

Listar usuários que estouraram a cota no Exchange








Chego com mais uma dica bastante útil, esse comando em Powershell irá listar todos os usuários que já estouraram a cota da sua caixa postal no Exchange.


Get-MailboxStatistics | Where {$_.StorageLimitStatus -eq "MailboxDisabled"} | Sort-Object TotalItemSize -Descending | ft DisplayName,@{label="TotalItemSize(MB)";expression={$_.TotalItemSize.Value.ToMB()}},ItemCount,storagelimitstatus



Caso queira saber de um usuário em especifico é só adicionar –identity “NOME DO USUARIO” logo após o Get-MailboxStatistics



Qualquer duvida é só perguntar, até a próxima..

Listando os usuários que possuem acesso ao WebMail (OWA) via PowerShell




Esse comando em Powershell lista os usuários que estão com acesso no WEBMAIL do Exchange em um Database especifico:

Get-MailBoxstatistics -Database <<Databasename>>  | Get-CASMailbox |where {$_.owaenabled -eq $TRUE} | FT displayname


Caso precise fazer um search em todos os databases basta remover o Get-mailboxStatistics, isso retornará todos os usuários do Exchange que estão com o Webmail ativo.


Get-CASMailbox |where {$_.owaenabled -eq $TRUE} | FT displayname


Para inverter e ver quem está com o Webmail desativado basta trocar o $TRUE por $FALSE.