venerdì, luglio 22, 2011

Exchange 2007: vedere la versione.









Per avere la versione di Exchange da command line è sufficiente un:
c:\>Get-ExchangeServer | Select AdminDisplayVersion

AdminDisplayVersion
-------------------
Version 8.1 (Build 240.6)


Ciao Lewis!

sabato, luglio 16, 2011

Exchange 2007: spostare gli account disabilitati da un db all'altro.

Adesso vi mostrerò come risparmiare tempo e lavoro con la Shell di Exchange. Quello che voglio fare è spostare tutte le mailbox con account AD disabilitato da uno StorageGroup all'altro. Questo per alleggerire le dimensioni del db che notariamente in exchange talvolta possono portare a dei problemi. Ok, la prima cosa che ci serve è sapere il nome esatto del MailBoxDatabase. E questo lo si ottiene col comando:

[PS] C:\>Get-MailboxDatabase

Name Server StorageGroup Recovery
---- ------ ------------ --------
Mailbox Database SRV-MAIL First Storage Group False
Mailbox Database SG3 SRV-MAIL Third Storage Group False

Adesso bisogna selezionare tutte le mailbox con account disabilitato e redirigerle verso il comando Move-MailBox così:

[PS] C:\>Get-Mailbox -database "Mailbox Database" | where {$_.UserAccountControl -eq "AccountDisabled, NormalAccount"} | Move-Mailbox -targetdatabase "mailbox database sg3"

Ecco con questo semplice comando spostiamo tutte le mailbox contenute nel DB Mailbox Database e che hanno il campo UserAccountControl impostato come "AccountDisabled, NormalAccount" nel DB con nome Mailbox Database SG3

Ciao a tutti, lewis.

Exchange 2007: statistiche sulle mailbox.


Oggi vedremo come avere delle statistiche sulle mailbox degli utenti in modo da rendersi conto delle spazio occupato da ogni utente e del numero di email accumulate.

