FAQ POWERSHELL EN GALEGO

By | May 24, 2015

translated-galician


Concepto: As preguntas máis frecuentes sobre Powershell.

Podes empregar esta lista de diferentes maneiras:

  • Para copiar/pegar comandos nun script
  • Para ver rapidamente a sintaxe dun comando específico
  • Para mellorar o teu coñecemento técnico
  • Para descubrir novos comandos
  • Para preparar unha entrevista de traballo

Actualizado
02 de xullo de 2015
Autor powershell-guru.com
Orixe galician.powershell-guru.com
Categorías
75
Preguntas
610


ACL
Active Directory
Alias
Arrays
Browsers
Certificates
Characters
CIM
Comments
COM Objects
Compare
Computer
Credentials
CSV
Culture
Date
Drives
Environment
Errors
Event Viewer
Files
Folders
Format Operator (-f)
Functions
GPO
GUI
Hardware
Hashtables
Help
History
Jobs
Keyboard
Loops
Math
Memory
Messages
Modules
Microsoft Excel
Microsoft Exchange
Microsoft Outlook
Microsoft SharePoint
Networking
Openfiles
Operators
Parameters
Password
Powershell ISE
Printers
Processes
PSObject
Quest
Random
RDP
Regedit
Regex
Remote
Restore
Scheduled Tasks
Search
SCCM
Services
SMTP
Snapins
Sounds
Static .NET Methods
Strings
System
Try/Catch
Variables
Symantec Vault
Windows10
Windows 2012
Windows Azure
Windows Forms
WMI
XML

System

Como determinar a miña versión de PowerShell?

Como executar PowerShell noutra versión para ter compatibilidade con versións anteriores?
powershell.exe -Version 2.0

Como requirir unha versión mínima de PowerShell (3.0 e superior) nun script con PowerShell?
#Requires -Version 3.0

Como esixir privilexios de administrador para un script con PowerShell?

Como comprobar os parámetros dun script con PowerShell?
help -Name .\Get-ExchangeEnvironmentReport.ps1 -Full

Como obter información sobre o usuario actual con PowerShell?
[Security.Principal.WindowsIdentity]::GetCurrent()

Como crear, editar e volver a cargar un perfil con PowerShell?

Como facer unha pausa de 5 segundos/minutos nun script con PowerShell?
Start-Sleep -Seconds 5
Start-Sleep -Seconds 300 # 5 minutes

Como obter a hora do último inicio de sistema con PowerShell?
(Get-CimInstance -ClassName win32_operatingsystem).LastBootUpTime

Como obter os aceleradores de tipo con PowerShell?

Como listar os programas de inicio con PowerShell?

Como desinstalar unha aplicación con PowerShell?

Como facer unha captura de pantalla de toda a área de traballo ou dunha ventá activa con PowerShell?
Take-ScreenShot -Screen -File 'C:\scripts\screenshot.png' -Imagetype JPEG
Repository : Take-ScreenShot

Como obter o número de mensaxes das colas MSMQ con PowerShell?

Como configurar a directiva de execución con PowerShell?

Como crear un atallo con PowerShell?

Como agregar ou quitar un programa da barra de tarefas con PowerShell?

Como abrir unha ventá do Explorador de Windows con PowerShell?
[Diagnostics.Process]::Start('explorer.exe')
Invoke-Item -Path C:\Windows\explorer.exe

Como listar os controladores de dispositivo con PowerShell?
Get-WmiObject -Class Win32_PnPSignedDriver
Get-WindowsDriver -Online -All
driverquery.exe

Como crear un GUID con PowerShell?

Como obter a localización do directorio temporal para o usuario actual con PowerShell?
[System.IO.Path]::GetTempPath()

Como xuntar unha ruta e unha ruta secundaria para formar unha única ruta con PowerShell?
Join-Path -Path C:\ -ChildPath \windows

Como listar todas as cmdlets “Get-*” con PowerShell?
Get-Command -Verb Get

Como listar as carpetas especiais de sistema con PowerShell?

Como montar arquivos ISO/VHD con PowerShell?
Mount-DiskImage 'D:\ISO\file.iso' # ISO
Mount-DiskImage 'D:\VHD\file.vhd' # VHD

Como comprobar as versións do .NET Framework instaladas con PowerShell?

Como comprobar se a versión 4.5 de .NET Framework está instalada con PowerShell?
(Get-ItemProperty -Path 'HKLM:\Software\Microsoft\NET Framework Setup\NDP\v4\Full' -EA 0).Version -like '4.5*'

Como iniciar e deter unha transcrición (para crear un rexistro da sesión de PowerShell) con PowerShell?
Start-Transcript -Path 'C:\scripts\transcript.txt
Stop-Transcript

Como cambiar o directorio actual a unha ubicación específica con PowerShell?
Set-Location -Path 'C:\scripts'

Como limpar a pantalla con PowerShell?
Clear-Host
cls # Alias

Como cambiar a resolución de pantalla con PowerShell?
Set-DisplayResolution -Width 1280 -Height 1024 -Force # Windows 2012

Como poñer a ventá como “pantalla completa” co PowerShell?
mode.com 300

Como obter as dimensións (ancho e alto) dunha imaxe con PowerShell?

Como obter a clave de produto de Windows con PowerShell?

Perfmon

Como obter o actual “% de tempo do procesador” (promedio) nos últimos 5 segundos (10 veces) con PowerShell?
(Get-Counter '\Processor(_total)\% Processor Time' -SampleInterval 5 -MaxSamples 10).CounterSamples.CookedValue

Assemblies

Como cargar ensamblaxes con PowerShell?

Como comprobar as ensamblaxes .NET actuais cargadas con PowerShell?

Como atopar a ruta do GAC (Global Assembly Cache) con PowerShell?

Clipboard

