Windows 10 – Alterando o perfil de rede de pública para privado via PowerShell

Olá pessoal,

um cliente estava tendo problemas de conectividade entre um notebook com Windows 10 e um computador com Windows 7. Verifiquei o notebook e a conexão de rede estava definida como pública conforme imagem abaixo:

W10ProfileRede01

Para alterar para rede privada, abra o Power Shell como administrador (elevado) e execute o comando Get-NetConnectionProfile para exibir as características da conexão e obter o valor do parâmetro InterfaceIndex, no caso desta interface de rede o valor é 16 conforme imagem a seguir. Notem também que o parâmetro NetworkCategory está definido como Public.

W10ProfileRede02

Para definir a conexão como privada digite o comando abaixo, considerando o parâmetro InterfaceIndex 16, da conexão em questão, execute o comando:

Set-NetConnectionProfile -InterfaceIndex 16 -NetworkCategory Private

Em seguida execute novamente Get-NetConnectionProfile e verifique o parâmetro NetworkCategory agora como Private.

W10ProfileRede03

Hyper-V – PowerShell para obtenção de informações dos Volumes CSV

Olá pessoal,

WindowsPowerShellHoje eu deixo para vocês um script bastante útil que eu sempre utilizo para obter informações a respeito dos Volumes CSV (Cluster Shared Volume) apresentados aos clusters Hyper-V dos meus clientes e para enriquecer a documentação dos mesmos.

Com esse script você vai ter dados como Nome do CSV, Path, Tamanho, Espaço Livre, Espaço Ocupado e Porcentagem de espaço Livre. Vejam abaixo:

HyperVCsv

Copie o código abaixo, salve com a extensão *.ps1 (Exemplo: HyperV_CSVs.ps1) e executem em seus clientes.

Import-Module FailoverClusters

$objs = @()

$csvs = Get-ClusterSharedVolume
foreach ( $csv in $csvs )
{
$csvinfos = $csv | select -Property Name -ExpandProperty SharedVolumeInfo
foreach ( $csvinfo in $csvinfos )
{
$obj = New-Object PSObject -Property @{
Name = $csv.Name
Path = $csvinfo.FriendlyVolumeName
Size = $csvinfo.Partition.Size
FreeSpace = $csvinfo.Partition.FreeSpace
UsedSpace = $csvinfo.Partition.UsedSpace
PercentFree = $csvinfo.Partition.PercentFree
}
$objs += $obj
}
}

$objs | ft -auto Name,Path,@{ Label = “Size(GB)” ; Expression = { “{0:N2}” -f ($_.Size/1024/1024/1024) } },@{ Label = “FreeSpace(GB)” ; Expression = { “{0:N2}” -f ($_.FreeSpace/1024/1024/1024) } },@{ Label = “UsedSpace(GB)” ; Expression = { “{0:N2}” -f ($_.UsedSpace/1024/1024/1024) } },@{ Label = “PercentFree” ; Expression = { “{0:N2}” -f ($_.PercentFree) } }

Até a próxima!

Office 365 – Script Power Shell para atribuição/remoção de permissões em caixas de correio

Olá pessoal,

WindowsPowerShellhoje compartilho com vocês um script indispensável para todo administrador do Office 365. Este script atribui permissões de administrador as caixas de correio existentes. Imaginem o cenário em que você está entrando em uma empresa e precisa atribuir a sua conta como administrador de todas as caixas de correio da sua empresa criadas no Office 365, ou então você precisa remover um usuário que esteja como administrador das contas. Esta situação aconteceu comigo e este script foi bastante útil.

Set-ExecutionPolicy RemoteSigned

$UserCredential = Get-Credential (Credenciais de administrador do Office 365)

$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection

Import-PSSession $Session

Para atribuir permissão FULL ACCESS para um administrador/usuário do Office 365 em todas as caixas de correio

Add-MailboxPermission -Identity Mailboxname -User Username -AccessRight FullAccess -Automapping $false

Para remover permissão FULL ACCESS para um administrador/usuário do Office 365 em todas as caixas de correio:

Get-Mailbox -ResultSize Unlimited -Filter {RecipientTypeDetails -eq “UserMailbox”} | Remove-MailboxPermission -User email@empresa.com.br -AccessRights FullAccess -InheritanceType All

Até a próxima!

Várias formas para listar os Compartilhamentos de rede de uma máquina Windows

Ola pessoal,

vou demonstrar abaixo 3 formas para listagem de compartilhamentos de rede em Máquinas Windows. Essa informação é bem relevante para saber onde um compartilhamento está armazenado ou para documentação do seu Servidor de Arquivos.

A primeira forma, mais simples, vai ser utilizando o comando NET SHARE

net share

Utilizando PowerShell, temos duas formas:

Via WMI, através do comando Get-WmiObject Win32_Share

Win32share

Para listar os compartilhamentos em um computador remoto utilize: Get-WmiObject Win32_Share -ComputerName Nome_do_Computador

Win32share2

Podemos obter a listagem também via cmdlet Get-SmbShare, para isso, antes execute Import-Module SmbShare para importar o módulo que contém esse cmdlet.

smbshare

Fica a dica com relação à listagem de compartilhamentos.

PowerShell – Descobrindo o usuário do domínio através do SID e vice versa

Mais uma dica bem legal de PowerShell para administradores de ambientes baseados em Windows.

Para descobrir um nome de usuário pertencente a um domínio Active Directory  através do seu SID (Security Identifier) execute:

$objSID = New-Object System.Security.Principal.SecurityIdentifier `
(“DIGITE-O-SID-AQUI”)
$objUser = $objSID.Translate( [System.Security.Principal.NTAccount])
$objUser.Value

Agora, para fazer ao contrário, tenho o nome do usuário do domínio e quero descobrir o SID desta conta, execute:

$objUser = New-Object System.Security.Principal.NTAccount(“NOME_DOMINIO”, “NOME_USUARIO”)
$strSID = $objUser.Translate([System.Security.Principal.SecurityIdentifier])
$strSID.Value

Guardem esses scripts! Serão bastante úteis!