DOMANDE FREQUENTI SU POWERSHELL IN ITALIANO

By | April 6, 2015

translated-italian-v2


beta-v2-0


Concept : La domande più frequenti su PowerShell.

È possibile utilizzare questo elenco in diversi modi :

  • Per copiare / incollare i comandi in uno script
  • Per vedere rapidamente la sintassi di un comando specifico
  • Per migliorare la vostra conoscenza tecnica
  • Per scoprire nuovi comandi
  • Per preparare un colloquio di lavoro

Aggiornato
6 ottobre 2015
Autore Steve Renard
Fonte italian.powershell-guru.com
Categorie
75
Domande
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
Powershell v5
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
Windows 2012
Windows Azure
Windows Forms
WMI
XML

System

Come determinare la mia versione di PowerShell?

Come eseguire PowerShell in un’altra versione per renderlo compatibile con le versioni precedenti?
powershell.exe -Version 2.0

Come richiedere una versione minimale PowerShell (3.0 e superiori) in uno script con PowerShell?
#Requires -Version 3.0

Come richiedere privilegi amministrativi per uno script con Powershell?

Come controllare i parametri di uno script con PowerShell?
help -Name .\Get-ExchangeEnvironmentReport.ps1 -Full

Come ottenere informazioni per l’utente corrente con Powershell?
[Security.Principal.WindowsIdentity]::GetCurrent()

Come creare, modificare e caricare un profilo con PowerShell?

Come fare una pausa di 5 secondi / minuti in uno script con PowerShell?
Start-Sleep -Seconds 5
Start-Sleep -Seconds 300 # 5 minutes

Come ottenere la data dell’ultimo accesso di Powershell?
(Get-CimInstance -ClassName win32_operatingsystem).LastBootUpTime

Come ottenere i type accelerators con Powershell?

Come elencare i programmi di avvio con PowerShell?

Come disinstallare un’applicazione con PowerShell?

Come scattare uno screenshot del desktop o di una finestra attiva con Powershell?
Take-ScreenShot -Screen -File 'C:\scripts\screenshot.png' -Imagetype JPEG
Repository : Take-ScreenShot

Come ottenere il numero di messaggi delle code MSMQ con PowerShell?

Come impostare i criteri di esecuzione con Powershell?

Come creare una scorciatoia da tastiera con PowerShell?

Come bloccare o sbloccare un programma dalla barra delle applicazioni con Powershell?

Come aprire una finestra di Explorer con PowerShell?
[Diagnostics.Process]::Start('explorer.exe')
Invoke-Item -Path C:\Windows\explorer.exe

Come elencare i driver di periferica con PowerShell?
Get-WmiObject -Class Win32_PnPSignedDriver
Get-WindowsDriver -Online -All
driverquery.exe

Come creare un GUID con Powershell?

Come ottenere il percorso della directory temporanea per l’utente corrente con Powershell?
[System.IO.Path]::GetTempPath()

Come unire un percorso ed un sotto-percorso in un unico percorso con PowerShell?
Join-Path -Path C:\ -ChildPath \windows

Come elencare tutti i cmdlet “Get- *” con Powershell?
Get-Command -Verb Get

Come elencare le cartelle di sistema speciali con PowerShell?

Come montare i file / VHD ISO con Powershell?
Mount-DiskImage 'D:\ISO\file.iso' # ISO
Mount-DiskImage 'D:\VHD\file.vhd' # VHD

Come controllare le versioni installate di .NET Framework con Powershell?

Come controllare se la versione di .NET Framework 4.5 è installata con Powershell?
(Get-ItemProperty -Path 'HKLM:\Software\Microsoft\NET Framework Setup\NDP\v4\Full' -EA 0).Version -like '4.5*'

Come avviare e fermare una trascrizione (per memorizzare la sessione di Windows PowerShell) con Powershell?
Start-Transcript -Path 'C:\scripts\transcript.txt
Stop-Transcript

Come cambiare la directory corrente in una posizione specifica con Powershell?
Set-Location -Path 'C:\scripts'

Come cancellare lo schermo con Powershell?
Clear-Host
cls # Alias

Come modificare la risoluzione dello schermo con Powershell?
Set-DisplayResolution -Width 1280 -Height 1024 -Force # Windows 2012

Come impostare la finestra a tutto schermo con Powershell?
mode.com 300

Come ottenere le dimensioni (larghezza e altezza) di una foto con Powershell?

Come ottenere il codice Product Key di Windows con PowerShell?

Perfmon

Come ottenere il valore attuale del “% Tempo del processore” (media) degli ultimi 5 secondi (10 volte) con PowerShell?
(Get-Counter '\Processor(_total)\% Processor Time' -SampleInterval 5 -MaxSamples 10).CounterSamples.CookedValue

Assemblies

Come caricare insiemi con PowerShell?

Come controllare gli insiemi .NET attuali caricati con Powershell?

Come trovare il percorso GAC (Global Assembly Cache) con Powershell?

Clipboard

Come copiare i risultati negli appunti con PowerShell?

Come ottenere il contenuto della clipboard con Powershell?
Add-Type -AssemblyName PresentationCore
[Windows.Clipboard]::GetText()

Hotfixes

Come ottenere gli aggiornamenti rapidi installati con Powershell?
Get-HotFix -ComputerName $computer

Come ottenere gli aggiornamenti rapidi installati prima / dopo una data specifica 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

Come controllare se un aggiornamento è installato con Powershell?
Get-HotFix -Id KB2965142

Come ottenere gli aggiornamenti installati su un computer remoto con Powershell?
Get-HotFix -ComputerName $computer

Pagefile

Come ottenere informazioni sul file di Paging con Powershell?
Get-WmiObject -Class Win32_PageFileusage | Select-Object -Property Name, CurrentUsage, AllocatedBaseSize, PeakUsage, InstallDate

Come ottenere la dimensione consigliata (MB) per il file di Paging con Powershell?
[Math]::Truncate(((Get-WmiObject -Class Win32_ComputerSystem).TotalPhysicalMemory) / 1MB) * 1.5

Come creare un file di paging (4096 MB) nell’unità D: con Powershell?

Come cancellare un file di paging nell’unità C: con Powershell?

Maintenance

Come controllare la frammentazione di un disco con PowerShell?

Come controllare lo spazio delle unità sul disco con Powershell?

Up


Files

Come aprire un file con PowerShell?
Invoke-Item -Path 'C:\scripts\file.txt'
.'C:\scripts\file.txt'

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

Come scrivere l’output di un file con PowerShell?

Come ottenere il nome completo del file di script corrente con Powershell?
$MyInvocation.MyCommand.Path

Come decomprimere / zippare i file con PowerShell?

Come decomprimere / estrarre i file con PowerShell?

Come visualizzare i file in un archivio ZIP con Powershell?
Add-Type -AssemblyName 'System.IO.Compression.Filesystem'
[System.IO.Compression.ZipFile]::OpenRead($fileZIP)

Come visualizzare le dimensioni di un file in KB con Powershell?
(Get-ChildItem -Path .\winsrv.dll).Length /1KB
(Get-ChildItem -Path .\winsrv.dll).Length /1MB
(Get-ChildItem -Path .\winsrv.dll).Length /1GB

Come trovare i file superiori o inferiori ad 1 GB con Powershell?

Come visualizzare il nome di un file senza estensione con Powershell?
[System.IO.Path]::GetFileNameWithoutExtension('C:\Windows\system32\calc.exe') # Return calc

Come visualizzare l’estensione di un file con PowerShell?
[System.IO.Path]::GetExtension('C:\scripts\file.txt') # Return .txt

Come ottenere la versione di un file con PowerShell?

Come ottenere l’hash di un file Powershell?
(Get-FileHash $file).Hash

Come ottenere il checksum MD5 / SHA1 di un file con PowerShell?
Get-FileHash $file -Algorithm MD5
Get-FileHash $file -Algorithm SHA1

Come visualizzare i file nascosti con Powershell?

Come verificare se un file ha un’estensione con Powershell?

Come impostare un file come file di sola lettura con Powershell?
Set-ItemProperty -Path .\file.txt -Name IsReadOnly -Value $true

Come modificare l’attributo LastWriteTime alla settimana scorsa per un file con PowerShell?
Set-ItemProperty -Path .\file.txt -Name LastWriteTime -Value ((Get-Date).AddDays(-7))
If not working, use Nirsoft tool: BulkFileChanger.

Come creare un nuovo file con Powershell?
New-Item -ItemType File -Path 'C:\scripts\file.txt' -Value 'FirstLine'

Come rinominare un file con Powershell?
Rename-Item -Path 'C:\scripts\file.txt' -NewName 'C:\scripts\powershellguru2.txt'

Come rinominare (bulk / batch) file multipli in con Powershell?
Get-ChildItem -Path C:\scripts\txt | Rename-Item -NewName { $_.Name -replace ' ', '_' }

Come cancellare un file con PowerShell?
Remove-Item -Path 'C:\scripts\file.txt'

Come visualizzare le ultime 10 righe di un file con Powershell?
Get-Content -Path 'C:\scripts\log.txt' -Tail 10

Come sbloccare i diversi file di una cartella con PowerShell?
Get-ChildItem -Path 'C:\scripts\Modules' | Unblock-File

Come rimuovere le righe vuote da un file con Powershell?
(Get-Content -Path file.txt) | Where-Object -FilterScript {$_.Trim() -ne '' } | Set-Content -Path file.txt

Come verificare l’esistenza di un file con Powershell?

Come ottenere il file più recente / antico creato in una cartella con PowerShell?

Come rimuovere le righe doppie da un file con Powershell?

Come ottenere i file creati in una cartella da più / meno di 1 mese con Powershell?

Come ottenere i file creati in una cartella da più / meno di 1 anno con PowerShell?

Come esportare il valore di una variabile in un file con PowerShell?
Set-Content -Path file.txt -Value $variable

Come contare il numero di file (* .txt) in una cartella con PowerShell?

Come cercare una stringa all’interno di file multipli con PowerShell?
Select-String -Path 'C:\*.txt' -Pattern 'Steve'

Come visualizzare la prima / ultima riga di un file con PowerShell?

Come visualizzare uno specifico numero di riga di un file con PowerShell?

Come contare il numero di righe di un file con PowerShell?

Come contare il numero di caratteri e di parole di un file con PowerShell?

Come scaricare un file con Powershell?
Invoke-WebRequest -Uri 'http://www.nirsoft.net/utils/searchmyfiles.zip' -OutFile 'C:\tools\searchmyfiles.zip'

Come visualizzare il percorso completo di un file con Powershell?
Resolve-Path -Path .\script.ps1 # Return C:\Scripts\script.ps1

Copy

Come copiare un file in una cartella con PowerShell?
Copy-Item -Path 'C:\source\file.txt' -Destination 'C:\destination'

Come copiare un file in più cartelle con PowerShell?

Come copiare più file in una cartella 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

Come trovare i server del catalogo globale su Active Directory con PowerShell?
[System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest().GlobalCatalogs

Come trovare siti su Active Directory con PowerShell?
[System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest().Sites

Come trovare il controller di dominio attuale con Powershell?

Come trovare il controller di dominio completo in un dominio con PowerShell?

Come trovare i fallimenti di replica AD con PowerShell?
Get-ADReplicationFailure dc02.domain.com # Windows 8 and 2012

Come trovare la durata di rimozione per la foresta su Active Directory con Powershell?

Come ottenere i dettagli di una foresta / dominio su Active Directory con Powershell?

Come ottenere il percorso del contenitore “Oggetti eliminati” su Active Directory con Powershell?
(Get-ADDomain).DeletedObjectsContainer

Come abilitare la funzione Cestino AD su Active Directory con Powershell?

Come ripristinare un account AD dal Cestino su Active Directory con Powershell?
Get-ADObject -Filter 'samaccountname -eq "powershellguru"' -IncludeDeletedObjects | Restore-ADObject

Come trovare i ruoli di FSMO con PowerShell?

Come connettersi ad uno specifico controller di dominio con Powershell?
Get-ADUser -Identity $user -Server 'serverDC01'

Come ottenere il server di accesso corrente con Powershell?

Come eseguire “gpupdate” su un computer con PowerShell?
Invoke-GPUpdate -Computer $computer -Force -RandomDelayInMinutes 0 # Windows 2012

Groups

Come creare un nuovo gruppo su Active Directory con Powershell?

Come rimuovere un gruppo su Active Directory con Powershell?
Remove-ADGroup -Identity 'PowershellGuru'

Come aggiungere un utente ad un gruppo su Active Directory con Powershell?
Add-ADGroupMember "Powershell Guru" -Members powershellguru

Come rimuovere un utente da un gruppo su Active Directory con Powershell?
Remove-ADGroupMember 'Powershell Guru' -Members powershellguru

Come trovare gruppi vuoti (senza componenti) su Active Directory con Powershell?
Get-ADGroup -Filter * -Properties Members | Where-Object -FilterScript {-not $_.Members}

Come contare i gruppi vuoti (senza componenti) su Active Directory con Powershell?
(Get-ADGroup -Filter * -Properties Members | Where-Object -FilterScript {-not $_.Members}).Count

Come ottenere i componenti di un gruppo su Active Directory con PowerShell?

Come ottenere i componenti di un gruppo con componenti ricorsivi su Active Directory con PowerShell?

Come contare il numero di componenti di un gruppo con / senza membri ricorsivi su ​​Active Directory con PowerShell?

Users

Come utilizzare un carattere jolly nel filtro di “Get-ADUser” su Active Directory con Powershell?

Come spostare un utente ad un’altra OU su Active Directory con Powershell?
Move-ADObject -Identity $dn -TargetPath 'OU=myOU,DC=domain,DC=com'

Come trovare tutti i “MemberOf” (Nested -annidati) di un utente con Powershell?
Get-ADGroup -LDAPFilter "(member:1.2.840.113556.1.4.1941:=$($dn))"

Come ottenere il MemberOF (nome breve / troncato) di un utente con Powershell?
(Get-ADUser -Identity $user -Properties MemberOf).MemberOf | ForEach-Object -Process {($_ -split ',')[0].Substring(3)} | Sort-Object

Come rinominare il Nome Completo (Fullname), NomeVisualizzato, Nome (FirstName) e Cognome (LastName) per un account utente su Active Directory con Powershell?

Come modificare la Descrizione, l’Ufficio ed il numero di Telefono di un account utente su Active Directory con Powershell?
Set-ADUser $samAccountName -Description 'IT Consultant' -Office 'Building B' -OfficePhone '12345'

Come impostare la data di scadenza al “31/12/2015” o “Mai” di un account utente su Active Directory con Powershell?

Come sbloccare un account utente su Active Directory con Powershell?
Unlock-ADAccount $samAccountName

Come abilitare / disabilitare un account utente su Active Directory con Powershell?

Come rimuovere un account utente su Active Directory con Powershell?
Remove-ADUser $samAccountName

Come reimpostare una password per un account utente su Active Directory con Powershell?

Come reimpostare una password per diversi account utente (bulk) su Active Directory con PowerShell?

Come trovare il proprietario di un file su Active Directory con Powershell?

Come trovare l’ OU (Unità organizzativa) per un utente su Active Directory con Powershell?—
[regex]::match("$((Get-ADUser -Identity $user -Properties DistinguishedName).DistinguishedName)",'(?=OU=)(.*\n?)').value

Come trovare account utenti disabilitati su Active Directory con PowerShell?

Come trovare account scaduti di utenti su Active Directory con PowerShell?
Search-ADAccount -AccountExpired

Come trovare account bloccati di utenti su Active Directory con PowerShell?
Search-ADAccount -LockedOut

Come trovare il SID di un account utente su Active Directory con Powershell?
(Get-ADUser -Identity $user -Properties SID).SID.Value

Come convertire un nome utente in SID su Active Directory con Powershell?

Come convertire un SID in un nome utente su Active Directory con Powershell?

Come dividere il Nome Distintivo di un account utente con Active Directory con Powershell?

Come trovare la data di creazione / modifica di un account utente con Active Directory con Powershell?
Get-ADUser -Identity $user -Properties whenChanged, whenCreated | Format-List -Property whenChanged, whenCreated

Come visualizzare le proprietà facoltative e obbligatorie per la classe “Utente” su Active Directory con Powershell?

Come ottenere il percorso LDAP di un utente su Active Directory con Powershell?

Come cambiare il CN (Nome Canonico) di un utente su Active Directory con Powershell?
Rename-ADObject $((Get-ADUser -Identity $user -Properties DistinguishedName).DistinguishedName) -NewName 'Steve Renard'

Come ottenere l’Unità Organizzativa (OU) madre di un utente su Active Directory con Powershell?

Come ottenere il proprietario di un utente (che ha creato l’account) su Active Directory con Powershell?

Come convertire l’attributo pwdLastSet di un utente su Active Directory con Powershell?

Computers

Come verificare il canale protetto tra il computer locale e il dominio con Powershell?
Test-ComputerSecureChannel

Come riparare il canale protetto tra il computer locale e il dominio con Powershell?
Test-ComputerSecureChannel -Repair

Come disattivare un account computer su Active Directory con Powershell?
Disable-ADAccount $computer

Come trovare i computer con Sistema Operativo Specifico su Active Directory con Powershell?

Organizational Unit (OU)

Come creare un’unità organizzativa (OU) su Active Directory con Powershell?
New-ADOrganizationalUnit -Name 'STEVE' -Path 'DC=domain,DC=com'

Come ottenere i dettagli di un’unità organizzativa (OU) su Active Directory con Powershell?
Get-ADOrganizationalUnit 'OU=STEVE,DC=domain,DC=com' -Properties *

Come modificare la descrizione di un’unità organizzativa (OU) su Active Directory con Powershell?
Set-ADOrganizationalUnit 'OU=STEVE,DC=domain,DC=com' -Description 'My description'

Come abilitare / disabilitare un’unità organizzativa (OU) dalla cancellazione accidentale su Active Directory con Powershell?

Come abilitare la cancellazione accidentale per tutta l’unità organizzativa (OU) su Active Directory con Powershell?

Come eliminare un’unità organizzativa (OU) protetta dalla cancellazione accidentale su Active Directory con Powershell?

Come convertire un NomeDistintivo di un’Unità Organizzativa (OU) in NomeCanonico su Active Directory con Powershell?

Come elencare le unità organizzative vuote (OU) con PowerShell?

Come ottenere il manager di un gruppo con PowerShell?
(Get-ADGroup $dn -Properties Managedby).Managedby

Up


Regex (Regular Expression)

Come estrarre un indirizzo IP v4 (80.80.228.8) con la Regex 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

Come estrarre un indirizzo MAC (C0-D9-62-39-61-2D) con separatore “-” con la Regex 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

Come estrarre un indirizzo MAC (C0: D9: 62: 39: 61: 2D) con separatore “:” con la Regex 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

Come estrarre una data (10/02/2015) con la Regex con Powershell?
$example = 'The date is 10/02/2015'
$date = [regex]::match($example,'(\d{2}\/\d{2}\/\d{4})').value

Come estrarre un URL (www.powershell-guru.com) con la Regex con Powershell?
$example = 'The URL is www.powershell-guru.com'
$url = [regex]::match($example,'[a-z]+[:.].*?(?=\s)').value

Come estrarre una e-mail (utente@dominio.com) con le Regex 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

Come estrarre “guru” da una stringa campione con la Regex con Powershell?
$example = 'www.powershell-guru.com'
[regex]::match($example,'(?<=-)(.*\n?)(?=.com)').value

Come estrarre “guru.com” da una stringa campione con la Regex con Powershell?
$example = 'www.powershell-guru.com'
[regex]::match($example,'(?<=-)(.*\n?)(?<=.)').value

Come estrarre “powershell-guru.com” da una stringa campione con la Regex con Powershell?
$example = 'www.powershell-guru.com'
[regex]::match($example,'(?<=www.)(.*\n?)').value

Come estrarre “123” dalla stringa campione con la Regex con Powershell?
$example = 'Powershell123'
[regex]::match($example,'(\d+)').value

Come estrarre “$” (simbolo del dollaro) dalla riga campione con la Regex con Powershell?
$example = 'Powershell`$123'
[regex]::match($example,'(\$)').value

Come sostituire un carattere (* .com) con un altro (* .fr) in una stringa con la Regex con Powershell?
$example = 'www.powershell-guru.com'
[regex]::Replace($example, '.com','.fr')

Come effetturare l’escape di una stringa con la Regex con Powershell?
[regex]::Escape('\\server\share')

Up


Memory

Come gestire la memoria forzando una garbage collection con Powershell?
[System.GC]::Collect()
[System.GC]::WaitForPendingFinalizers()

Come ottenere la dimensione della RAM di un computer con PowerShell?

Up


Date

Come ottenere la data corrente con Powershell?
Get-Date
[Datetime]::Now

Come visualizzare la data in diversi formati con PowerShell?

Come convertire un oggetto (DateTime) in una data (Stringa) con Powershell?

Come convertire una data (stringa) in un oggetto (DateTime) con Powershell?

Come calcolare la differenza (numero di giorni, ore, minuti o secondi) tra due date 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

Come confrontare due date 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

Come ordinare una serie di date come Datetime con Powershell?
$arrayDate | Sort-Object -Property {$_ -as [Datetime]}

Come avviare e arrestare un cronometro con PowerShell?
$chrono = [Diagnostics.Stopwatch]::StartNew()
$chrono.Stop()
$chrono

Come ottenere il giorno corrente della settimana con Powershell?
(Get-Date).DayOfWeek #Sunday

Come ottenere la data di ieri con Powershell?
(Get-Date).AddDays(-1)

Come ottenere il numero dei giorni di un mese (Febbraio 2015) con Powershell?
[DateTime]::DaysInMonth(2015, 2)

Come determinare se un anno è bisestile con Powershell?
[DateTime]::IsLeapYear(2015)

Come elencare i fusi orari con PowerShell?
[System.TimeZoneInfo]::GetSystemTimeZones()

Up


Networking

Come codificare (in formato ASCII) e decodificare un URL con PowerShell?

Quali sono gli equivalenti dei comandi di rete nativi con PowerShell?

Come ottenere gli indirizzi IP con Powershell?
Get-NetIPAddress # Windows 8.1 & Windows 2012
Get-NetIPConfiguration # Windows 8.1 & Windows 2012

Come disattivare indirizzo IP v6 (IPv6) con Powershell?

Come convalidare un indirizzo IP v4 (IPv4) con Powershell?
if([ipaddress]'10.0.0.1'){'validated'}

Come trovare l’indirizzo IP esterno con Powershell?

Come trovare il nome host da un indirizzo IP con Powershell?
([System.Net.Dns]::GetHostEntry($IP)).Hostname

Come trovare l’indirizzo IP da un nome host con PowerShell?
([System.Net.Dns]::GetHostAddresses($computer)).IPAddressToString

Come trovare il dominio FQDN da un nome host con PowerShell?
[System.Net.Dns]::GetHostByName($computer).HostName

Come trovare la configurazione di rete (IP, Subnet, Gateway e DNS) con Powershell?

Come trovare l’indirizzo MAC con Powershell?
Get-CimInstance win32_networkadapterconfiguration | Select-Object -Property Description, Macaddress
Get-WmiObject -Class win32_networkadapterconfiguration | Select-Object -Property Description, Macaddress

Come esegure un ping con PowerShell?

Come verificare se un computer è connesso ad Internet con PowerShell?

Come eseguire una ricerca whois per un sito web con PowerShell?
$whois = New-WebServiceProxy 'http://www.webservicex.net/whois.asmx?WSDL'
$whois.GetWhoIs('powershell-guru.com')

Come ottenere i dettagli di un IP pubblico (Geolocation) con Powershell?

Come controllare se una porta è aperta / chiusa con Powershell?
New-Object -TypeName Net.Sockets.TcpClient -ArgumentList $computer, 135

Come effettuare un tracert con Powershell?
Test-NetConnection www.google.com -TraceRoute

Come correggere un profilo di una connesione domestica con Powershell?
Get-NetAdapter | Format-Table -Property Name, InterfaceDescription, ifIndex -AutoSize # Windows 8.1
Set-NetConnectionProfile -InterfaceIndex 6 -NetworkCategory Private

Come mostrare le connessioni delle porte TCP con PowerShell?
netstat.exe -ano
Get-NetTCPConnection #Windows 8 and 2012

Come accorciare un URL lungo in un URL breve con Powershell?
$url = 'www.powershell-guru.com'
$tiny = Invoke-RestMethod -Uri "http://tinyurl.com/api-create.php?url=$url"

Come ottenere le impostazioni proxy con Powershell?
Get-ItemProperty -Path HKCU:"Software\Microsoft\Windows\CurrentVersion\Internet Settings"

DNS

Come controllare la cache DNS sul computer locale con Powershell?
ipconfig.exe /displaydns
Get-DnsClientCache #Windows 8 and 2012

Come cancellare la cache DNS sul computer locale con Powershell?
ipconfig.exe /flushdns
Start-Process -FilePath ipconfig -ArgumentList /flushdns -WindowStyle Hidden
Clear-DnsClientCache #Windows 8 and 2012

Come cancellare la cache DNS su computer remoti con PowerShell?
Invoke-Command -ScriptBlock {Clear-DnsClientCache} -ComputerName computer01, computer02

Come leggere il file Hosts con Powershell?
Get-Content -Path 'C:\Windows\system32\drivers\etc\hosts'

Up


Password

Come generare una password casuale con Powershell?
[Reflection.Assembly]::LoadWithPartialName('System.Web')
[System.Web.Security.Membership]::GeneratePassword(30,2)

Come modificare la password di un account amministratore sul server remoto con Powershell?
$admin = [ADSI]('WinNT://server01/administrator,user')
$admin.SetPassword($password)
$admin.SetInfo()

Come trovare la data di scadenza della password di un account in Active Directory con Powershell?

Up


Printers

Come elencare tutte le stampanti per un server specifico con Powershell?
Get-WmiObject -Query 'Select * From Win32_Printer' -ComputerName $computer

Come elencare tutte le porte per un server specifico con Powershell?
Get-WmiObject -Class Win32_TCPIPPrinterPort -Namespace 'root\CIMV2' -ComputerName $computer

Come cambiare la notifica / posizione di una stampante con PowerShell?

Come eliminare (annullare) tutti i processi di una stampante con PowerShell?
$printer = Get-WmiObject -Class win32_printer -Filter "Name='HP Deskjet 2540 series'"
$printer.CancelAllJobs()

Come stampare una pagina di prova di una stampante con PowerShell?
$printer = Get-WmiObject -Class win32_printer -Filter "Name='HP Deskjet 2540 series'"
$printer.PrintTestPage()

Come ottenere le code di stampa delle stampanti con PowerShell?

Up


Regedit

Read

Come ottenere l’elenco di hives del Registro con PowerShell?
Get-ChildItem -Path Registry::

Come ottenere i valori del Registro di sistema ed i tipi di valore con Powershell?

Come ottenere l’elenco di chiavi e sottochiavi del Registro con PowerShell?

Come ottenere l’elenco di chiavi e sottochiavi in modo ricorsivo con Powershell?
Get-ChildItem -Path 'HKLM:\SYSTEM' -Recurse -ErrorAction SilentlyContinue

Come trovare le sottochiavi con un nome specifico con Powershell?
Get-ChildItem -Path 'HKLM:\SOFTWARE' -Include *Plugin* -Recurse -ErrorAction SilentlyContinue

Come ottenere solo il nome delle sottochiavi del registro con PowerShell?
(Get-ChildItem -Path 'HKLM:\SYSTEM').Name # Return HKEY_LOCAL_MACHINE\SYSTEM\ControlSet
Get-ChildItem -Path 'HKLM:\SYSTEM' -Name # Return ControlSet

Come ottenere l’elenco dei valori del Registro di PowerShell?
Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion'

Come leggere un valore specifico del Registro con Powershell?
(Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion').ProductName

Come leggere un valore specifico del registro su computer remoto con Powershell?

Write

Come creare una nuova chiave di registro con Powershell?
New-Item -Path 'HKCU:\Software\MyApplication'

Come creare un valore del Registro con Powershell?
New-ItemProperty -Path 'HKCU:\Software\MyApplication' -Name 'Version' -Value '1.0'

Come modificare un valore di registro esistente con Powershell?
Set-ItemProperty -Path 'HKCU:\Software\MyApplication' -Name 'Version' -Value '2.0'

Delete

Come cancellare un valore di Registro di sistema con Powershell?
Remove-ItemProperty -Path 'HKCU:\Software\MyApplication' -Name 'Version'

Come eliminare una chiave di registro con Powershell?
Remove-Item -Path 'HKCU:\Software\MyApplication' -Force

Test

Come verificare se una chiave di registro esiste con Powershell?
Test-Path -Path 'HKCU:\Software\MyApplication'

Come verificare se un valore di registro esiste con Powershell?
(Get-Item -Path 'HKCU:\Software\MyApplication').GetValueNames() -contains 'Version'

Up


Strings

Come rimuovere gli spazi vuoti all’inizio di una stringa con Powershell?
$string = ' PowershellGuru'
$string = $string.TrimStart()

Come rimuovere gli spazi vuoti alla fine di una stringa con PowerShell?
$string = 'PowershellGuru '
$string = $string.TrimEnd()

Come rimuovere gli spazi vuoti (all’inizio ed alla fine fine) di una stringa con Powershell?
$string = ' PowershellGuru '
$string = $string.Trim()

Come convertire una stringa in maiuscolo con Powershell?
$string = 'powershellguru'
$string = $string.ToUpper()

Come convertire una stringa in minuscolo con Powershell?
$string = 'POWERSHELLGURU'
$string = $string.ToLower()

Come selezionare la stringa “PowerShell” dalla stringa “PowershellGuru” con Powershell?
$string.Substring(0,10)

Come selezionare la stringa “Guru” dalla stringa “PowershellGuru” con Powershell?
$string.Substring(10)

Come selezionare il numero “123” di “Powershell123Guru” con Powershell?
$string = 'Powershell123Guru'
[regex]::match($string,'(\d+)').value

Come ottenere l’indice a base zero del “Guru” dalla stringa “PowershellGuru” con Powershell?
$string.IndexOf('Guru') # 10

Come controllare se una stringa è nulla o vuota con Powershell?
$string = $null
$string = ''
[string]::IsNullOrEmpty($string)

Come verificare se una stringa sia nulla, vuota o formata da spazi vuoti con Powershell?
$string = $null
$string = ''
$string = ' '
[string]::IsNullOrWhiteSpace($string)

Come controllare se una stringa contiene una lettera specifica con Powershell?
$string = 'PowershellGuru'
$string.Contains('s')
[regex]::match($string,'s').Success

Come riottenere la lunghezza di una stringa con Powershell?
$string.Length

Come concatenare due stringhe con PowerShell?

Come evidenziare una o più parentesi quadre “[]” in una stringa con PowerShell?
$string = '[PowershellGuru]'
$string -match '\[' # Only 1
$string -match '\[(.*)\]' # Several

Come evidenziare una o più parentesi tonde “()” in una stringa con Powershell?
$string = '(PowershellGuru)'
$string -match '\(' # Only 1
$string -match '\((.*)\)' # Several

Come evidenziare una o più parentesi graffe “{}” in una stringa con PowerShell?
$string = '{PowershellGuru}'
$string -match '\{' # Only 1
$string -match '\{(.*)\}' # Several

Come evidenziare una o più parentesi angolate “< >” in una stringa con PowerShell?
$string = ''
$string -match '\<' # Only 1
$string -match "\<(.*)\>" # Several

Come evidenziare tutte le lettere minuscole (abc) in una stringa con PowerShell?
$string = 'POWERSHELLGURU'
$string -cmatch "^[a-z]*$" #False

Come evidenziare tutte le maiuscole (ABC) in una stringa con PowerShell?
$string = 'powershellguru'
$string -cmatch "^[A-Z]*$" #False

Come evidenziare la “[p” (p minuscola) in una stringa con Powershell?
$string = '[powershellGuru]'
$string -cmatch '\[[a-z]\w+' #True

Come evidenziare la “[P” (P maiuscola) in una stringa con Powershell?
$string = '[PowershellGuru]'
$string -cmatch '\[[A-Z]\w+' #True

Come sostituire una riga con un’altra con Powershell?
$a = 'Line A'
$b = 'Line B'
$a = $a -replace $a, $b

Come convertire un’operazione di divisione in una stringa (Percentuale) con Powershell?
(1/2).ToString('P')

Come ordinare le stringhe contenenti i numeri con Powershell?

Come selezionare l’ultima parola di una frase con PowerShell?
$sentence = 'My name is Steve Renard'
$sentence.Split(' ')[-1] # Returns Renard

Come ottenere la più grande parola di una frase con Powershell?
$sentence = 'My name is Steve Renard'
$sentence.Split(' ') | Sort-Object -Property Length | Select-Object -Last 1 # Returns Renard

Come contare il numero di volte che una stringa è presente all’interno di una frase con Powershell?
$sentence = 'steve steve steve renard'
[regex]::Matches($sentence, 'steve').Count # Returns 3

Come copiare ogni carattere in una stringa in un array di caratteri con Powershell?

Come convertire in maiuscolo la prima lettera di una stringa con PowerShell?

Come aggiungere spazio (a sinistra o a destra) ad una stringa con PowerShell?

Come codificare e decodificare una stringa Base64 con PowerShell?

Come convertire un numero da / a binario con Powershell?

Come ottenere solo l’ultima cartella madre di un percorso con PowerShell?

Come ottenere solo l’ultimo elemento di un percorso con PowerShell?

Up


Math

Come elencare i metodi della classe System.Math con Powershell?
[System.Math] | Get-Member -Static -MemberType Method

Come ottenere il valore assoluto con Powershell?
[Math]::Abs(-12) #Returns 12
[Math]::Abs(-12.5) # Returns 12.5

Come ottenere l’angolo il cui seno è il numero specificato con Powershell?
[Math]::ASin(1) #Returns 1,5707963267949

Come ottenere la funzione ceiling con Powershell?
[Math]::Ceiling(1.4) #Returns 2
[Math]::Ceiling(1.9) #Returns 2

Come ottenere la funzione floor con Powershell?
[Math]::Floor(1.4) #Returns 1
[Math]::Floor(1.9) #Returns 1

Come ottenere il logaritmo naturale ( base e) di un numero specifico con Powershell?
[Math]::Log(4) #Returns 1,38629436111989

Come ottenere il logaritmo in base 10 di un numero specifico di PowerShell?
[Math]::Log10(4) #Returns 0,602059991327962

Come ottenere il massimo di due valori con Powershell?
[Math]::Max(2,4) #Returns 4
[Math]::Max(-2,-4) #Returns -2

Come ottenere il minimo di due valori con Powershell?
[Math]::Min(2,4) #Returns 2
[Math]::Max(-2,-4) #Returns -4

Come ottenere un numero elevato alla potenza specificata con Powershell?
[Math]::Pow(2,4) #Returns 16

Dato un valore decimale, come ottenere il valore integrale più vicino con Powershell?
[Math]::Round(3.111,2) #Returns 3,11
[Math]::Round(3.999,2) #Returns 4

Come ottenere la parte integrale di un numero decimale specificato con Powershell?
[Math]::Truncate(3.111) #Returns 3
[Math]::Truncate(3.999) #Returns 3

Come ottenere la radice quadrata di un numero specificato con Powershell?
[Math]::Sqrt(16) #Returns 4

Come ottenere la costante PI con Powershell?
[Math]::Pi #Returns 3,14159265358979

Come ottenere la base logaritmica naturale (costante e) con Powershell?
[Math]::E #Returns 2,71828182845905

Come verificare se un numero è pari o dispari con Powershell?
[bool]($number%2)

Up


Hashtables

Come creare una tabella hash vuota con Powershell?
$hashtable = @{}
$hashtable = New-Object -TypeName System.Collections.Hashtable

Come creare una tabella hash con elementi con Powershell?

Come creare una tabella hash con gli elementi ordinati per chiave/nome (dizionario ordinato) con Powershell?

Come aggiungere elementi (coppia chiave-valore) ad una tabella hash con Powershell?
$hashtable.Add('Key4', 'Value4')

Come ottenere un valore specifico di una tabella hash con PowerShell?

Come ottenere il valore minimo di una tabella hash con PowerShell?

Come ottenere il valore massimo di una tabella hash con PowerShell?

Come modificare gli elementi in una tabella hash con PowerShell?
$hashtable.Set_Item('Key1', 'Value1Updated')

Come rimuovere gli elementi in una tabella hash con PowerShell?
$hashtable.Remove('Key1')

Come cancellare una tabella hash con PowerShell?
$hashtable.Clear()

Come controllare la presenza di una chiave/valore specifico in una tabella hash con PowerShell?
$hashtable.ContainsKey('Key3')
$hashtable.ContainsValue('Value3')

Come ordinare per chiave/valore specifico una tabella hash con PowerShell?
$hashtable.GetEnumerator() | Sort-Object -Property Name
$hashtable.GetEnumerator() | Sort-Object -Property Value -Descending

Up


Arrays

Come creare un array vuoto con Powershell?
$array = @()
$array = [System.Collections.ArrayList]@()

Come creare un array con elementi 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

Come aggiungere elementi ad un array con Powershell?
$array += 'D'
[void]$array.Add('D')

Come modificare un elemento di un array con PowerShell?
$array[0] = 'Z' # 1st item[0]

Come controllare la dimensione di un array con Powershell?
$array = 'A', 'B', 'C'
$array.Length # Returns 3

Come recuperare un oggetto / alcuni / tutti gli elementi di un array 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)

Come rimuovere gli elementi vuoti in un array con PowerShell?
$array = @('A', 'B', 'C', '')
$array = $array.Split('',[System.StringSplitOptions]::RemoveEmptyEntries) | Sort-Object # A,B,C

Come verificare l’esistenza di un elemento in un array con Powershell?
$array = @('A', 'B', 'C')
'A' | ForEach-Object -Process {$array.Contains($_)} # Returns True
'D' | ForEach-Object -Process {$array.Contains($_)} # Returns False

Come trovare il numero di indice di un elemento in un array con PowerShell?
$array = @('A', 'B', 'C')
[array]::IndexOf($array,'A') # Returns 0

Come invertire l’ordine degli elementi in un array con Powershell?
$array = @('A', 'B', 'C')
[array]::Reverse($array) # C,B,A

Come generare un elemento casuale da un array con Powershell?
$array | Get-Random

Come ordinare un array in ordine crescente / decrescente con Powershell?
$array = @('A', 'B', 'C')
$array | Sort-Object # A,B,C
$array | Sort-Object -Descending # C,B,A

Come contare il numero di elementi in un array con Powershell?
$array.Count

Come aggiungere un array ad un altro con PowerShell?
$array1 = 'A', 'B', 'C'
$array2 = 'D', 'E', 'F'
$array3 = $array1 + $array2 # A,B,C,D,E,F

Come trovare i duplicati di un array con Powershell?
$array = 'A', 'B', 'C', 'C'
($array | Group-Object | Where-Object -FilterScript {$_.Count -gt 1}).Values # Returns C

Come rimuovere i duplicati da un array con Powershell?
$array = 'A', 'B', 'C', 'C'
$array = $array | Select-Object -Unique
$array # Returns A,B,C

Come creare un array con elementi che iniziano con un prefisso (“user01”, “user02”, …, “user10”) con Powershell?
$array = 1..10 | ForEach-Object -Process { "user$_" }

Up


ACL

Come ottenere un elenco ACL di un utente AD con Powershell?
(Get-Acl -Path "AD:\$dn").Access

Come ottenere un elenco ACL di una cartella con PowerShell?
(Get-Acl -Path C:\scripts).Access

Come ottenere un elenco delle voci delle specifiche autorizzazioni ACL (utenti o gruppi) di un utente AD con Powershell?

Up


Variables

Quali sono i tipi di dati più comuni in PowerShell?

Come trovare i valori minimi e massimi di alcuni tipi di variabili con PowerShell?

Come testare il tipo di dati con Powershell?

Come creare una stringa limite variabile con Powershell?

Come creare una variabile con PowerShell?
$powershellGuru = 'Hello'

Come creare una variabile costante con Powershell?
Set-Variable -Name powershellGuru -Value 2015 -Option Constant

Come creare una variabile globale con Powershell?
$Global:powershellGuru = 'Hello' # Note : creating global variables is not recommended

Come leggere una variabile con PowerShell?
$powershellGuru = 'Hello' # Create
$powershellGuru # Read
Get-Variable -Name powershellGuru -ValueOnly # Read

Come controllare il tipo di variabile con PowerShell?
$powershellGuru.GetType()

Come trovare le variabili in ambito globale con Powershell?
Get-Variable -Scope Global

Come ottenere variabili specifiche per nome con Powershell?
Get-Variable -Include *Preference -Exclude W*

Come assegnare uno specifico tipo di dati ad una variabile con PowerShell?
[int64]$variable = 100
[string]$variable = 'PowershellGuru'

Come inizializzare più variabili allo stesso valore con Powershell?
$a = $b = $c = $d = $e = 0

Qual è l’alias per la variabile “$ _” con Powershell?
Get-Process | Where-Object -FilterScript {$_.Handles -gt 1000} # Using $_
Get-Process | Where-Object -FilterScript {$PSItem.Handles -gt 1000} # Using $PSItem (since version 3)

Come rimuovere le variabili con nome che inizia con “count” con Powershell?
Remove-Variable -Name count*

Come ottenere le variabili d’ambiente con PowerShell?
Get-ChildItem -Path Env:

Come ottenere la variabile d’ambiente Path riga per riga con Powershell?
($env:Path) -replace(';', "`n")
[Environment]::GetEnvironmentVariable('Path') -replace(';', "`n")

Come aggiungere un nuovo percorso (es: C: \ SysinternalsSuite) alla variabile d’ambiente Path con Powershell?
$env:Path += ';C:\SysinternalsSuite'
$env:Path = $env:Path + ';C:\SysinternalsSuite'

Come concatenare le variabili con Powershell?
$a = 'Powershell'
$b = '- Guru'
$c = $a + $b

Come utilizzare l’ ErrorVariable con Powershell?
Get-Process -Name abcde -ErrorAction SilentlyContinue -ErrorVariable AccessDenied
$AccessDenied | Select-Object -Property Exception
$AccessDenied | Select-Object -Property TargetObject

Come abilitare / disabilitare l’equivalente di “Option Explicit” (VBScript: richiede che una variabile sia dichiarata) con Powershell?

Up


Static .NET Methods

Come ottenere i membri statici con PowerShell?
[DateTime] | Get-Member -Static

Up


Sounds

Come si attiva il segnale acustico con Powershell?
[System.Console]::Beep()

Come riprodurre asterisk con Powershell?
[System.Media.SystemSounds]::Asterisk.Play()

Come riprodurre il suono di esclamazione con Powershell?
[System.Media.SystemSounds]::Exclamation.Play()

Come ottenere i segnali acustici con PowerShell?
[System.Media.SystemSounds] | Get-Member -Static

Come riprodurre suoni WAV con Powershell?
$soundPlayer = New-Object -TypeName System.Media.SoundPlayer -ArgumentList "$env:windir\Media\Ringout.wav"
$soundPlayer.Play()
o
$soundPlayer.PlayLooping()
$soundPlayer.Stop()

Come riprodurre vocalmente testi scritti con Powershell?
Add-Type -AssemblyName System.Speech
$speech = New-Object -TypeName System.Speech.Synthesis.SpeechSynthesizer
$speech.Speak('Hello PowershellGuru')

Up


XML

Come leggere un file XML con Powershell?
[xml]$sitemap = Get-Content -Path .\sitemap.xml
$sitemap.urlset.url

Come esportare i dati in un file XML con Powershell?
Get-Process | Export-Clixml -Path C:\scripts\processes.xml

Come importare dati da un file CLIXML con Powershell?
$importProcesses = Import-Clixml -Path C:\scripts\processes.xml

Up


GUI

Come creare un interfaccia grafica di base (Windows Form) con Powershell?

Up


Characters

Come convertire il valore ASCII in un carattere con PowerShell?
[char]64

Come convertire un carattere in un valore ASCII con Powershell?
[int][char]'@'

Come generare l’alfabeto inglese con Powershell?