Como copiar os resultados ao portapapeis con PowerShell?

Como obter o contido do portapapeis con PowerShell?
Add-Type -AssemblyName PresentationCore
[Windows.Clipboard]::GetText()

Hotfixes

Como obter as revisións instaladas con PowerShell?
Get-HotFix -ComputerName $computer

Como obter as revisións instaladas antes/despois dunha data concreta con PowerShell?
Get-HotFix | Where-Object -FilterScript { $_.InstalledOn -lt ([DateTime]'01/01/2015') } # Before 01/01/2015
Get-HotFix | Where-Object -FilterScript {$_.InstalledOn -gt ([DateTime]'01/01/2015')} # After 01/01/2015

Como comprobar se unha revisión foi instala con PowerShell?
Get-HotFix -Id KB2965142

Como obter as revisións instaladas nun equipo remoto con PowerShell?
Get-HotFix -ComputerName $computer

Pagefile

Como obter información sobre o arquivo de paxinación con PowerShell?
Get-WmiObject -Class Win32_PageFileusage | Select-Object -Property Name, CurrentUsage, AllocatedBaseSize, PeakUsage, InstallDate

Como obter o tamaño recomendado (MB) para o ficheiro de paxinación con PowerShell?
[Math]::Truncate(((Get-WmiObject -Class Win32_ComputerSystem).TotalPhysicalMemory) / 1MB) * 1.5

Como crear un ficheiro de paxinación (4096 MB) na unidade (D:) con PowerShell?

Como eliminar un ficheiro de paxinación na unidade (C:) con PowerShell?

Maintenance

Como comprobar a fragmentación dunha unidade con PowerShell?

Como comprobar o espazo en disco das unidades con PowerShell?

Up


Files

Como abrir un arquivo con PowerShell?
Invoke-Item -Path 'C:\scripts\file.txt'
.'C:\scripts\file.txt'

Como ler un arquivo con PowerShell?
Get-Content -Path 'C:\scripts\file.txt'
gc "C:\scripts\file.txt" # Alias

Como escribir a saída a un ficheiro con PowerShell?
'Line1', 'Line2', 'Line3' | Out-File -FilePath 'C:\scripts\file.txt'
'Line1', 'Line2', 'Line3' | Add-Content -Path file.txt

Como obter o nome do ficheiro de script actual con PowerShell?
$MyInvocation.MyCommand.Path

Como comprimir arquivos con PowerShell?
Add-Type -AssemblyName 'System.IO.Compression.Filesystem'
[System.IO.Compression.ZipFile]::CreateFromDirectory($folder,$fileZIP)

Como descomprimir arquivos con PowerShell?
Add-Type -AssemblyName 'System.IO.Compression.Filesystem'
[System.IO.Compression.ZipFile]::ExtractToDirectory($fileZIP, $folder)

Como ver os arquivos nun arquivo ZIP con PowerShell?
Add-Type -AssemblyName 'System.IO.Compression.Filesystem'
[System.IO.Compression.ZipFile]::OpenRead($fileZIP)

Como visualizar o tamaño dun ficheiro en KB con PowerShell?
(Get-ChildItem -Path .\winsrv.dll).Length /1KB
(Get-ChildItem -Path .\winsrv.dll).Length /1MB
(Get-ChildItem -Path .\winsrv.dll).Length /1GB

Como atopar arquivos de máis ou de menos de 1 GB con PowerShell?

Como visualizar o nome dun ficheiro sen a extensión con PowerShell?
[System.IO.Path]::GetFileNameWithoutExtension('C:\Windows\system32\calc.exe') # Return calc

Como visualizar a extensión dun arquivo con PowerShell?
[System.IO.Path]::GetExtension('C:\scripts\file.txt') # Return .txt

Como obter a versión dun arquivo con PowerShell?

Como obter o valor hash dun arquivo con PowerShell?
(Get-FileHash $file).Hash

Como obter a suma de verificación MD5/SHA1 dun arquivo con PowerShell?
Get-FileHash $file -Algorithm MD5
Get-FileHash $file -Algorithm SHA1

Como visualizar arquivos ocultos con PowerShell?

Como comprobar se un arquivo ten unha extensión con PowerShell?

Como configurar un ficheiro como “Só de lectura” con PowerShell?
Set-ItemProperty -Path .\file.txt -Name IsReadOnly -Value $true

Como cambiar o atributo “LastWriteTime” dun arquivo á semana pasada con PowerShell?
Set-ItemProperty -Path .\file.txt -Name LastWriteTime -Value ((Get-Date).AddDays(-7))
If not working, use Nirsoft tool: BulkFileChanger.

Como crear un novo arquivo con PowerShell?
New-Item -ItemType File -Path 'C:\scripts\file.txt' -Value 'FirstLine'

Como cambiar o nome dun ficheiro con PowerShell?
Rename-Item -Path 'C:\scripts\file.txt' -NewName 'C:\scripts\powershellguru2.txt'

Como renomear por lotes/moreas múltiples arquivos con PowerShell?
Get-ChildItem -Path C:\scripts\txt | Rename-Item -NewName { $_.Name -replace ' ', '_' }

Como eliminar un ficheiro con PowerShell?
Remove-Item -Path 'C:\scripts\file.txt'

Como amosar as últimas 10 liñas dun ficheiro con PowerShell?
Get-Content -Path 'C:\scripts\log.txt' -Tail 10

Como desbloquear varios arquivos dunha carpeta con PowerShell?
Get-ChildItem -Path 'C:\scripts\Modules' | Unblock-File

Como eliminar liñas baleiras dun arquivo con PowerShell?
(Get-Content -Path file.txt) | Where-Object -FilterScript {$_.Trim() -ne '' } | Set-Content -Path file.txt

Como comprobar se existe un ficheiro con PowerShell?

Como obter o arquivo máis novo/antigo creado nunha carpeta con PowerShell?

Como eliminar as liñas duplicadas nun arquivo con PowerShell?

Como obter arquivos creados fai máis ou menos de 1 mes nunha carpeta con PowerShell?

Como obter arquivos creados fai máis ou menos de 1 ano nunha carpeta con PowerShell?

Como exportar o valor dunha variable a un ficheiro con PowerShell?
Set-Content -Path file.txt -Value $variable

Como contar o número de arquivos (*.txt) nunha carpeta con PowerShell?

Como buscar unha cadea dentro de varios arquivos con PowerShell?
Select-String -Path 'C:\*.txt' -Pattern 'Test'

Como amosar a primeira/última liña dun arquivo con PowerShell?

Como visualizar un número de liña específico nun ficheiro con PowerShell?

Como contar o número de liñas dun ficheiro con PowerShell?

Como contar o número de caracteres e palabras dun ficheiro con PowerShell?

Como descargar un arquivo con PowerShell?
Invoke-WebRequest -Uri 'http://www.nirsoft.net/utils/searchmyfiles.zip' -OutFile 'C:\tools\searchmyfiles.zip'

Como amosar a ruta completa dun ficheiro con PowerShell?
Resolve-Path -Path .\script.ps1 # Return C:\Scripts\script.ps1

Copy

Como copiar un ficheiro nunha carpeta con PowerShell?
Copy-Item -Path 'C:\source\file.txt' -Destination 'C:\destination'

Como copiar un ficheiro en varias carpetas con PowerShell?

Como copiar varios ficheiros nunha carpeta con PowerShell?
Get-ChildItem -Path 'C:\source' -Filter *.txt | Copy-Item -Destination 'C:\destination'

Up


Active Directory

Domain & Forest

Computers

Groups

Organizational Unit (OU)

Users

Domain & Forest

