terça-feira, 28 de fevereiro de 2012

Olá,
Vamos falar sobre o modulo do active directory no power shell.
Não vou entrar em detalhes de como é feita a instalação, mas já adianto que só podera ser feita em windows server 2008 r2, para mais detalhes da instalação:  http://www.mikepfeiffer.net


Segundo o http://technet.microsoft.com
O Módulo do Active Directory para Windows PowerShell fornece script de linha de comando para tarefas administrativas, de configuração e de diagnóstico, com um vocabulário e uma sintaxe consistentes. O Módulo Active Directory habilita a capacidade de gerenciamento de ponta a ponta com o Exchange Server, a Diretiva de Grupo e outros serviços.

 Ou seja, mais cmdlets voltados para as ferramentas microsoft (Ad,Exchange,SystemCenter...)

#vamos começar importando o modulo
import module activedirectory new-psdrive -name dominio -psprovider -activerictory -root "" -server srv
#dominio-> nome do dominio que deseja conectar
#srv-> nome completo do servidor DC


podemos agora adicionar varios novos comandos:
#traz informações do usuário no ad  + propiedade mail e title
get-aduser nomedouser -properties mail,title

#podemos jogar isso para dentro de uma variavel
$users = get-aduser nomedouser -properties mail,title
foreach($user in $users){
 write-host $user.samaccoutname
}

#ou podemos alterar algum campo
$users = get-aduser nomedouser -properties mail,title
foreach($user in $users){
 write-host $user.samaccoutname
set-aduser $user.samaccountname -replace @{title="operacao"}

}

quarta-feira, 15 de fevereiro de 2012

Inventário

Bom dia,
Hoje vamos montar um inventário simples.


Para fazer o levantamento do inventário vamos usar WMI (Windows Manager Instrumentation), o WMI é um  mecanismo simples e consistente para pesquisar informações ou parâmetros de configuração em computadores dentro de uma empresa ou corporação.

Para mais detalhes acesse o link da http://www.devmedia.com.br.

Então quais sao as informações que vamos pesquisar? 

gwmi Win32_ComputerSystem -Comp nomedocomptador
gwmi Win32_OperatingSystem -Comp
nomedocomptador
gwmi Win32_ComputerSystem -Comp nomedocomptador
gwmi Win32_OperatingSystem -Comp nomedocomptador
gwmi Win32_BIOS -Comp nomedocomptador
gwmi Win32_TimeZone -Comp nomedocomptador
gwmi Win32_WmiSetting -Comp nomedocomptador
gwmi Win32_Processor -Comp nomedocomptador
gwmi Win32_PhysicalMemory -Comp nomedocomptador
gwmi Win32_PhysicalMemoryArray -Comp nomedocomptador
gwmi Win32_LogicalDisk -Comp nomedocomptador
gwmi Win32_NetworkAdapterConfiguration -Comp nomedocomptador





 gwmi = Get-WmiObject 

Vamos usar o computersystem, o resultado sera esse:

Domain              : WORKGROUP
Manufacturer       : Sony Corporation
Model               : VGN-CS215J
Name                : LAURO-PC
PrimaryOwnerName    : Lauro
TotalPhysicalMemory : 4155482112
 

 Caso eu queria pegar somente a propiedade domain eu posso rodar o comando da seguinte maneira:


(gwmi Win32_ComputerSystem -Comp computername).domain
e assim para as outras propiedades.


ate a próxima
 

terça-feira, 14 de fevereiro de 2012

Powershell + Excel

Estou cansado de gerar log's em txt e depois ter que colocar tudo em excel, com o powershell isso não é mais problema,você tem a opção de manipular o excel e gerar o seu relatorio direto nele.


#Nova aplicação do excel
$Excel = New-Object -Com Excel.Application
#colocando ele visivel na tela
$Excel.visible = $True
#adicionando pastas de trabalho
$Excel = $Excel.Workbooks.Add()
$Sheet1 = $Excel.Worksheets.Item(1)
#alterar nome da planilha
$Sheet1.Name = "General"

#Preencher a primeira linha
$Sheet1.Cells.Item(1,1) = "Nome"
$Sheet1.Cells.Item(1,2) = "Modelo"
$Sheet1.Cells.Item(1,3) = "CPU"
$Sheet1.Cells.Item(1,4) = "Memoria"
$Sheet1.Cells.Item(1,5) = "Sistema Operacional"
Nos próximos posts vou ensinar a popular essa planílha e adicionar mais informações.

Ping + Log

Bom dia,

Existem várias maneiras de gerar log no powershell, a mais simples é assim:
write-output "teste" >> c:\teste.txt
>> adiciona as linhas sem excluir o conteudo (append).
Veja abaixo um script para pingar todas as maquinas de uma lista

 #Vamos pegar o caminho do arquivo e jogar na variavel $complist
#GC significa get-content, ele lê o arquivo txt
 $complist = gc C:\Pingamaquinas\serverList.txt;
#Título do arquivo de log
echo "Teste de Ping " >> C:\Pingamaquinas\result.txt
#agora vamos fazer um for que vai percorrer todos os computadores do txt e executar o comando Test-Connection, ele é equivalente ao ping, depois vamos salvar isso em um arquivo txt com o nome de result
foreach ($entry in $complist) {
  Test-Connection $entry >> C:\Pingamaquinas\result.txt
 echo "-------------------------------------------------------------------">> C:\Pingamaquinas\result.txt
}

Pronto, agora é so pegar a lista de todos os servidores e colar no txt.

segunda-feira, 13 de fevereiro de 2012

Calculadora no PowerShell

Bom dia,
sem mais demora vamos para mais comandos do power shell.

PS é uma calculadora nativa.
Quantos bytes há em um MB? pergunte para ele.
PS C:\Users> 1mb
1048576

ou quantos disketes eu preciso para guardar o windows 7?
PS C:\Users> 3.35gb/1.44mb
2382,22222222222

é isso ai, amanha tem mais.
abraços

sexta-feira, 10 de fevereiro de 2012

Vida de Suporte


Power Shell

 Vamos começar o blog falando de um sujeito impressionante, o tal do Windows Power Shell, mas o que é ele e o que ele faz?
Bom, segue o link da wikipédia (http://pt.wikipedia.org/wiki/Windows_PowerShell).
Resumindo, um MSDOS melhorado.

Ta certo é muita sacanagem resumir assim, mas a primeira impressão que tive foi essa, olha ai a cara dele:


Depois que dei um dir eu realmente achei que era um MSDOS Azul.











Então qual é a vantagem de usar o Power Shell??  Simples, você pode automatizar qualquer coisa ou procurar qualquer coisa, fora a integração que ele possui com o dotnet e COM.
 Vamos começar com uma coisa bem simples para mostrar seu poder:

O primeiro comando que aprendi foi o get-help (Olha o nome do blog ai), com get help você pode visualizar qualquer  sintaxe de qualquer comando dentro do PS, e se você usar o parametro -full ele vai te mostrar varios exemplos.






Quem quiser já ir adiantando pode fazer o download do PS  http://blogs.msdn.com/b/powershell/archive/2008/12/30/download-windows-powershell.aspx





O próximo comando é o get-process, ele lista todos os processos da sua máquina, ok mas isso ai eu tb posso fazer no dos, mas e se eu quiser saber se um determinado processo esta rodando??
  if(Get-Process | Where-Object { $_.Name -eq "calc" })
        {
                "Windows calc is Running"
        }
    else
        {
                "Windows calc is Not Running"
        }

Que beleza, olha o poder que essa parada tem.

Nó próximo post mais comandos  :)