sexta-feira, 19 de outubro de 2012

Descompactar um arquivo usando powershell



Segue abaixo como descompactar arquivos usando powershell.

$Source = "c:\arquivo.zip"
$Destination = "c:\pastadestino"


Unblock-File $Destination
#apenas no PowerShell v3            

#chama a aplicação do zip e abre o arquivo zip
$helper = New-Object -ComObject Shell.Application
$files = $helper.NameSpace($Source).Items()

#copia os arquivos para pasta de destino
$helper.NameSpace($Destination).CopyHere($files)

=============== ATUALIZANDO O POST =======================
Só para auxiliar os proximos.

No Powershell v5 você pode utilizar os seguintes cmdlets

Para descompactar.

Expand-Archive -Path $Source -DestinationPath $Destination

https://msdn.microsoft.com/en-us/powershell/reference/5.1/microsoft.powershell.archive/expand-archive

quarta-feira, 17 de outubro de 2012

Limpando campo scriptpath - powershell

Recentemente tive que limpar o campo "scriptpath" de todos os usuários do AD.
Abaixo o script:

#carrega  o modulo do AD
import-module ActiveDirectory

get-aduser -filter{scriptpath -like "*"} -properties scriptpath | set-aduser -scriptpath $null

Primeira parte do comando:
get-aduser -filter{scriptpath -like "*"} -properties scriptpath

Lista todos os usuários que possuem o campo "scriptpath" preenchido.


Segunda parte do comando:

set-aduser -scriptpath $null

Atualiza o campo "scriptpath" do usuário encontrado para um valor nulo, ou você pode adicionar um novo valor no campo colocando outra variável ou ate mesmo uma string no lugar da variável "$null".

ex.:
get-aduser -filter{scriptpath -like "*"} -properties scriptpath | set-aduser -scriptpath "meuscript.bat"

segunda-feira, 15 de outubro de 2012

Lista de sites com dicas, scripts e muita informação sobre PowerShell.


SITE/LINK
Descrição

Poweshell code repository

poshcode.org


Is a repository of PowerShell scripts that are free for public use. As you find things useful, we only ask that you give back to our community.

Powershell.com

 powershell.com

The place for powershell people: home of dr. tobias weltner, powershell mvp

Scriptinganswers.com



Poshoholic

poshoholic.com


Totally addicted to PowerShell and automation

heyscriptingguy

Learn about Windows PowerShell

Under the stairs

tfl09.blogspot.com


Thomas Lee's collection of random interesting items, views on things, mainly IT related, as well as the occasional rant.

PeetersOnline

peetersonline.nl

Virtually Everything about Powershell and PowerCLI

techprosaic

halr9000.com

 


Powershell & other stuff

The powershell guy

thepowershellguy.com

 

get-Shell | where {$_.pipeline -contains Objects}

Huddled masses

huddledmasses.org

You can do more than breathe for free...

sábado, 13 de outubro de 2012

Conectando no office 365

Bom dia, boa tarde e boa noite.

A moda agora é office 365,  Exchange na nuvem, 50 gigas de espaço, muitas novidades.

Uma grande vantagem que o office 365 possibilita é a conexão com o powershell de qualquer lugar, bastar passar o link, usuário e senha.
Veja como:


$liveCred = Get-Credential -UserName admin@seudominio.onmicrosoft.com -Message "Office 365"
$session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $LiveCred -Authentication Basic -AllowRedirection
Import-PSSession $Session

Digite o usuário e senha do seu domínio e assim que a conexão for estabelecida você já pode executar comandos como get-mailbox, com o powershell 3.0 é só apertar ctrl + espaço que os cmdlets disponíveis vão aparecer.