Anlan

Disorganizzata cronologia di esperienze IT (e non …)
Options:

PowerShell : Convalidare un indirizzo IP

Ho già scritto di come sia possibile utilizzare .NET per convalidare un indirizzo IP senza utilizzare complesse espressioni regolari (regexp). Per naturale conversione ecco come effettuare la medesima operazione utilizzando PowerShell

1
2
3
4
5
Function IsValidIPAddress {
param([string]$ipAddress = $(throw "You must provide an address"))
Set-Variable -name Ip -value ([System.Net.IPAddress]::Parse("127.0.0.1")) -scope Local
If ([System.Net.IPAddress]::TryParse($ipAddress, [ref]$Ip)) { $True } Else { $False }
}
  • Commenti disabilitati su PowerShell : Convalidare un indirizzo IP
 


Il “vecchio” strumento per le operazioni pianificate che ci ha accompagnato fino a Windows 2003 è stato completamente soppiantato da un insanamente complicato Task Scheduler (Utilità di Pianficazione) che trova posto nelle nuove versioni Vista / 7  / 2008. A volte sembra che in Microsoft uno degli uffici più attivi sia l’UCAS : Ufficio Complicazioni Affari Semplici.

Ci ho sbattuto il “muso” quando ho cercato di pianificare l’esecuzione di alcuni script Powershell (uno di questi è 7zbackup.ps1) che, su XP e 2003 non davano nessunissimo problema. La ricerca su google è stata infruttuosa anche se il numero di post ed articoli scritti da chi, come me, ha problemi con sto maledetto schedulatore, non sono pochi.

Alla fine l’unica sintassi valida che sono riuscito a trovare per schedulare gli script è la seguente:

  • Operazione : Avvio Programma
  • Programma o Script : Powershell.exe
  • Argomenti : -NoProfile -NonInteractive -Command & ("{C:\Scripts\7zBackup-Run.ps1 full 4}")
  • Inizio : C:\Scripts

Attenzione ! L’indicazione del percorso iniziale di avvio, a dispetto di quanto indicato nella maschera, non è assolutamente facoltativa. Inoltre dovrete essere sicuri che l’utente utilizzato per lanciare il lavoro abbia permessi completi sullo script e deve avere il diritto “Logon as batch job”.

  • Commenti disabilitati su Script Powershell schedulati con Windows Vista / 7 / 2008
 


Powershell e Windows 2000

Si può avere PowerShell su Windows 2000 ? Si
Da dove scarico l’installer di PowerShell per Windows 2000 ? Non lo puoi scaricare perchè non esiste. PowerShell non è nemmeno minimamente supportata per Windows 2000 e vi sono pure dei dubbi sul fatto che sia legale installarla su Windows 2000. E quand’anche riuscissi ad installarla, non ti aspettare che funzioni senza problemi.

Se tutto questo non ti spaventa e vuoi per forza avere PowerShell v. 1.0 sul tuo “vecchio”, fedelissimo e ormai super stabile Windows 2000 … ecco come fare.

  1. Sul tuo Windows 2000 crea una cartella (nel disco che preferisci) direttamente sotto la radice principale che chiameremo PWS2000. Es. C:\Pws2000
  2. Assicurati di avere installato il il framework .NET 2.o Se non sei sicuro o se lo devi installare scaricalo da qui FrameWork .NET 2.0 e poi installalo.
  3. Scarica e installa l’SDK per .NET 2.0. Puoi effettuare il download direttamente da questo link : FrameWork .NET 2.0 SDK
  4. Scarica e NON installare il package di installazione per PowerShell 1.0 per Windows XP. Puoi trovare il package direttamente a questo link. Salva il file di installazione nella directory che hai creato al punto 1. Dovrebbe chiamarsi WindowsXP-KB926139-v2-x86-ENU.exe
  5. Ora serve un editor binario/esadecimale. Se non ne hai uno puoi scaricare Hexplorer da SourceForge ed installarlo.
  6. Apri un prompt di comando ed accedi alla directory che hai creato al punto 1.
  7. Crea la sottocartella KB926139. Es. C:\PWS2000\KB926139
  8. Esegui il comando WindowsXP-KB926139-v2-x86-ENU.exe /extract
  9. Quando appare la finestra che ti chiede dove vuoi estrarre i file inserisci il nome della cartella che hai creato al punto 7
  10. Al termine della estrazione, con l’editor esadecimale che hai installato, apri il file ‘powershell.exe” che si trova nella cartella C:\PWS2000\KB926139
  11. Vai all’offset 132 e modifica il 01 con 00 (zero zero). Questo è necessario perchè la versione di Windows 2000 è la 5.00 e non la 5.01.  Se hai installato Hexplorer segui esattamente questi passi: Avvia Hexplorer dal Menu Start; File -> Open e apri C:\PWS2000\KB926139\powershell.exe; quando il file è aperto premi il tasto F5 (goto) e nel campo Offset digita 132 e poi invio; il quadratino rosso si posiziona in un punto dove c’è scritto 01; usando il tastierino numerico digita 00; Ora dal menu scegli File->Save. Il file è stato modificato e ora puoi chiudere Hexplorer
  12. Ora scarica questo file PWS2000_Setup.zip e salvalo nella directory C:\PWs2000 (o comunque quella che hai creato al punto 1). E’ un file in formato zip.
  13. Estrai il contenuto del file appena salvato direttamente nella cartella C:\PWS2000.
  14. Prendi nota della cartella di installazione di Windows. Generalmente dovrebbe essere C:\WINNT. Se la directory NON è questa allora procedi con il punto 15 altrimenti salta al punto 16.
  15. Con un editor di testo qualsiasi apri il file PWS2000_Registry.reg e modifica tutti i punti in cui è indicato C:\WINNT con il nome della tua cartella Windows. Attenzione: alcune volte è scritto C:\WINNT (con un solo backslash) altre volte è scritto C:\\WINNT (con due backslash). Rispetta il numero di backslash. Dopo aver modificato salva il file.
  16. Torna al prompt di comando ed accedi, se non ci sei già, alla cartella C:\PWs2000.
  17. Esegui InstallPWS2000.bat. Lo script copierà i file necessari, genererà gli assembly ed infine li registra nella GAC (Global Assembly Cache). Inoltre crea il collegamento a PowerShell nel menu start.
  18. Al termine, se vuoi, puoi disinstallare .NET Framework 2.0 SDK (che occupa quasi 1Gb di spazio). Puoi anche cancellare la cartella che hai creato al punto 1

La procedura si conclude qui.
Attenzione. Questa procedura serve solo per l’installazione. Non è previsto uno script per la disinstallazione e non troverai PowerShell installato nella sezione “Add/Remove Programs” del pannello di controllo. Se vuoi rimuovere PowerShell dovrai farlo a mano, seguendo a ritroso i passi scritti nel batch di installazione.

Buona PowerShell a tutti.

  • Commenti disabilitati su Powershell e Windows 2000
 



 
Loading


Categorie