Archivio

Archive for the ‘PowerShell’ Category

PowerShell Day 2017

Buona sera!

l’anno scorso con l’aiuto ed il supporto di #DotNetLombardia, #MicrosoftItelia ed #Overnet abbiamo organizzato il primo #PowerShellDay. L’evento ha suscitato un discreto successo (a mio avviso), motivo per cui sto iniziando a preparare l’evento 2017.

Quindi, appassionati di scripting, entro breve inizieranno i preparativi per questa nuova esperienza!

Annunci
Categorie:PowerShell

Windows Management Framework 5.1: RILASCIATO

Da ieri è disponibile per il download il pacchetto WMF51, liberamente scaricabile dal link: http://www.microsoft.com/en-us/download/details.aspx?id=54616

Alla pagina MSDN  troverete maggiori informazioni direttamente dal team di PowerShell 🙂

Buono scripting a tutti!!!!

Categorie:.NET, IT/TLC, PowerShell

PowerShell ed il NUMLOCK delle VM

A molti di voi, usando Hyper-V da windows 8.1, sarà capitato di aprire una virtual machine e trovarsi disabilitato il blocco numerico della tastiera. Nelle precedenti versioni (e generazioni) dell’hypervisor e delle VM era possibile impostare lo stato del NumLock con un flag, ora non è più previsto e come si può fare per abilitare questa impostazione? La risposta sta, come in molti casi, nei valori delle chiavi del registro di sistema.

Possiamo scegliere se applicare questa impostazione per l’utente corrente oppure per tutti gli utenti, questa scelta è assolutamente personale, quindi modificate il valore che ritenete più corretto per le vostre esigenze. Per quanto riguarda l’utente connesso al sistema è sufficiente digitare il seguente comando

    Set-ItemProperty
-Path
‘HKCU:\Control Panel\Keyboard’
-Name
InitialKeyboardIndicators
-Value
2

 

Mentre per applicare l’impostazione a tutti gli utenti dovremo anche aggiungere un PSDrive per poter accedere all’hive HKEY_USERS. Quindi i comandi da digitare risultano essere i seguenti

New-PSDrive
-PSProvider
Registry
-Root
HKEY_USERS
-Name
HKUS

Set-ItemProperty
-Path
‘HKUS:\.DEFAULT\Control Panel\Keyboard’
-Name
InitialKeyboardIndicators
-Value
2

 

Nulla di particolarmente complesso, ma va ricordato, come sempre in questi casi, che si stanno apportando modifiche al registro di sistema, quindi se vi dovesse capitare di sbagliare a digitare i parametri dei cmdlets sopra riportati mi riterrò sollevato da ogni responsabilità J . Per verificare che il valore sia stato recepito correttamente basterà interrogare il registro di sistema

Get-Item
-Path
‘HKCU:\Control Panel\Keyboard’

Get-ItemProperty
-Path
‘HKCU:\Control Panel\Keyboard’
-Name
InitialKeyboardIndicators

 

Il primo cmdlet ci mostrerà il contenuto della chiave del registro di Sistema, il secondo le proprietà del valore che abbiamo richiesto. Ovviamente se avete applicato l’impostazione per tutti gli utenti correggete il path indicato nei cmdlets.

È possibile impostare “InitialKeyboardIndicators” anche su altri valori, la tabella sottostante è autoesplicativa

Valore

Significato

0

Disattiva tutti gli indicatori (NumLock, CapsLock, ScrollLock)

1

Attiva CapsLock

2

Attiva NumLock

3

Attiva CapsLock e NumLock

4

Attiva ScrollLock

5

Attiva CapsLock e ScrollLock

6

Attiva NumLock e ScrollLock

7

Attiva tutti gli indicatori (NumLock, CapsLock, ScrollLock)

 

Questa impostazione è valida a prescindere dal fatto che si stia usando una virtual machine, difatti è possibile forzare il valore anche per le macchine fisiche.

PowerShell Day: Agenda ed iscrizioni

Buon giorno!!!
Da oggi l’agenda del PowerShell Day è online! Potete consultarla ed ovviamente iscrivervi collegandovi a questo url: http://powershellday.eventbrite.com

Vi aspettiamo!!! 🙂

PowerShell Day

Ok! Ci siamo!!! Grazie al team di #DotNetLombardia e #MicrosoftItalia abbiamo organizzato il #PowerShellDay!

Vi aspettiamo numerosi! Per registarvi all’evento e per le informazioni logistiche visitate questo link: http://powershellday.eventbrite.com

Buono scripting a tutti!!! 🙂

Disinstallazione massiva di software con PowerShell

Questa sera mi sono trovato nella condizione di dover disinstallare parecchi componenti installati erroneamente con il modulo Web Platform di IIS. Come disinstallarle velocemente? Un semplice comando di PowerShell può aiutare!

 

(Get-WmiObject
-Class
Win32_Product
-Filter
“Name like ‘%SoftwareName%'”).Uninstall()

Quasi tutte le applicazioni installate (sia chiaro!!! Sostituite SoftwareName col nome di ciò che vorreste disinstallare!!!) che contenessero la parola chiave indicata sono stati rimossi, quelli restanti avevano una procedura di disinstallazione non “automatizzabile”; risultato: ho disinstallato a mano solo 5 applicazioni rispetto alle 29 presenti!!! Grande risultato!

Buono scripting e buona notte a tutti!!!

Categorie:PowerShell

Impostare il DNS aging and scavenging con PowerShell

Capita abbastanza spesso di trovare, nelle zone del DNS Server, dei record vecchi o non più in essere. Mantenere pulite le registrazioni del DNS Server è sicuramente un’attività importante che sovente non viene effettuata quindi per supportarci in questo compito abbiamo a disposizione, per il DNS Server presente da Windows Server, due parametri, uno che valutano la vecchiaia dei record e l’altro che regola la periodicità dell’azione di pulizia.

PowerShell mette a disposizione i cmdlets necessari per impostare questi parametri: Set-DnsServerScavenging e Set-DnsServerZoneAging.

Set-DnsServerScavenging -ScavengingState $true -RefreshInterval 7.00:00:00| `

-ApplyOnAllZones

Innanzi tutto utiliziamo Set-DnsServerScavenging per abilitare la pulizia dei record vecchi, usando il parametro -ApplyOnAllZones potremo propagare il settaggio a tutte le zone registrate sul DNS Server. Il parametro -RefreshInterval ammette come input il periodo da considerare espresso nel formato “giorni.ore:minuti:secondi“. Dopo aver abilitato la pulizia automatica dovremo andare a specificare, zona per zona, il periodo dopo il quale i record vanno considerati vecchi.

Get-DnsServerZone | `
    Where-Object {$_.IsAutoCreated -eq $False -and $_.ZoneName -ne ‘TrustAnchors’} | `
    Set-DnsServerZoneAging -Aging $true -RefreshInterval 7.00:00:00

Usando Set-DnsServerZoneAging possiamo specificare il periodo desiderato, seguendo la stessa convenzione di Set-DnsServerScaverging, lo andremo ad imputare. Per impostare il valore per tutte le zone è necessario leggerle, per questo possiamo usare il cmdlet Get-DnsServerZone. Siccome non è possibile applicare queste impostazioni alle zone autocreate vanno escluse con un filtro.

Al seguente link troverete lo script con i comandi: DNSAgingScavenging.ps1.

Buono scripting a tutti!!! J

%d blogger hanno fatto clic su Mi Piace per questo: