Feb
27
2007

Graffiti Research Lab

La segnalazione arriva dal mitico pix (torna presto online!); è il sito di un gruppetto di ragazzacci che studiano come le nuove tecnologie possano venire incontro ai writer. Si, parliamo di graffiti, anche se in senso molto lato. Un potentissimo proiettore, collegato abusivamente per strada, o alimentato con una superbatteria e un inverter da 2KW (ma in questo caso la distanza non è quella del video), comandato da un pc e teleguidato da un laser. Il risultato? i migliori writer che taggano su un palazzo di 70 metri di altezza! Uno spettacolo che non si può perdere. Lascio un paio di immagini e il link al filmato. Un sito fantastico, parla anche di throw up e ci sono video di tutti i generi... immancabile!

 

Il video, che richiede quicktime, lo trovate sul sito graffitiresearchlab.com.
Per chi fosse interessato al significato della sign "FREE BERD" qui trovate un articolo su ciò che è successo, e qui il punto di vista dei ragazzi della GRL.

Feb
27
2007

Un nuovo prompt per Windows PowerShell

I profili in Windows PowerShell permettono di creare alias, variabili e funzioni personalizzate valide in ogni sessione aperta; in pratica un modo per estendere le potenzialità di base di PS.
Per poter caricare un profilo (che viene letto all'avvio di ogni sessione di PS), è necessario che il criterio di esecuzione lo permetta, ovvero non può essere settato a Restricted (che è bene ricordare essere l'impostazione di default all'installazione di PS).
Esistono quattro diversi profili che vengono caricati sequenzialmente all'avvio di una sessione di PS, che vanno ad influenzare differentemente utenti e shell:
- %windir%\system32\WindowsPowerShell\v1.0\profile.ps1
Questo profilo si applica a tutti gli utenti e a tutte le shell
- %windir%\system32\WindowsPowerShell\v1.0\ Microsoft.PowerShell_profile.ps1
Questo profilo si applica a tutti gli utenti, ma solo alla shell Microsoft.PowerShell.
- %UserProfile%\Documenti\WindowsPowerShell\profile.ps1
Questo profilo si applica solo all'utente corrente, ma riguarda tutte le shell.
- %UserProfile%\Documenti\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
Questo profilo si applica solo all'utente corrente e alla shell Microsoft.PowerShell.

Per creare un nuovo profilo utente ad esempio lanciamo il comando:
new-item -path $profile -itemtype file -force

$profile è una variabile che contiene il path al file del profilo personale. Volendo creare un altro dei restanti profili sarà necessario specificare il path completo.
A questo punto possiamo andarci a scrivere quello che desideriamo essere il nostro profilo caricato in automatico; ad esempio io ho nel mio profilo una funzione per cambiare il prompt, visto che quello di default (PS directory>) scritto in bianco non mi piace molto, primo perchè occupa 3 caratteri inutili (PS ) e poi perchè se lancio script con lunghe elaborazioni non vedo dove finisce l'esecuzione di un comando e inizia la successiva. La sezione di script in questione è la seguente:

function prompt
{
    Write-Host ("[" + $(get-location) +"]") -nonewline -foregroundcolor Red
    return " "
}

E si ottiene un prompt come da figura. E' importante ricordarsi che la funzione prompt deve ritornare una stringa, in caso contrario verrà utilizzato il prompt di default "PS> ". E' utile anche considerare che questa funzione viene valutata spesso, quindi un buon consiglio da tenere a mente è quello di non esagerare con la complessità.

Feb
17
2007

Powershell: Criteri di esecuzione

Gli script sono estremamente potenti, purtroppo però la storia ci insegna che possono anche essere utilizzati per danneggiare un sistema. In PS esistono una serie di funzionalità di protezione, tra cui i criteri di esecuzione che determinano se gli script possono essere eseguiti ed eventualmente se devono essere firmati. Vedremo più avanti che questi criteri determinano anche la possibilità di caricare file di configurazione per la PS (ad esempio i profili).
Il criterio può assumere 4 valori:
- Restricted: è quello impostato quando installiamo la PS, non consente l'esecuzione di script né il caricamento di file di configurazione;
- AllSigned: consente l'esecuzione di script, ma questi devono essere firmati digitalmente (con certificato rilasciato da una CA riconosciuta), sia che siano scaricati da internet, sia che siano creati sul computer locale;
- RemoteSigned: consente l'esecuzione di script, che devono essere firmati digitalmente (con certificato rilasciato da una CA riconosciuta) se sono stati scaricati da internet, o dalla posta elettronica, o da software di messaggistica; possono invece venire eseguiti tranquillamente quelli creati sul computer locale;
- Unrestricted: permette l'esecuzione di script non firmati.

Se creiamo un semplice file helloworld.ps1 contenente la sola riga
Write-Output "Hello World"
e poi cerchiamo di eseguirlo, avremo il seguente errore:



Verifichiamo quindi il criterio di protezione tramite il cmdlet Get-ExecutionPolicy e verifichiamo che sia effettivamente Restricted. Modifichiamolo quindi con il cmdlet Set-ExecutionPolicy RemoteSigned (questa l'impostazione che uso io attualmete). Proviamo ora a rilanciare lo script e verifichiamone il corretto funzionamento.
Non è molto intuitivo ricordarselo, ma per lanciare gli script bisogna indicare il path di esecuzione (nel nostro caso il ./ prima del nome dello script); un modo facile per non dimenticarselo è utilizzare l'autocomplete attivato sul tasto tab, che ci completa la stringa digitata a mano (caratteristica molto utile a chi, come me, ha una memoria di fango!Laughing).

Recent Tweets

Note: For Customization and Configuration, CheckOut Recent Tweets Documentation