Como atopar os servidores de catálogo global no Active Directory con PowerShell?
[System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest().GlobalCatalogs

Como atopar sitios en Active Directory con PowerShell?
[System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest().Sites

Como atopar o controlador de dominio actual con PowerShell?
(Get-ADDomainController).HostName

Como atopar todos os controladores de dominio dentro dun dominio con PowerShell?

Como atopar os erros de replicación de AD con PowerShell?
Get-ADReplicationFailure dc02.domain.com # Windows 8 and 2012

Como atopar o tempo de vida do obxecto de desfeito para o bosque no Active Directory con PowerShell?

Como obter detalles do bosque/dominio no Active Directory con PowerShell?

Como obter a ruta do colector “Obxectos eliminados” no Active Directory con PowerShell?
(Get-ADDomain).DeletedObjectsContainer

Como activar a funcionalidade de reciclaxe AD no Active Directory con PowerShell?

Como restaurar unha conta AD da papeleira de reciclaxe no Active Directory con PowerShell?
Get-ADObject -Filter 'samaccountname -eq "powershellguru"' -IncludeDeletedObjects | Restore-ADObject

Como atopar os roles FSMO con PowerShell?

Como conectarse a un controlador de dominio específico con PowerShell?
Get-ADUser -Identity $user -Server 'serverDC01'

Como obter o servidor de sesión actual con PowerShell?

Como executar “gpupdate” nun equipo con PowerShell?
Invoke-GPUpdate -Computer $computer -Force -RandomDelayInMinutes 0 # Windows 2012

Groups

Como crear un novo grupo en Active Directory con PowerShell?

Como eliminar un grupo en Active Directory con PowerShell?
Remove-ADGroup -Identity 'PowershellGuru'

Como engadir un usuario a un grupo no Active Directory con PowerShell?
Add-ADGroupMember "Powershell Guru" -Members powershellguru

Como eliminar un usuario dun grupo no Active Directory con PowerShell?
Remove-ADGroupMember 'Powershell Guru' -Members powershellguru

Como atopar grupos baleiros (sen membros) no Active Directory con PowerShell?
Get-ADGroup -Filter * -Properties Members | Where-Object -FilterScript {-not $_.Members}

Como contar grupos baleiros (sen membros) no Active Directory con PowerShell?
(Get-ADGroup -Filter * -Properties Members | Where-Object -FilterScript {-not $_.Members}).Count

Como obter os membros dun grupo no Active Directory con PowerShell?

Como obter os membros dun grupo con membros recursivos no Active Directory con PowerShell?

Como contar o número de membros dun grupo con/sen membros recursivos no Active Directory con PowerShell?

Users

Como empregar caracteres comodín no filtro de “Get-ADUser” no Active Directory con PowerShell?

Como mover un usuario a outro OU no Active Directory con PowerShell?
Move-ADObject -Identity $dn -TargetPath 'OU=myOU,DC=domain,DC=com'

Como atopar todos os membros que son (Aniñados) para un usuario con PowerShell?
Get-ADGroup -LDAPFilter "(member:1.2.840.113556.1.4.1941:=$($dn))"

Como obter os membros (nome curto/truncado) para un usuario con PowerShell?
(Get-ADUser $user -Properties MemberOf).MemberOf | ForEach-Object -Process {($_ -split ',')[0].Substring(3)} | Sort-Object

Como cambiar o nome (FullName), nome amosado (DisplayName), Nome de pila (FirstName), e Apelidos (LastName) nunha conta de usuario no Active Directory con PowerShell?

Como cambiar a Descrición, Oficina e Número de Teléfono dunha conta de usuario no Active Directory con PowerShell?
Set-ADUser $samAccountName -Description 'IT Consultant' -Office 'Building B' -OfficePhone '12345'

Como establecer a data de caducidade a “31/12/2015” ou “Nunca” nunha conta de usuario no Active Directory con PowerShell?

Como desbloquear unha conta de usuario no Active Directory con PowerShell?
Unlock-ADAccount $samAccountName

Como activar/desactivar unha conta de usuario no Active Directory con PowerShell?

Como eliminar unha conta de usuario no Active Directory con PowerShell?
Remove-ADUser $samAccountName

Como restablecer un contrasinal para unha conta de usuario no Active Directory con PowerShell?

Como restablecer un contrasinal para varias contas de usuario (de xeito masivo) no Active Directory con PowerShell?

Como atopar o propietario dun ficheiro no Active Directory con PowerShell?

Como atopar a UO (Unidade Organizativa) para un usuario no Active Directory con PowerShell?
[regex]::match("$((Get-ADUser $user -Properties DistinguishedName).DistinguishedName)",'(?=OU=)(.*\n?)').value

Como atopar as contas de usuario desactivadas no Active Directory con PowerShell?

Como atopar as contas de usuario caducadas no Active Directory con PowerShell?
Search-ADAccount -AccountExpired

Como atopar a contas de usuario bloqueadas no Active Directory con PowerShell?
Search-ADAccount -LockedOut

Como atopar o SID dunha conta de usuario en Active Directory con PowerShell?
(Get-ADUser $user -Properties SID).SID.Value

Como converter un nome de usuario a SID no Active Directory con PowerShell?

Como converter un SID a nome de usuario en Active Directory con PowerShell?

Como separar en partes o Nome Distinto dunha conta de usuario en Active Directory con PowerShell?

Como atopar a data de creación/modificación dunha conta de usuario en Active Directory con PowerShell?
Get-ADUser -Identity $user -Properties whenChanged, whenCreated | Format-List -Property whenChanged, whenCreated

Como visualizar as propiedades opcionais e obrigatorias para a clase “Usuario” no Active Directory con PowerShell?

Como obter a ruta LDAP para un usuario no Active Directory con PowerShell?

Como cambiar o CN (Nome Canónico) para un usuario no Active Directory con PowerShell?
Rename-ADObject $((Get-ADUser $user -Properties DistinguishedName).DistinguishedName) -NewName 'Test Powershell'

Como obter a Unidade Organizativa (OU) pai dun usuario no Active Directory con PowerShell?

Como obter o propietario dun usuario (quen creou a conta) no Active Directory con PowerShell?

Como converter o atributo PwdLastSet para un usuario no Active Directory con PowerShell?

Computers

Como comprobar a canle segura entre o equipo local e o dominio con PowerShell?
Test-ComputerSecureChannel

Como arranxar a canle segura entre o equipo local e o dominio con PowerShell?
Test-ComputerSecureChannel -Repair

Como desactivar unha conta de equipo no Active Directory con PowerShell?
Disable-ADAccount $computer

Como atopar equipos con sistemas operativos específicos no Active Directory con PowerShell?

Organizational Unit (OU)

Como crear unha Unidade Organizativa (OU) no Active Directory con PowerShell?
New-ADOrganizationalUnit -Name 'TEST' -Path 'DC=domain,DC=com'

Como obter os detalles da Unidade Organizativa (OU) no Active Directory con PowerShell?
Get-ADOrganizationalUnit 'OU=TEST,DC=domain,DC=com' -Properties *

Como cambiar a descrición dunha Unidade Organizativa (OU) no Active Directory con PowerShell?
Set-ADOrganizationalUnit 'OU=TEST,DC=domain,DC=com' -Description 'My description'

Como activar/desactivar unha Unidade Organizativa (OU) dunha eliminación accidental no Active Directory con PowerShell?

Como activar o borrado accidental para toda a Unidade Organizativa (OU) no Active Directory con PowerShell?

Como eliminar unha Unidade Organizativa (OU) protexida contra borrado accidental no Active Directory con PowerShell?

Como converter un Nome Distinguido dunha Unidade Organizativa (OU) a un Nome Canónico no Active Directory con PowerShell?

Como listar Unidades Organizativas baleiras (OUs) con PowerShell?

Como obter o administrador dun grupo con PowerShell?
(Get-ADGroup $dn -Properties Managedby).Managedby

Up


Regex (Regular Expression)

Como extraer un enderezo IP v4 (80.80.228.8) con Expresións Regulares con PowerShell?
$example = 'The IP address is 80.80.228.8'
$ip = [regex]::match($example,'\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b').value

Como extraer un enderezo MAC (C0-D9-62-39-61-2D) con separador “-” con Expresións Regulares con PowerShell?
$example = 'The MAC address is C0-D9-62-39-61-2D'
$mac = [regex]::match($example,'([0-9A-F]{2}[-]){5}([0-9A-F]{2})').value

Como extraer un enderezo MAC (C0:D9:62:39:61:2D) con separador “:” con Expresións Regulares con PowerShell?
$example = 'The MAC address is C0:D9:62:39:61:2D'
$mac = [regex]::match($example,'((\d|([a-f]|[A-F])){2}:){5}(\d|([a-f]|[A-F])){2}').value

Como extraer unha data (10/02/2015) con Expresións Regulares con PowerShell?
$example = 'The date is 10/02/2015'
$date = [regex]::match($example,'(\d{2}\/\d{2}\/\d{4})').value

Como extraer un URL (www.powershell-guru.com) con Expresións Regulares con PowerShell?
$example = 'The URL is www.powershell-guru.com'
$url = [regex]::match($example,'[a-z]+[:.].*?(?=\s)').value

Como extraer un correo electrónico (user@domain.com) con Expresións Regulares con PowerShell?
$example = 'The email is user@domain.com'
$email = [regex]::match($example,'(?i)\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b').value

Como extraer “guru” da cadea de exemplo con Expresións Regulares con PowerShell?
$example = 'www.powershell-guru.com'
[regex]::match($example,'(?<=-)(.*\n?)(?=.com)').value

Como extraer “guru.com” dende a cadea de exemplo con Expresións Regulares con PowerShell?
$example = 'www.powershell-guru.com'
[regex]::match($example,'(?<=-)(.*\n?)(?<=.)').value

Como extraer “powershell-guru.com” dende a cadea de exemplo con Expresións Regulares con PowerShell?
$example = 'www.powershell-guru.com'
[regex]::match($example,'(?<=www.)(.*\n?)').value

Como extraer “123” dende a cadea de exemplo con Expresións Regulares con PowerShell?
$example = 'Powershell123'
[regex]::match($example,'(\d+)').value

Como extraer o “$” (símbolo do dólar) dende a cadea de exemplo con Expresións Regulares con PowerShell?
$example = 'Powershell`$123'
[regex]::match($example,'(\$)').value

Como substituír un caracter (*.com) por outro (*.fr) nunha cadea con Expresións Regulares con PowerShell?
$example = 'www.powershell-guru.com'
[regex]::Replace($example, '.com','.fr')

Como escapar dunha cadea con Expresións Regulares con PowerShell?
[regex]::Escape('\\server\share')

Up


Memory

Como forzar ao recolector de lixo a facer unha colección de memoria con PowerShell?
[System.GC]::Collect()
[System.GC]::WaitForPendingFinalizers()

Como obter o tamaño da memoria RAM dun ordenador con PowerShell?

Up


Date

Como obter a data actual con PowerShell?
Get-Date
[Datetime]::Now

Como amosar a data en formatos diferentes con PowerShell?

Como converter unha data (Datetime) nunha data (String) con PowerShell?
$datetimeToString = '{0:dd/MM/yy}' -f (Get-Date 30/01/2015)
$datetimeToString = (Get-Date 31/01/2015).ToShortDateString()

Como converter unha data (String) nunha data (Datetime) con PowerShell?
$stringToDatetime = [Datetime]::ParseExact('30/01/2015', 'dd/MM/yyyy', $null)

Como calcular a diferenza (número de Días, Horas, Minutos ou Segundos) entre dúas datas con PowerShell?
(New-TimeSpan -Start $dateStart -End $dateEnd).Days
(New-TimeSpan -Start $dateStart -End $dateEnd).Hours
(New-TimeSpan -Start $dateStart -End $dateEnd).Minutes
(New-TimeSpan -Start $dateStart -End $dateEnd).Seconds

Como comparar dúas datas con PowerShell?
(Get-Date 2015-01-01) -lt (Get-Date 2015-01-30) # True
(Get-Date 2015-01-01) -gt (Get-Date 2015-01-30) # False

Como clasificar unha matriz de datas como “Datetime” con PowerShell?
$arrayDate | Sort-Object -Property {$_ -as [Datetime]}

Como iniciar e deter un cronómetro con PowerShell?
$chrono = [Diagnostics.Stopwatch]::StartNew()
$chrono.Stop()
$chrono

Como chegar ao día actual da semana con PowerShell?
(Get-Date).DayOfWeek #Sunday

Como chegar á data de onte con PowerShell?
(Get-Date).AddDays(-1)

Como obter o número de días dun mes (en Febreiro de 2015) con PowerShell?
[DateTime]::DaysInMonth(2015, 2)

Como coñecer un ano bisesto con PowerShell?
[DateTime]::IsLeapYear(2015)

Como listar fusos horarios con PowerShell?
[System.TimeZoneInfo]::GetSystemTimeZones()

Up


Networking

Como codificar (a formato ASCII) e decodificar un URL con PowerShell?

Cales son os equivalentes aos comandos de redes nativas con PowerShell?

Como obter enderezos IP con PowerShell?
Get-NetIPAddress # Windows 8.1 & Windows 2012
Get-NetIPConfiguration # Windows 8.1 & Windows 2012

Como desactivar o enderezo IP v6 (IPv6) con PowerShell?

Como validar un enderezo IP v4 (IPv4) con PowerShell?
if([ipaddress]'10.0.0.1'){'validated'}

Como atopar o enderezo IP externo con PowerShell?

Como atopar o nome de host a partires dun enderezo IP con PowerShell?
([System.Net.Dns]::GetHostEntry($IP)).Hostname

Como atopar o enderezo IP a partires do nome de host con PowerShell?
([System.Net.Dns]::GetHostAddresses($computer)).IPAddressToString

Como atopar o FQDN dun nome de host con PowerShell?
[System.Net.Dns]::GetHostByName($computer).HostName

Como atopar a configuración de rede (Ip, Subrede, Porta de Enlace e DNS) con PowerShell?

Como atopar o enderezo MAC con PowerShell?
Get-CimInstance win32_networkadapterconfiguration | Select-Object -Property Description, Macaddress
Get-WmiObject -Class win32_networkadapterconfiguration | Select-Object -Property Description, Macaddress

Como facer ping un equipo con PowerShell?

Como comprobar se un equipo está conectado a Internet con PowerShell?

Como realizar a busca dun sitio web a través do “whois” con PowerShell?
$whois = New-WebServiceProxy 'http://www.webservicex.net/whois.asmx?WSDL'
$whois.GetWhoIs('powershell-guru.com')

Como obter información dun IP público (Xeolocalización) con PowerShell?

Como comprobar se un porto está aberto/pechado con PowerShell?
New-Object -TypeName Net.Sockets.TcpClient -ArgumentList $computer, 135

Como realizar “tracert” con PowerShell?
Test-NetConnection www.google.com -TraceRoute

Como corrixir un perfil de conexión de rede doméstica con PowerShell?
Get-NetAdapter | Format-Table -Property Name, InterfaceDescription, ifIndex -AutoSize # Windows 8.1
Set-NetConnectionProfile -InterfaceIndex 6 -NetworkCategory Private

Como amosar as conexións de porto TCP con PowerShell?
netstat.exe -ano
Get-NetTCPConnection #Windows 8 and 2012

Como transformar unha URL longa nunha URL curta con PowerShell?
$url = 'www.powershell-guru.com'
$tiny = Invoke-RestMethod -Uri "http://tinyurl.com/api-create.php?url=$url"

Como obter os axustes de proxy con PowerShell?
Get-ItemProperty -Path HKCU:"Software\Microsoft\Windows\CurrentVersion\Internet Settings"

DNS

Como comprobar a caché DNS nun equipo local con PowerShell?
ipconfig.exe /displaydns
Get-DnsClientCache #Windows 8 and 2012

Como borrar a caché DNS nun ordenador local co PowerShell?
ipconfig.exe /flushdns
Start-Process -FilePath ipconfig -ArgumentList /flushdns -WindowStyle Hidden
Clear-DnsClientCache #Windows 8 and 2012

Como borrar a caché DNS en equipos remotos con PowerShell?
Invoke-Command -ScriptBlock {Clear-DnsClientCache} -ComputerName computer01, computer02

Como ler o arquivo de Hosts con PowerShell?
Get-Content -Path 'C:\Windows\system32\drivers\etc\hosts'

Up


Password

Como xerar un contrasinal aleatorio con PowerShell?
[Reflection.Assembly]::LoadWithPartialName('System.Web')
[System.Web.Security.Membership]::GeneratePassword(30,2)

Como cambiar o contrasinal local para un administrador nun servidor remoto con PowerShell?
$admin = [ADSI]('WinNT://server01/administrator,user')
$admin.SetPassword($password)
$admin.SetInfo()

Como atopar a data de caducidade do contrasinal dunha conta en Active Directory con PowerShell?

Up


Printers

Como listar todas as impresoras para un servidor concreto con PowerShell?
Get-WmiObject -Query 'Select * From Win32_Printer' -ComputerName $computer

Como listar todos os portos dun servidor concreto con PowerShell?
Get-WmiObject -Class Win32_TCPIPPrinterPort -Namespace 'root\CIMV2' -ComputerName $computer

Como cambiar o comentario/localización dunha impresora con PowerShell?

Como purgar (cancelar todos os traballos) dunha impresora con PowerShell?
$printer = Get-WmiObject -Class win32_printer -Filter "Name='HP Deskjet 2540 series'"
$printer.CancelAllJobs()

Como imprimir unha páxina de proba nunha impresora con PowerShell?
$printer = Get-WmiObject -Class win32_printer -Filter "Name='HP Deskjet 2540 series'"
$printer.PrintTestPage()

Como obter as colas de impresión das impresoras con PowerShell?

Up


Regedit

Read

Como listar árbores de rexistro con PowerShell?
Get-ChildItem -Path Registry::

Como obter valores de rexistro e tipo de valor con PowerShell?

Como listar subchaves dunha chave de rexistro con PowerShell?

Como listar subchaves dunha chave de rexistro de forma recursiva con PowerShell?
Get-ChildItem -Path 'HKLM:\SYSTEM' -Recurse -ErrorAction SilentlyContinue

Como atopar subchaves cun nome específico con PowerShell?
Get-ChildItem -Path 'HKLM:\SOFTWARE' -Include *Plugin* -Recurse -ErrorAction SilentlyContinue

Como obterr só o nome das subchaves de rexistro con PowerShell?
(Get-ChildItem -Path 'HKLM:\SYSTEM').Name # Return HKEY_LOCAL_MACHINE\SYSTEM\ControlSet
Get-ChildItem -Path 'HKLM:\SYSTEM' -Name # Return ControlSet

Como listar valores de rexistro con PowerShell?
Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion'

Como ler un valor de rexistro específico con PowerShell?
(Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion').ProductName

Como ler un valor de rexistro específico nun equipo remoto con PowerShell?

Write

Como crear unha nova clave de rexistro con PowerShell?
New-Item -Path 'HKCU:\Software\MyApplication'

Como crear un valor de rexistro con PowerShell?
New-ItemProperty -Path 'HKCU:\Software\MyApplication' -Name 'Version' -Value '1.0'

Como modificar un valor de rexistro existente con PowerShell?
Set-ItemProperty -Path 'HKCU:\Software\MyApplication' -Name 'Version' -Value '2.0'

Delete

Como eliminar un valor de rexistro con PowerShell?
Remove-ItemProperty -Path 'HKCU:\Software\MyApplication' -Name 'Version'

Como eliminar unha chave de rexistro con PowerShell?
Remove-Item -Path 'HKCU:\Software\MyApplication' -Force

Test

Como comprobar se unha chave Rexistro existe con PowerShell?
Test-Path -Path 'HKCU:\Software\MyApplication'

Como comprobar se un valor de Rexistro existe con PowerShell?
(Get-Item -Path 'HKCU:\Software\MyApplication').GetValueNames() -contains 'Version'

Up


Strings

Como eliminar caracteres de espazo en branco ao inicio dunha cadea con PowerShell?
$string = ' PowershellGuru'
$string = $string.TrimStart()

Como eliminar caracteres de espazo en branco ao final dunha cadea con PowerShell?
$string = 'PowershellGuru '
$string = $string.TrimEnd()

Como eliminar caracteres de espazo en branco (ao inicio e ao final) dunha cadea con PowerShell?
$string = ' PowershellGuru '
$string = $string.Trim()

Como converter unha cadea de caracteres a maiúsculas con PowerShell?
$string = 'powershellguru'
$string = $string.ToUpper()

Como converter unha cadea a minúsculas con PowerShell?
$string = 'POWERSHELLGURU'
$string = $string.ToLower()

Como seleccionar a subcadea “PowerShell” da cadea “PowerShellGuru” con PowerShell?
$string.Substring(0,10)

Como seleccionar a subcadea “Guru” da cadea “PowerShellGuru” con PowerShell?
$string.Substring(10)

Como seleccionar o número “123” de “PowerShell123Guru” con PowerShell?
$string = 'Powershell123Guru'
[regex]::match($string,'(\d+)').value

Como obter o índice de base cero de “Guru” na cadea “PowerShellGuru” con PowerShell?
$string.IndexOf('Guru') # 10

Como comprobar se unha cadea é nula ou baleira con PowerShell?
$string = $null
$string = ''
[string]::IsNullOrEmpty($string)

Como comprobar se unha cadea é nula, baleira ou consiste só en caracteres de espazo en branco con PowerShell?
$string = $null
$string = ''
$string = ' '
[string]::IsNullOrWhiteSpace($string)

Como comprobar se unha cadea contén unha letra específica con PowerShell?
$string = 'PowershellGuru'
$string.Contains('s')
[regex]::match($string,'s').Success

Como obter a lonxitude dunha cadea con PowerShell?
$string.Length

Como concatenar dúas cadeas con PowerShell?

Como facer coincidir un ou varios corchetes “[ ]” nunha cadea con PowerShell?
$string = '[PowershellGuru]'
$string -match '\[' # Only 1
$string -match '\[(.*)\]' # Several

Como facer coincidir un ou varios parénteses “( )” nunha cadea con PowerShell?
$string = '(PowershellGuru)'
$string -match '\(' # Only 1
$string -match '\((.*)\)' # Several

Como facer coincidir unha ou varias chaves “{ }” nunha cadea con PowerShell?
$string = '{PowershellGuru}'
$string -match '\{' # Only 1
$string -match '\{(.*)\}' # Several

Como facer coincidir un ou varios parénteses angulares “< >” nunha cadea con PowerShell?
$string = ''
$string -match '\<' # Only 1
$string -match "\<(.*)\>" # Several

Como facer coincidir calquera letra en minúscula (abc) nunha cadea con PowerShell?
$string = 'POWERSHELLGURU'
$string -cmatch "^[a-z]*$" #False

Como facer coincidir calquera letra en maiúscula (ABC) nunha cadea con PowerShell?
$string = 'powershellguru'
$string -cmatch "^[A-Z]*$" #False

Como facer coincidir “[p” (p minúsculo) nunha cadea con PowerShell?
$string = '[powershellGuru]'
$string -cmatch '\[[a-z]\w+' #True

Como facer coincidir “[P” (P maiúsculo) nunha cadea con PowerShell?
$string = '[PowershellGuru]'
$string -cmatch '\[[A-Z]\w+' #True

Como substituír unha liña por outra con PowerShell?
$a = 'Line A'
$b = 'Line B'
$a = $a -replace $a, $b

Como converter unha operación de división a unha cadea (porcentaxe) con PowerShell?
(1/2).ToString('P')

Como clasificar cadeas de caracteres que conteñen números con PowerShell?

Como seleccionar a última palabra dunha frase con PowerShell?
$sentence = 'My name is Test Powershell'
$sentence.Split(' ')[-1] # Returns Powershell

Como obter a palabra máis longa dunha frase con PowerShell?
$sentence = 'My name is Test Powershell'
$sentence.Split(' ') | Sort-Object -Property Length | Select-Object -Last 1 # Returns Powershell

Como contar o número de veces que unha cadea está presente dentro dunha frase con PowerShell?
$sentence = 'test test test Powershell'
[regex]::Matches($sentence, 'test').Count # Returns 3

Como copiar cada caracter nunha cadea a un array de caracteres con PowerShell?

Como converter a primeira letra dunha cadea en maiúsculas con PowerShell?

Como encher unha cadea (esquerda ou dereita) con PowerShell?

Como codificar e decodificar unha cadea de caracteres a Base64 con PowerShell?

Como converter un número (a e dende) binario con PowerShell?

Como voltar só á última carpeta pai nunha ruta con PowerShell?

Como voltar só o último elemento nunha ruta con PowerShell?

Up


Math

Como listar os métodos da clase System.Math con PowerShell?
[System.Math] | Get-Member -Static -MemberType Method

Como obter o valor absoluto con PowerShell?
[Math]::Abs(-12) #Returns 12
[Math]::Abs(-12.5) # Returns 12.5

Como obter o ángulo cuxo seno é o número especificado con PowerShell?
[Math]::ASin(1) #Returns 1,5707963267949

Como voltar ao valor límite con PowerShell?
[Math]::Ceiling(1.4) #Returns 2
[Math]::Ceiling(1.9) #Returns 2

Como voltar ao valor mínimo con PowerShell?
[Math]::Floor(1.4) #Returns 1
[Math]::Floor(1.9) #Returns 1

Como obter o logaritmo natural (base e) dun número especificado con PowerShell?
[Math]::Log(4) #Returns 1,38629436111989

Como obter o logaritmo de base 10 dun número especificado con PowerShell?
[Math]::Log10(4) #Returns 0,602059991327962

Como obter o máximo de dous valores con PowerShell?
[Math]::Max(2,4) #Returns 4
[Math]::Max(-2,-4) #Returns -2

Como obter o mínimo de dous valores con PowerShell?
[Math]::Min(2,4) #Returns 2
[Math]::Max(-2,-4) #Returns -4

Como obter un número elevado a unha potencia especificada con PowerShell?
[Math]::Pow(2,4) #Returns 16

Como voltar un valor decimal ao valor enteiro máis próximo con PowerShell?
[Math]::Round(3.111,2) #Returns 3,11
[Math]::Round(3.999,2) #Returns 4

Como obter a parte enteira dun número decimal especificado con PowerShell?
[Math]::Truncate(3.111) #Returns 3
[Math]::Truncate(3.999) #Returns 3

Como obter a raíz cadrada dun número especificado con PowerShell?
[Math]::Sqrt(16) #Returns 4

Como obter a constante PI con PowerShell?
[Math]::Pi #Returns 3,14159265358979

Como obter a base logarítmica natural (constante e) con PowerShell?
[Math]::E #Returns 2,71828182845905

Como comprobar se un número é par ou impar con PowerShell?
[bool]($number%2)

Up


Hashtables

Como crear un táboa hash baleira con PowerShell?
$hashtable = @{}
$hashtable = New-Object -TypeName System.Collections.Hashtable

Como crear unha táboa hash con elementos con PowerShell?

Como crear unha táboa hash ordenada por clave/nome (dicionario ordenado) con elementos con PowerShell?

Como engadir elementos (chave-valor par) a unha táboa hash con PowerShell?
$hashtable.Add('Key3', 'Value3')

Como obter un valor específico dunha táboa hash con PowerShell?
$hashtable.Key1
$hashtable.Get_Item('Key1')

Como obter o valor mínimo dunha táboa hash con PowerShell?

Como obter o valor máximo dunha táboa hash con PowerShell?

Como modificar elementos nunha táboa hash con PowerShell?
$hashtable.Set_Item('Key1', 'Value1Updated')

Como eliminar elementos nunha táboa hash con PowerShell?
$hashtable.Remove('Key1')

Como borrar unha táboa hash con PowerShell?
$hashtable.Clear()

Como comprobar a presenza dunha chave específica/valor nunha táboa hash con PowerShell?
$hashtable.ContainsKey('Key3')
$hashtable.ContainsValue('Value3')

Como clasificar por chave/valor nunha táboa hash con PowerShell?
$hashtable.GetEnumerator() | Sort-Object -Property Name
$hashtable.GetEnumerator() | Sort-Object -Property Value -Descending

Up


Arrays

Como crear unha matriz baleira con PowerShell?
$array = @()
$array = [System.Collections.ArrayList]@()

Como crear unha matriz con elementos con PowerShell?
$array = @('A', 'B', 'C')
$array = 'A', 'B', 'C'
$array = 'a,b,c'.Split(',')
$array = .{$args} a b c
$array = echo a b c

Como engadir elementos a unha matriz con PowerShell?
$array += 'D'
[void]$array.Add('D')

Como modificar un elemento nunha matriz con PowerShell?
$array[0] = 'Z' # 1st item[0]

Como comprobar o tamaño dunha matriz con PowerShell?
$array = 'A', 'B', 'C'
$array.Length # Returns 3

Como recuperar un/varios/todos os elementos nunha matriz con PowerShell?
$array = @('A', 'B', 'C')
$array[0] # One item (A)
$array[0] + $array[2] # Several items (A,C)
$array # All items (A,B,C)

Como eliminar elementos baleiros nunha matriz con PowerShell?
$array = @('A', 'B', 'C', '')
$array = $array.Split('',[System.StringSplitOptions]::RemoveEmptyEntries) | Sort-Object # A,B,C

Como comprobar se un elemento existe nunha matriz con PowerShell?
$array = @('A', 'B', 'C')
'A' | ForEach-Object -Process {$array.Contains($_)} # Returns True
'D' | ForEach-Object -Process {$array.Contains($_)} # Returns False

Como atopar o número do índice dun elemento nunha matriz con PowerShell?
$array = @('A', 'B', 'C')
[array]::IndexOf($array,'A') # Returns 0

Como invertir a orde dos elementos nunha matriz con PowerShell?
$array = @('A', 'B', 'C')
[array]::Reverse($array) # C,B,A

Como xerar un elemento aleatorio dunha matriz con PowerShell?
$array | Get-Random

Como clasificar unha matriz dun xeito ascendente/descendente con PowerShell?
$array = @('A', 'B', 'C')
$array | Sort-Object # A,B,C
$array | Sort-Object -Descending # C,B,A

Como contar o número de elementos dunha matriz con PowerShell?
$array.Count

Como engadir unha matriz a outra con PowerShell?
$array1 = 'A', 'B', 'C'
$array2 = 'D', 'E', 'F'
$array3 = $array1 + $array2 # A,B,C,D,E,F

Como atopar duplicados dunha matriz con PowerShell?
$array = 'A', 'B', 'C', 'C'
($array | Group-Object | Where-Object -FilterScript {$_.Count -gt 1}).Values # Returns C

Como eliminar duplicados dunha matriz con PowerShell?
$array = 'A', 'B', 'C', 'C'
$array = $array | Select-Object -Unique
$array # Returns A,B,C

Como crear unha matriz de elementos que comecen cun prefixo (“user01″,”user02”,… “user10”) con PowerShell?
$array = 1..10 | ForEach-Object -Process { "user$_" }

Up


ACL

Como listar a ACL dun usuario de AD con PowerShell?
(Get-Acl -Path "AD:\$dn").Access

Como listar a ACL dunha carpeta con PowerShell?
(Get-Acl -Path C:\scripts).Access

Como listar entradas de permisos ACL específicos (grupos ou usuarios) dun usuario AD con PowerShell?

Up


Variables

Cales son os tipos de datos máis comúns con PowerShell?

Como atopar os valores mínimos e máximos para algunhas variables de tipo con PowerShell?

Como probar o tipo de datos con PowerShell?

Como crear unha variable Here-String con PowerShell?

Como crear unha variable con PowerShell?
$powershellGuru = 'Hello'

Como crear unha variable constante con PowerShell?
Set-Variable -Name powershellGuru -Value 2015 -Option Constant

Como crear unha variable global con PowerShell?
$Global:powershellGuru = 'Hello'

Como ler unha variable con PowerShell?