Il comando principale per ottenere delle statistiche è Get-MailboxStatistics il quale restituisce una tabella formata dai campi: DisplayName (il nome utente), StorageLimitStatus (gli eventuali limiti di storage) e LastLogonTime (il
momento dell'ultimo LogOn).
Nel seguente esempio utilizzeremo anche il comando select
per selezzionare (in unix si utilizzerebbe tail o grep a seconda di quello che dobbiamo fare) le ultime 5 linee dell'output. Ma ecco l'esempio:

[PS] C:\>Get-MailboxStatistics | select -last 5

DisplayName ItemCount StorageLimitStatus LastLogonTime
Luaaaa Aaaaaa 40964 NoChecking 15/07/2011 9.23.05
Monbbb Bbbbb 959 NoChecking 15/07/2011 17.59.09
Fcccc Ccccc 8843 NoChecking 28/06/2011 11.31.16
Dddd Dddddd 16 NoChecking 28/06/2011 11.48.46
Eeeea Feeee 54 NoChecking 28/06/2011 11.42.16

Ok, a questo punto vogliamo capire quale utente ha il numero più elevato di email, dunque utilizzeremo sempre il comando Get-MailboxStatistics combinato con sort per ordinare l'output e con select per selezionare le righe che ci interessano:

[PS] C:\> Get-MailboxStatistics | sort -property itemcount -descending | select -first 5

DisplayName ItemCount StorageLimitStatus LastLogonTime
Lisa Saaeevvkkss 49662 NoChecking 15/07/2011 9.41.08
Luigi Vaakoyu 40966 NoChecking 15/07/2011 9.23.05
Lodeini Dilede 36446 NoChecking 15/07/2011 13.45.33
Leila Skywolk 33403 NoChecking 15/07/2011 20.06.30
Ideale Bertee 29140 NoChecking 15/07/2011 22.25.39

in questo modo avremo i primi 5 utenti che hanno il maggior numero di email. Adesso introduciamo il comando ft (format-table) per avere un output maggiormente raffinato. Ossiamo vogliamo avere un elenco di mailbox ordinate per dimensione ma che venga mostrato anche il numero di email.

[PS] C:\>Get-MailboxStatistics | sort -property TotalItemSize -descending | ft -property DisplayName,TotalItemSize,ItemCount | select -first 7

DisplayName TotalItemSize ItemCount
Pizzail Tinikske 14706614387B 22633
Lisa Saaeevvkkss 11793742821B 49662
Fedele Bartoe 10035695559B 23511
Leila Skywolk 9969973020B 33403
Ideale Bertee 9187185934B 29140

[PS] C:\>

Alla prossima. Lewis.

Exchange 2007: semplice esempio di regola di trasporto.

Ecco di seguito una semplice regola di trasporto per exchange 2007. Serve a porre un MARK sul subject di ogni mail che matcha su un certo dominio. Per esempio ho un exchange con un pop connector che scarica le mail da 2 differenti domini ma voglio che uno dei due venga individuato a colpo d'occhio dagli utenti, inserendo una specifica stringa sull'oggetto dell'email. Nel caso seguente inserisco la stringa PIPPO come prefisso dell'oggetto di tutte le email che hanno come destinatiri *@miodom.com Ecco la regola:

C:\> $condition = Get-TransportRulePredicate HeaderContains
C:\> $condition.MessageHeader = "To"
C:\> $condition.Words = @("miodom.com")
C:\> $action = Get-TransportRuleAction prependsubject
C:\> $Action.Prefix = "PIPPO "
C:\> New-TransportRule -name "MIODOM" -condition @($condition) -action @($Action) -enabled: $true

Name State Priority Comments
---- ----- -------- --------
MIODOM Enabled 1

C:\> Get-TransportRule | format-list

Priority : 1
Comments :
ManuallyModified : False
Conditions : {HeaderContains}
Exceptions :
Actions : {PrependSubject}
State : Enabled
Identity : MIODOM
Guid : 404acf8f-b9fd-463c-9127-f1c6717ced52
Name : MIODOM
IsValid : True
WhenChanged : 15/07/2011 16.50.10
ExchangeVersion : 0.1 (8.0.535.0)

A questo punto tutte le email dirette a @miodom.com avranno nel subject il prefisso "PIPPO ". A presto Lewis

mercoledì, giugno 08, 2011

Elencare le mailbox su Exchange 2007 da Command Line


Ecco come listare o elencare le mailbox su Exchange 2007 da linea di comando. Dalla Exchange Management Shell useremo il comando get-mailbox, così:

[PS] C:\> get-mailbox | select-object DisplayName,SamAccountName 

DisplayName SamAccountName
Administrator Administrator
Andrea Bianchi abianchi
Andrea Rossi arossi
Andrea Rosa arosa
Andrea Verdi averdi
Andrea Gialli agialli
Andrea Marroni amarroni

Adesso esportiamo in un file in questo caso si tratta di un CSV

[PS] C:\> get-mailbox | select-object DisplayName,SamAccountName | export-csv elenco\_mailbox.csv 

Oppure anche un semplice Get-MailBox senza nulla puo' essere sufficiente anche se i nomi lunghi vengono troncati.

ciao Lewis.

martedì, giugno 07, 2011

IP Scan

Per creare una lista delle macchine e/o periferiche collegate alla propria rete locale dalla vostra linuxbox è sufficiente il comando arp-scan.
Da fedora/centos/redhat è sufficiente il classico:
# yum install arp-scan
su altre distro come ubuntu credo che un semplice:
# apt-get install arp-scan
possa essere sufficiente.
Una volta installato il software basta usare il flag -l per crearsi una lista di host collegati alla lan in modo molto veloce. Così:
# arp-scan -l
Interface: eth0, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.7 with 256 hosts (http://www.nta-monitor.com/tools/arp-scan/)
192.168.1.1    00:21:29:7a:3e:70    Cisco-Linksys, LLC

1 packets received by filter, 0 packets dropped by kernel
Ending arp-scan 1.7: 256 hosts scanned in 1.460 seconds (175.34 hosts/sec).  1 responded

ciao, alla prossima.
lewis

sabato, maggio 21, 2011

Cambio permessi di una cartella windows da command line

Permessi Full su cartella

Oggi vedremo come utilizzare SetACL.exe per cambiare i permessi di una qualsia cartella.
Prelevate subito SetACL e scompattatelo in una qualsiasi cartella.
All'interno oltre trovare l'eseguibile ci saranno anche vari esempi per l'utilizzo all'interno di script vbs,perl ecc.
Mentre eccovi alcuni esempi per l'utilizzo nella shell:
c:\> \\jupiter\wpkg\bin\SetACL.exe" -on "%ProgramFiles%\Ars Edizioni Informatiche" -ot file -actn ace -ace n:users;p:full'
Questo esempio l'ho preso da un semplice bat che utilizzo per l'installazione automatica o anche detta silent install o software deployment di un'applicazione che abitualmente viene installata sulle workstation aziendali.
In questo caso vengono impostati i permessi "Full Access" per il gruppo "users".
Ecco il significato degli argomenti:
-on "c:\nomecartella" on sta per ObjectName e significa il nome della cartella
-ot file ot sta per ObjectType ossia tipo dell'oggetto, in questo caso si tratta di file
-actn ace actn sta per Action ossia azione mentre ace sta per "Access Control Entry" quindi accessi
-ace n:users;p:full ace quindi sta per accessi, n è l'utente o il gruppo mentre p è il permesso. Quindi al gruppo users full access.
Una piccola parentesi finale sul software deployment anche se sarebbe più corretto dire automated software deployment. Quando hai diverse decine di pc su cui devi spesso installare/disinstallare software, stampanti,chiavi di registro ecc il procedimento manuale può diventare davvero noioso ma soprattutto  oneroso in termini di tempo.  Quindi la migliore cosa che possiamo fare è implementare una soluzione di deploy automatico. Io personalmente uso wpkg e devo dire che mi trovo abbastanza bene. Si tratta di uno script in javascript molto leggero e flessibile che ti permette di gestire il tuo parco software e stampanti molto semplicemente. Esiste un database di pacchetti e penso che questo progetto diverrà via via sempre più interessante.
Vabbè questo sarà l'argomento del prossimo post.
ciao
luigi

domenica, maggio 15, 2011

Bloccare una lista di siti.

Ciao,
approfitto di una domanda letta su un forum per scrivere questo post. Ossia come bloccare una lista di siti indesiderati in modo da realizzare una semplice parental controll.
La soluzione che propongo è molto semplice e non comporta l'addentrarsi in tecnicismi quali l'utilizzo di proxy più o meno avanzati o l'uso di iptables. Questo tipo di blocco è ovviamente circoscritto all'utilizzo di Firefox, quindi al di fuori del browser tutte le altre applicazioni non avranno questa restrizione.
Quindi scarichiamo ed installiamo il seguente addon per firefox clicckando "vai al download" e quindi "download ora". Infine una volta installato l'addon riavviate firefox.

Clicca su prefenze di BlockSite
A questo punto andando nella finestra dei "componenti aggiuntivi" sotto "strumenti" cliccate sulle preferenze dell'estensione "blocksite".  Vedi figura.
Una volta fatta questa operazione vi ritroverete dentro una nuova finestra dove potrete facilmente aggiungere tutti i siti che volete bloccare. Non solo i siti che voi inserite verranno bloccati ma anche tutti i link a quei siti che troverete sul web verranno disattivati.
Ecco come filtrare siti pericolosi.

Quindi ora vi si è aperta la finestra delle preferenze di "blocksite". Mettiamo che vogliate impedire ai vostri pargoli di passare al lato oscuro della forza... bene una volta cliccato sul tasto "add" inserite il seguente indirizzo web http://www.microsoft.com e quindi cliccate su OK.
A questo punto mettiamo che i vostri figli entrino in contatto con personaggi loschi e poco raccomandabili e che venga loro la curiosità di sapere cos'è MICROSOFT... quindi andranno su google e digiteranno l'immonda parola..
 
Ed ecco cosa otterranno!!
Però se noterete tutti i sotto domini di microsoft.com saranno accessibili e i link cliccabili. Questo semplicemente perché la gramigna è dura a morire e deve essere estirpata con cura per potersene liberare. Quindi la cosa migliore che possiamo fare è aggiungere ai siti bloccati l'intero dominio microsoft.com inserendo la seguente stringa: http://*.microsoft.com
Ecco adesso avremo fatto un lavoro come si deve e potremo dormire sonni tranquilli.
La cosa interessante di questa estensione è che possibile inserire una password per poter accedere all'estensione stessa.  Per fare ciò basterà cliccare sul flag "Enable Authentication" nelle prefenze di BlockSite e quindi e inserire una password di accesso. Una volta dato l'OK, per rientrare nelle preferenze ,sarà necessario digitare la password segreta. Questo ovviamente per evitare che chicchessia possa alterare o disattivare la lista di siti bloccati.

sabato, aprile 02, 2011

Lanciare applicazioni su pc windows remoti

psexec è una utility a linea di comando per windows molto nota e che potete trovare al seguente link....qui.
Viene utilizzata per lanciare applicazioni  in remoto su pc windows. La sintassi da cmd è molto semplice:
c:\ > psexec \\mypc cmd
Con l'esempio qui sopra è possibile aprire una shell dos sul pc remoto... quasi come in ssh.
Il corrispettivo di psexec in linux si chiama winexe e potete scaricarlo da qui su SF
ecco la sintassi ed un esempio per cambiare la password di administrator:
./winexe -U Administrator%oldpass //mypc 'net user administrator newpass'
molto semplice..

venerdì, febbraio 18, 2011

dump del BIOS

Parliamo ancora di dump, questa volta effettuiamo un dump del bios di un pc, sempre da linux ovviamente:

dd if=/dev/mem of=BIOS.dump bs=1 count=65536 seek=983040

successivamente possiamo analizzare il dump con objdump: objdump -b binary -m i8086 -D BIOS.dump

vostro lewis

giovedì, febbraio 17, 2011

Spostare file con una estensione specifica

Ecco una nuova linea di comando per spostare i file di backup di autocad con estensione .bak in una zona specifica del disco:

# find . -iname "*.bak" -exec mv -v -b --backup=t '{}' /srv2/samba/bak/ ';'

gli argomenti:
-iname "*.bak"  indica di trovare tutti i file con estensione .bak o .BAK o .Bak ecc
-exec mv -v -b --backup=t '{}' /srv2/samba/bak/ ';' questa opzione indica di spostare (mv) tutti i file trovate dall'argomento precedente sotto la directory /srv2/samba/bak gli altri argomenti relativi al move: -v sta per verbose mentre il resto serve per effettuare un backup del file nel caso ci siano file differenti con nomi identici.

Volendo è possibile anche aggiungere -mtime +30 per selezionare i file che sono stati modificati da più di 30 giorni ossia i file più vecchi di 1 mese.
Divertitevi!

un dump ldap di active directory da LINUX

Ecco una semplice linea di comando per effettuare un dump ldap di un albero active directory:

# ldapsearch -x -b "dc=example,dc=local" -D "cn=mio utente,ou=Users,ou=MiaAzienda,dc=example,dc=local" -h 192.168.1.X -W

-x serve ad utilizzare un autenticazione semplice SASL
-b "argomento" è il bind di autenticazione ossia l'utente ldap necessario ad autenticarsi su AD
-D "argomento" è l'ou o il ramo AD di cui vogliamo il dump
-h ip è l'indirizzo del server
-W serve per avere una richiesta della password

Buon Divertimento!

venerdì, gennaio 14, 2011

Autodesk Autocad 2011 e la qualità del supporto

Negli ultimi tempi l'azienda per la quale lavoro ha acquistato alcune licenze di rete per Autocad 2011. Grazie a ciò ho potuto sperimentare la qualità del supporto fornito da autodesk a sysadmin e/o utenti.
Sono partito già abbastanza prevenuto in quanto i costi di licenza di Autocad NET sono a dir poco scandalosi. Non solo i progettisti sono costretti a rimanere schiavi e prigionieri di un formato proprietario e vittime di un monopolio che sembra più un regime che altro. Ma le singole licenze di rete hanno costi fuori da qualunque logica. C'è da dire che molti progettisti in qualche modo se la tirano... perché non fanno nessuno sforzo per cercare di uscire dal tunnel. A tutto ciò si aggiunge la totale ignoranza di certi manager che per paura di sbagliare si affidano al detto "così fan tutti".
Ad ogni modo vengo al punto.
Il supporto di autodesk è davvero pessimo. Ho avuto qualche problema nel deploy dell'applicazione sulla rete e quello che ho trovato è stata maleducazione, scortesia e menefreghismo.  Però a dirla tutta le mie richieste in taluni casi esulavano dal mio diritto in quanto riguardavano più il software di deploy  (wpkg) che non l'installazione nuda e cruda di autocad2011. Ma anche nel caso di domande specifiche sulle licenze e il loro uso autodesk si è dimostrata reticente a volte dimostrando persino di NON comprendere bene la domande fatte.
Insomma sono stati spesi diverse migliaia di euro per 4 dvd e un supporto quasi inesistente. Le problematiche di deploy delle *loro* specifiche directx 9.0c me lo sono dovute risolvere da solo. Mentre le domande sulle licenze hanno avuto come risposta la ricerca sul sito di autodesk.
Addirittura sulla questione del deploy del pacchetto sulla lan si percepiva la sensazione che dall'altra parte non si compredessero nemmeno termini tecnici quali fork o deploy stesso.

La cosa veramente buffa è stata la seguente:
apro un ticket perché un utente mi segnala che appena installato, autocad crasha con "memoria insufficiente" e qualche info di debug.
Quindi insieme al ticket allego un file odt con all'interno gli shot dell'errore. Ebbene il tecnico mi chiede di rimandare il file perché risulta ... *corrotto*.
Mi è davvero venuto il dubbio che il file fosse corrotto .. ma ehmm no.. probabilmente non si potevano permettere openoffice. ROTFL.

Quindi per terminare .. questo autocad è un furto in piena regola, il prodotto non vale il prezzo, il supporto non è all'altezza (almeno per quanto riguarda licenze e installazione) e a dirla tutta anche dal punto di vista di un admin l'immagine di deploy non è il massimo.