DevAdmin Blog

Blog di Ermanno Goletto (Microsoft MVP Directory Services - MCSE - MCSA - MCITP - MCTS)
posts - 1026, comments - 598, trackbacks - 8

My Links

News

Il blog si è trasferito al seguente link:

www.devadmin.it

Avatar

Visualizza il profilo di Ermanno Goletto su LinkedIn

Follow ermannog on Twitter


Il contenuto di questo blog e di ciascun post viene fornito “così come é”, senza garanzie, e non conferisce alcun diritto. Questo blog riporta il mio personale pensiero che non riflette necessariamente il pensiero del mio datore di lavoro.

Logo Creative Commons Deed


Logo SysAdmin.it SysAdmin.it Staff


Logo TechNet Forum TechNet Italia @ForumTechNetIt Follow TechNet Forum on Twitter


Logo MVP

Article Categories

Archives

Post Categories

Blogs

Friends

Knowledge Base

MVP Sites

Resources

Code, Snippets & Scripts

Esempi di codice, Snippets e Scripts
Gestire le notifiche dei server HP tramite Powershell

HP ha nel corso degli anni sviluppato una serie di software per consentire la diagnostica e la verifica dello stato di salute dell’hardware dei propri server. In particolare per quanto riguarda la serie Proliant momento esistono i seguenti tool: HP System Management Homepage (SMH) ovvero una console web che si installa direttamente sul sistema da monitorare che permette di avere una panoramica sullo stato dell’hardware. HP Insight Management WBEM Providers che consente di ottenere informazioni dall’hardware e renderle disponibili alla SMH, di registrare avvisi di notifica nell’event viewer in caso di problemi. I...

posted @ Saturday, December 14, 2013 11:42 PM | Feedback (0) | Filed Under [ Code, Snippets & Scripts Tips IT ]

PowerShell 4: Desired State Configuration

Con la versione 4.0 di PowerShell, introdotta con Ws2012 R2 e W8.1 e disponibile come download per WS2008R2/W7 e WS2012/W8 tramite il Windows Management Framework 4.0 (WMF), è stata resa disponibile la funzionalità Windows PowerShell Desired State Configuration (DSC). DCS premette di verificare la corretta configurazione dei componenti di un sistema locale o remoto, di implementare il continuous deployment e di evitare il configuration drift in modo dichiarativo, autonomo e idempotente. Tramite DCS è infatti possibile realizzare degli “script” dichiarativi (DSC Configuration) nei quali è possibile specificare i componenti (DSC Resource) che devono essere presenti o a assenti...

posted @ Sunday, October 20, 2013 6:48 PM | Feedback (2) | Filed Under [ Links Code, Snippets & Scripts Tips IT ]

Monitoraggio degli accessi tramite PowerShell

Come ho illustrato nel post Hardening di un server Remote Desktop PowerShell può tornare davvero utile come strumento per monitorare gli accessi ad un server particolarmente importante sotto il profilo della sicurezza. Di seguito un semplice script PowerShell che può essere schedulato ad esempio ogni 30 minuti per analizzare l’EventViewer e verificare se vi sono stati accessi con l’utente Administrator o se vi sono stati tentativi di accesso falliti. Lo script genera uno report che viene inviato tramite mail e permette le seguenti impostazioni: $LastMinutes = Numero di minuti precedenti all’ora corrente da cui...

posted @ Thursday, October 10, 2013 5:50 PM | Feedback (0) | Filed Under [ Links Code, Snippets & Scripts Tips Security IT ]

Gestione delle mappe geografiche in QlikView

QlikView è un software di business analysis che consente di eseguire rapidamente analisi e reporting anche in modalità self-services. Oltre a funzionalità ETL, QlikView offre anche la possibilità di avere a disposizione una suite di controlli grafici, al momento però non esiste un controllo nativo specificatamente pensato per la visualizzazione dei dati su di una mappa geografica. In ogni caso è comunque possibile gestire all’interno di QlikView analisi su mappe geografiche, ma occorre gestire due problematiche: il rilevamento delle coordinate geografiche delle località e il rendering della mappa geografica. E’ possibile sfruttare all’interno di QlikView servizi...

posted @ Sunday, August 04, 2013 8:14 PM | Feedback (0) | Filed Under [ Links Code, Snippets & Scripts Tips Database ]

Eliminazione di directory di grandi dimensioni

A volte succede di dover eliminare directory di grandi dimensioni e con un gran numero di sotto directory. Si pensi ad esempio al caso in cui occorre eliminare parzialmente dei backup eseguiti su RDX perché si è eseguito una ristrutturazione di directory, o comunque a tutti quei casi in cui non è possibile semplicemente formattare il volume in cui di trovano i file. In questi casi è possibile cercare di abbreviare i tempi eseguendo un paio di comandi dos: DEL /F /S /Q PathFolder > nul RMDIR /S...

posted @ Wednesday, June 12, 2013 4:00 PM | Feedback (0) | Filed Under [ Code, Snippets & Scripts Tips IT ]

.NET Framework e i parametri opzionali

Con la versione 4.0 del .NET Framework anche C# in Visual Studio 2010 può utilizzare i parametri opzionali, a riguardo si veda Named and Optional Arguments (C# Programming Guide). Questa novità di fatto rappresenta una convergenza verso VB.NET, infatti i parametri opzionali sono sempre stati presenti in VB.NET, a riguardo si veda Optional Parameters (Visual Basic). In realtà con la versione 4.0 del .NET Framework si è deciso di uniformare i due linguaggi C# e VB.NET per allineare le features. Quindi grazie alla cooperazione dei team di sviluppo dei due linguaggi VB.NET ha ora ad esempio l'auto implemented...

posted @ Friday, April 19, 2013 3:53 PM | Feedback (0) | Filed Under [ Links Code, Snippets & Scripts .NET ]

PowerShell exe wapper

Ormai tramite PowerShell è possibile creare script che possono risolvere un gran numero di problematiche amministrative o ripetitive che svolte tramite interfaccia grafica risulterebbero complesse o richiederebbero molto tempo. In alcuni scenari poi potrebbe essere necessario dare la possibilità di eseguire lo script a utenti che si occupano di manutenere determinati asset dell’infrastruttura, ma che non hanno specifiche competenze IT o Dev, ovvero degli utenti Information Worker avanzati. In questi scenari può tornare utile PS2EXE sviluppato da Ingo Karstein per informazioni sul tool oltre alle informazione sull’homepage del progetto su CodePlex si vedano i seguenti: ...

posted @ Friday, April 19, 2013 9:28 AM | Feedback (0) | Filed Under [ Links Code, Snippets & Scripts Tips IT .NET ]

Linq e modifica di una Primary Key

Ipotizziamo di avere le tabelle TestPadri con la colonna ID come Primary Key (PK) e TestFigli con la colonna ID come PK. Inoltre si supponga di avere configurato sul DBMS (per esempio SQL Server la relazioni in modo da modificare a cascata i record figli. Si supponga poi di voler modificare la proprietà ID sulla tabella TestPadri, per come è stata configurata la relazione la proprietà Padre sulla tabella TestFigli verrebbe modificata automaticamente. ...

posted @ Friday, March 08, 2013 10:06 AM | Feedback (0) | Filed Under [ Code, Snippets & Scripts Database .NET ]

Ricerca in una DataGridView tramite Linq

Linq è un degli strumenti più duttili che si ha disposizione dal momento che il suo formalismo è applicabile ad ogni collezione. Di conseguenza è possibile utilizzare Linq anche per eseguire query non solo rivolte ad ottenere dati da database, DataSet o Xml. Nello specifico una situazione in cui Linq può tornare utile è quella di selezionare una o più DataGridViewRow di una DataGridView sulla base del valore contenuto nelle celle di una colonna. Nell’esempio seguente riporto il codice per selezionare una DataGridViewRow ricercando il valore di una cella, nell’esempio ho ipotizzato che la cella contenga un...

posted @ Thursday, February 14, 2013 6:07 PM | Feedback (0) | Filed Under [ Links Code, Snippets & Scripts .NET ]

Gestione di Active Directory Recycle Bin in Windows Server 2012

Tempo fa sul blog di Technet era comparso l’articolo che io e Mario abbiamo scritto sulla gestione del Recycle Bin di Active Directory mediante i cmdlets del modulo PowerShell di Active Directory introdotti in Windows Server 2012. Ora  l’articolo è disponibile anche su Sysadmin.it in formato PDF, per una consentire anche la consultazione offline,  al seguente Gestione AD Recycle Bin in Windows Server 2012.

posted @ Saturday, January 26, 2013 5:41 PM | Feedback (0) | Filed Under [ Links Code, Snippets & Scripts IT ]

Automazione del WSUS CleanUp

Grazie a PowerShell è possibile automatizzare semplicemente anche una delle operazioni amministrative che normalmente venivano svolte manualmente con cadenza periodica (leggi quando ci si ricorda) dagli amministratori di sistema, ovvero il wizard della pulizia guidata di WSUS. L’idea è quella di sfruttare tramite PowerShell la classe CleanupScope contenuta in Microsoft.UpdateServices.Administration.dll che a sua volta non è altro che un assembly .NET. Di conseguenza risulta semplice utilizzare la classe sfruttando la tecnica della Reflection per ottenere un’istanza della classe CleanupScope: [reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration") $wsus =...

posted @ Monday, January 21, 2013 11:02 AM | Feedback (0) | Filed Under [ Links Code, Snippets & Scripts Security IT ]

Windows Server 2012: backup VM in Hyper-V

Con Windows Server 2012 è stato introdotto il modulo per la gestione di Hyper-V tramite PowerShell che rende disponibili 164 cmdlets, per l’elenco e la documentazione di ciascun cmdlet si veda la sezione di TechNet Hyper-V Cmdlets in Windows PowerShell. E’ possibile vedere l’elenco dei comandi dalla console di PowerShell tramite i comandi: Elenco cmdlets: Get-Command -Module Hyper-V Count dei cmdlets: (Get-Command -Module Hyper-V).Count Help di un cmdlet: Get-Help NomeCmdlet (xes: Get-Help GET-VM la prima volta che si invoca il cmd Get-Help verrà richiesto di scaricare l’help, ovvero...

posted @ Monday, November 05, 2012 9:00 AM | Feedback (0) | Filed Under [ Links Code, Snippets & Scripts Tips Virtualization ]

Fine Grained Password Policies e Shadow Groups

Con Windows Server 2008 sono state introdotte le Fine Grained Password Policies (FGPP) che permettono di gestire policy di password diverse per Gruppi di protezione Globali o Utenti (oggetti inetOrgPerson se usati al posto degli oggetti utente). La configurazione delle FGPP in Windows Server 2008 avviene tramite Group Policy Management Editor (gpmc.msc), mentre per l’assegnazione a Gruppi di protezione Globali o Utenti occorre utilizzare ADSIEdit (adsiedit.msc) o ldifde, a riguardo si veda Windows Server 2008 - Fine Grained Password Policy Walkthrough. In Windows Server 2008 R2 grazie all’introduzione del modulo PowerShell per Active Directory è possibile configurare e...

posted @ Friday, October 12, 2012 4:31 PM | Feedback (0) | Filed Under [ Links Code, Snippets & Scripts Tips IT ]

Controllo remoto tramite mail

L’idea di questo post nasce da una discussione nei forum di Sysadmin.it riguardo alla possibilità di potere accedere remotamente ad un computer a richiesta. Vi sono vari approcci, ma un’idea potrebbe essere quella di inviare una mail opportunamente formattata che esegua uno script che consenta l’accesso tramite RDP al computer. Per farlo è possibile utilizzare una applicazione come sRemote descritta al seguente post sRemote - Remote Control for PC via gmail che consente di gestire vari comandi come arresto, ping, messagebox, screenshot, copia di file e vari altri tra cui anche l’esecuzione di un programma con possibilità di...

posted @ Tuesday, July 31, 2012 4:18 PM | Feedback (0) | Filed Under [ Links Code, Snippets & Scripts Tips IT ]

Linq e rowguid

SE si generano con Linq to Entities o Linq to Sql delle entità per tabelle con rowguid non vine trasportata l’impostazione di generazione automatica del valore da parte del Database come invece accade per le identità.   Questo significa che se si inseriscono record nuovi nella tabella con una colonna rowguid a quest’ultima viene assegnato il valore Guid.Empty ({00000000-0000-0000-0000-000000000000}). Per ovviare al problema è possibile ovviare in due medi diversi: Impostare manualmente la proprietà Autogenerate Value a True e la proprietà Auto-Sync a OnInsert. Si tenga però conto che nel caso...

posted @ Monday, July 30, 2012 5:31 PM | Feedback (0) | Filed Under [ Links Code, Snippets & Scripts Tips Database .NET ]

Visual Studio: disabilitazione SplashScreen a runtime

A partire se ben ricordo dalla versione 2005 Visual Studio mette a disposizione un modo estremamente semplice per gestire le SplashScreen all’avvio dell’applicazione. Infatti per attivarne la visualizzazione basta impostare l’utilizzo della Form nelle proprietà dell’applicazione. Se si desidera in base a certe condizioni non visualizzare la SplahScreen, per esempio sulla base di un’impostazione utente dell’applicazione che consente di evitare la visualizzazione leggendo vari post su blog e forum vari approcci, ma quello che alla fine preferisco l’h trovato leggendo questo articolo della library di MSDN WindowsFormsApplicationBase.OnInitialize Method dove viene specificato quanto segue: ...

posted @ Friday, July 13, 2012 1:52 PM | Feedback (0) | Filed Under [ Links Code, Snippets & Scripts .NET ]

Forefront TMG 2010: backup e disaster recovery

In questo post descriverò la metodologia che seguo per il backup e la gestione del disaster recovery di Forefront TMG 2010, essendo un' approccio personale ovviamente non è detto che sia la soluzione migliore o che sia applicabile a tutti gli scenari. In ogni caso può tornare utile a chi si appresta a gestire la problematica se non come soluzione da applicare almeno come spunto per costruire una propria strategia. Innanzitutto va detto che io dopo avere installato Forefront TMG configuro la cache Web  su di un secondo volume (che nell’esempio identificherò con la lettera E:) come consigliato nel...

posted @ Friday, March 23, 2012 12:13 AM | Feedback (2) | Filed Under [ Code, Snippets & Scripts Tips Security IT ]

Script per l’eliminazione dei file obsoleti

Spesso capita di dover gestire il backup di alcuni file e di volere mantenere soltanto i più recenti.  Avevo già pubblicato uno script per eliminazione dei file obsoleti in nel post Clear dei file temporanei dell'utente in Windows XP, ma lo script proposto non è così “duttile” per gestire al meglio l’esigenze negli scenari di backup o mantenimento di file recenti. In questo script VBS che scritto per queste situazioni è possibile specificare la directory in cui eliminare i file file con data creazione superiore ad un numero di giorni specificato e un numero minimo di file che si...

posted @ Wednesday, March 14, 2012 9:30 PM | Feedback (0) | Filed Under [ Code, Snippets & Scripts IT ]

Script per avviare un processo se non attivo

Talvolta occorre trovare un workaround per gestire situazioni particolari come ad esempio quella in cui un processo debba essere avviato in una sessione utente se inattivo o se l’utente lo chiude. Un modo può essere quello di ricorrere ad uno script tramite il comando TaskList presente in Windows XP e successivi. Di seguito un esempio di script per avviare Notepad se non trovato tra l’elenco dei processi. tasklist /fi "imagename eq notepad.exe" | Findstr /I "notepad" if %errorlevel% == 0 goto END ...

posted @ Tuesday, January 10, 2012 10:37 AM | Feedback (0) | Filed Under [ Code, Snippets & Scripts Tips IT ]

Utilizzare gli strumenti di amministrazione tramite RemoteApp: pubblicazione della console di gestione di Hyper-V

In questo post Scenari di utilizzo delle RemoteApp Parte 1 ho parlato di come utilizzare le RemoteApp per eseguire tramite RDP applicazioni residenti su un server RD Session Host basato su Windows Server 2008 R2 su di un client con RDC 6.1 o superiore e sistema operativo XP SP3 o superiore. Questa tecnologia permette quindi ai client di eseguire anche quelle applicazioni che localmente non potrebbero essere eseguire. Un esempio sono gli strumenti di amministrazione di Windows Server 2008 R2. Infatti è possibile installare sui client gli RSAT (Remote Server Administration Tools) che però sono disponibili sono per le...

posted @ Sunday, December 11, 2011 3:27 PM | Feedback (0) | Filed Under [ Links Code, Snippets & Scripts Tips Security Virtualization ]

Impostare la stampante di default tramite script di logon

Una delle domande che spesso ricorre sui forum è come eseguire determinate operazioni di configurazione delle impostazioni utente al logon. L’impostazione della sua stampante di default è senza dubbio una delle richieste che va per la maggior. Vediamo dunque di seguito quali sono i metodi per eseguire questa impostazione. Metodo 1: tramite script batch utilizzando il comando rundll32 printui.dll,PrintUIEntry Se è necessario impostare la stampante di default tramite uno script batch (.bat o .cmd) è possibile ricorrere al comando RUNDLL32 PRINTUI.DLL,PrintUIEntry che consente di eseguire varie operazioni sulle stampanti tra cui l’impostazione della stampante predefinita. ...

posted @ Sunday, December 04, 2011 6:12 PM | Feedback (0) | Filed Under [ Links Code, Snippets & Scripts Tips IT ]

SysInfo.hta V2.0

Ho reso disponibile la seconda release del tool SysInfo.hta basato su file HTA (HTML Application) per eseguire l’asset dei computer aziendali. In questa versione ho aggiunto la ricerca dei Software installati sul computer con l’indicazione del produttore del software, la versione e la data d’installazione. Dal momento che l’elenco può essere corposo ho aggiunto la possibilità di nascondere l’elenco in modo che non compaia a video, nell’eventuale stampa e nell’eventuale salvataggio su file htm. La nuova versione è al seguente link http://sysinfohta.codeplex.com, per una descrizione completa del tool si veda il post SysInfo.hta...

posted @ Thursday, December 01, 2011 11:55 AM | Feedback (5) | Filed Under [ Links Code, Snippets & Scripts IT ]

Hyper-V Guest Console 3.0.0

Hyper-V Guest Console è una console che permette una gestione remota delle macchine virtuali in Hyper-V interfacciandosi tramite WMI. L’obbiettivo di tale console è quello di consentire alcune azioni su determinate macchine virtuali per consentire a consulenti esterni o utenti di eseguire le operazioni consentite sulle macchine virtuali di loro competenza. Per ulteriori informazioni sul progetto si vedano le release notes delle versioni precedenti: Hyper-V Guest Console v1.0.0 Hyper-V Guest Console 2.0.0 E’ possibile scaricare la versione 3.0.0 di Hyper-v Guest Console al seguente link http://hvgc.codeplex.com/releases. Nella versione 3.0.0...

posted @ Monday, November 28, 2011 8:55 AM | Feedback (28) | Filed Under [ Links Code, Snippets & Scripts IT .NET Virtualization ]

Gestione di Hyper tramite tool nativi e di terze parti free–parte 3

Oggi è stata pubblicata sul Blog di TechNet Italia la terza e ultima parte del mio articolo sulla gestione di Hyper-V tramite i tool nativi e quelli di terze parti gratuiti. In questa terza parte conclusiva verranno approfonditi altri tool per la gestione remota sia per installazioni in modalità Full che in modalità Core, come ad esempio Hyper-V Server. In particolare si analizzeranno: Remote Server Administration Tools (RSAT) HVRemote per configurare client e server per l’utilizzo di RSAT in scenari di Workgroup Hyper-V WMI Provider per la...

posted @ Thursday, November 24, 2011 10:00 AM | Feedback (0) | Filed Under [ Links Code, Snippets & Scripts Tips IT .NET Virtualization ]

RDRemote V1.0.0

In questo post Abilitare Remote Desktop remotamente avevo descritto alcuni modi per attivare remotamente le funzionalità di Remote Desktop accennando alla possibilità di utilizzare anche WMI per raggiugere lo scopo. In particolare WMI offre tramite il metodo SetAllowTSConnections della classe Win32_TerminalServiceSetting la possibilità di attivare Remote Desktop e di configurare le Firewall rules relative. Di seguito riporto una tabella con il parametri necessari per configurare correttamente i servizi di Desktop Remoto e il Firewall (un grazie a Strohm Armstrong - Programming Writer Windows SDK per avermi dato delucidazioni in merito): ...

posted @ Monday, November 14, 2011 2:08 PM | Feedback (1) | Filed Under [ Links Code, Snippets & Scripts Security IT .NET Virtualization ]

ListView: visualizzare un ToolTip anche per i SubItem

Per impostazione predefinita se il ListView è impostato in modalità tabella (View = Detail) se si imposta di mostrare il ToolTip per gli item (ShowItemToolTips = True), questo verrà visualizzato solo sulla prima colonna o sulle colonne in cui il testo eccede la lunghezza. Un modo veloce per visualizzate il ToolTip su tutte le colonne è quello di aggiungere alla Form un componente ToolTip, nel mio esempio tltListView e di gestirne la visualizzazione per le colonne diverse dalla prima (SubItem con indice diverso da 0) nell’evento MouseMove del ListView: Private Sub lsvSystemInformation_MouseMove(ByVal sender As Object, ByVal e As...

posted @ Monday, November 14, 2011 10:01 AM | Feedback (0) | Filed Under [ Code, Snippets & Scripts Tips .NET ]

Modifica massiva degli attributi di Active Directory

CodePlex si sta popolando via via di librerie e tools sempre più interessanti. Oggi mi è venuto sotto gli occhi il progetto ADModify sviluppato già da qualche tempo dal Team di Exchange. ADModify utilizza .NET 2.0 e può tornare utile in quelle situazioni dove occorre mettere mano agli attributi di Active Directory per un numero consistente di utenti (per esempio per aggiungere, modificare o eliminare un indirizzo SMTP secondario in seguito ad una migrazione di Exchange). ADModify fornisce una semplice interfaccia grafica per la selezione degli utenti: e la successiva modifica degli...

posted @ Friday, November 11, 2011 8:51 AM | Feedback (0) | Filed Under [ Code, Snippets & Scripts Tips IT .NET Exchange ]

UPCleaner disponibile su CodePlex

Per razionalizzare la gestione dei progetti su cui a tempo perso lavoro ho deciso di mettere su CodePlex anche UPCleaner (User Profile Cleaner). Per i dettagli sul progetto si veda il post UPCleaner un tool per l’eliminazione ed il clear dei profili utente.

posted @ Monday, October 24, 2011 9:54 AM | Feedback (0) | Filed Under [ Links Code, Snippets & Scripts IT .NET ]

SysInfo.hta V1.0

Ci sono situazioni in cui sarebbe comodo avere uno strumento per rilevare la situazione dei computer in azienda, come ad esempio un sopraluogo per eseguire un preventivo per un ristrutturazione dell’infrastruttura informatica oppure la gestione di un inventario di una piccola realtà. Ovviamente ci sono molti tools che eseguono l’inventario Hardware e Software, ma in queste situazioni quello che serve realmente è qualcosa che venga eseguita macchina su ogni macchina e dia le informazioni principali (Modello, BIOS, CPU, RAM, Storage, Network, OS e componenti di sistema) e permetta di aggiungere delle note quindi di salvare o stampare una scheda....

posted @ Friday, September 09, 2011 5:59 PM | Feedback (3) | Filed Under [ Code, Snippets & Scripts IT ]

Sistemi operativi a 64 e HTA

Sui sistemi operativi a 64 bit come ad esempio Windows Server 2008 R2 esistono sia la versione a 32 bit che a 64 bit del Microsoft HTML Application Host (mshta.exe) che permette di eseguire i file HTA (HTML Application). La versione a 64 bit si trova in %SystemRoot%\System32\mshta.exe, mentre la versione a 32 bit si trova in %SystemRoot%\SysWOW64\mshta.exe. Per maggiori informazioni sull’esecuzione delle applicazioni a 32 bit in OS a 64 tramite la tecnologia WOW64 si veda Running 32-bit Applications. Per impostazione predefinita avviando un file HTA su Windows Server 2008 R2 viene aperto l’interprete HTA a 32:...

posted @ Wednesday, September 07, 2011 10:10 PM | Feedback (0) | Filed Under [ Code, Snippets & Scripts Tips ]

HP Proliant ML110 G6: configurazione dell’avvio automatico in presenza di alimentazione

Sempre più spesso utilizzo la virtualizzazione in ambito industriale impiegando Hyper-V per virtualizzare VM che eseguiranno supervisioni o elaborazioni di processi produttivi, interfacciandosi a PLC e CN tramite Ethernet in modo diretto o con l’impiego di convertitori RS232 - Ethernet o RS485 – Ethernet. In questo modo i sistemi risultano indipendenti dall’hardware in quanto comunicano esclusivamente tramite Ethernet senza l’impiego di schede hardware di comunicazione. Ciò fa si che il ripristino di questi sistemi sia assolutamente rapido in quanto è sufficiente copiare il file del VM su un nuovo il server di virtualizzazione che potrà avere anche hardware differente...

posted @ Saturday, August 27, 2011 4:31 PM | Feedback (2) | Filed Under [ Links Code, Snippets & Scripts Tips IT Virtualization ]

DatagridView evento CellPainting

Ultimamente nei ritagli di tempo mi sto dedicando allo sviluppo di Hyper-V Guest Console e per la la prossima versione sto lavorando alla visualizzazione della situazione dei VHD sia lato VM che lato Host. L’idea di base è dare evidenza oltre che alle informazioni relative al VHD (Nome, Tipo, eventuale VHD padre, Dimensione, Path e Dimensione del file fisico) anche della della situazione delle spazio disponibile nel volume in cui il file del VHD è memorizzato. Poiché oltre ai meri dati numeri una visione grafica dello spazio disponibile in stile progress è sicuramente più immediata...

posted @ Wednesday, July 06, 2011 10:19 AM | Feedback (0) | Filed Under [ Links Code, Snippets & Scripts .NET Virtualization ]

Hyper-V: Backup di una VM come utente non amministratore

Nel seguente post Hyper-V backup di macchine virtuali avevo discusso uno script che utilizza la PowerShell management Library for Hyper-V per eseguire le seguenti operazioni: Arresto della VM Compattazione dei VHD della VM Esportazione della VM Avvio della VM Nel caso sia necessario eseguire questo script mediante un utente senza privilegi amministrativi è necessario configurare alcune autorizzazioni sui file VHD e in Hyper-V. Di seguito si ipotizzerà di voler eseguire lo script mediante l’account Operatore che appartiene solo al gruppo locale Users. Se...

posted @ Wednesday, June 29, 2011 3:16 PM | Feedback (0) | Filed Under [ Links Code, Snippets & Scripts Tips Virtualization ]

Hyper-V Guest Console 2.0.0

Hyper-V Guest Console è una console che permette una gestione remota delle macchine virtuali in Hyper-V interfacciandosi tramite WMI. L’obbiettivo di tale console è quello di consentire alcune azioni su determinate macchine virtuali per consentire a consulenti esterni o utenti di eseguire le operazioni consentite sulle macchine virtuali di loro competenza. Per ulteriori informazioni sul progetto si veda Hyper-V Guest Console v1.0.0. E’ possibile scaricare la versione 2.0.0 di Hyper-v Guest Console al seguente link http://hvgc.codeplex.com/releases. Nella versione 2.0.0 di Hyper-V Guest Console ho aggiunto le seguenti funzionalità: Interfaccia grafica a Tab per poter...

posted @ Wednesday, June 15, 2011 11:19 PM | Feedback (0) | Filed Under [ Code, Snippets & Scripts IT .NET Virtualization ]

Batch per esecuzione ping su elenco host

A volte può essere necessario eseguire operazioni su un elenco di computers se questi rispondono al PING, come ad esempio lo shutdown. Di seguito un semplice script DOS modificabile a seconda delle necessità che utilizza un file testo PCs.txt contente l’elenco dei computer da contattare uno per riga. *** Esempio PCs.txt ** PC001 PC002 PC003 Di seguito invece lo script scritp dos PingPCs.cmd da memorizzare nella stessa directory del file PCs.txt (in caso contrario specificare il path completo del file contenete...

posted @ Wednesday, May 18, 2011 11:01 AM | Feedback (13) | Filed Under [ Code, Snippets & Scripts Tips IT ]

Linq, SQL Server e transazioni

Il modo migliore per gestire in Linq una transazione è quello di utilizzare la classe TransactionScope utilizzando un codice del genere: dim p As Product = Nothing Using dc = DBDataContext()     p = New Product()     p.Code = “ABC”     p.Description = “Product ABC”     dc.Products.InsertOnSubmit(p)     p = New Product()     p.Code = “XYZ”     p.Description =...

posted @ Thursday, May 12, 2011 6:13 PM | Feedback (0) | Filed Under [ Links Code, Snippets & Scripts Database .NET ]

Exchange Message Tracking Log

A partire dal Exchange 2007 è stato introdotta la funzionalità Verifica Messaggi che permette di eseguire query sui messaggi inviati e ricevuti dal server Exchange. Tale funzionalità non fa altro che fornire un’interfaccia grafica per la costruzione di un comando PowerShell per l’interrogazione del Message Tracking Log tramite il cmdlet Get-MessageTrackingLog.   Come si può vedere dall’esempio proposto per una ricerca di mail inviate all’indirizzo destinatario@dom.it con oggetto “Oggetto mail” nel periodo temporale 23/03/2011 07.00 – 29/03/2011 19.00 viene generato il comando: get-messagetrackinglog -Recipients:destinatario@dom.it -EventID "SEND" -MessageSubject "Oggetto mail" -Start "28/03/2011 7.00.00"...

posted @ Monday, April 11, 2011 11:42 AM | Feedback (0) | Filed Under [ Links Code, Snippets & Scripts Tips Exchange ]

NotifyIcon.ShowBalloonTip: alcune note

Tramite il componente NotifyIcon è possibile visualizzare dei BallonTip di notifica all’utente utilizzando il metodo ShowBalloonTip. Vis sono però alcuni comportamenti che potrebbero non essere quelli attesi: A seconda del sistema operativo il BallonTip può rimanere visibile da un minimo di 10 secondi fino ad un massimo di 30 secondi a seconda del sistema operativo. Valori maggiori o minori di timeout verranno ignorati. Dalla documentazione: “Minimum and maximum timeout values are enforced by the operating system and are typically 10 and 30 seconds, respectively, however this...

posted @ Wednesday, March 30, 2011 9:06 AM | Feedback (0) | Filed Under [ Links Code, Snippets & Scripts Tips .NET ]

Hyper-V Guest Console v1.0.0

In questo post Hyper-V Gestione remota avevo discusso quali sono gli strumenti nativamente disponibili per gestire remotamente Hyper-V. Vi sono però scenari in cui questi risultano non utilizzabili o non così semplici si pensi ad esempio ai seguenti casi: Gestione remota eseguita da computer con S.O. precedenti a Windows 7 in cui gli RSAT non possono essere utilizzati. Gestione remota da parte di utenti esterni all’organizzazione a cui si vuole permettere solo alcune operazioni su determinare macchine virtuali. Di qui la decisione di provare a scrivere Hyper-V Guest...

posted @ Tuesday, March 22, 2011 11:10 PM | Feedback (2) | Filed Under [ Links Code, Snippets & Scripts .NET Virtualization ]

Attendere il completamento di BackgroundWorker

Per attendere che un BackgroundWorker termini l’esecuzione asincrona, ad esempio per chiudere una form in modo corretto, il modo più semplice è quello di usare la proprietà Busy e invocare il metodo Application.DoEvents() per non bloccare l’interfaccia utente come indicato in BackgroundWorker.IsBusy Property. Esempio: Private Sub FormMain_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing     While Me.backgroundWorker1.IsBusy         Application.DoEvents()     End While End Sub

posted @ Friday, February 11, 2011 11:58 AM | Feedback (0) | Filed Under [ Links Code, Snippets & Scripts .NET ]

Hyper-V: Ottenere un thumbnail di una VM in VB.NET

Hyper-V può essere gestito tramite WMI in quanto espone un completo modello ad oggetti tramite cui è possibile ricavare informazioni ed eseguire operazioni. Tra le varie operazioni vi è anche la possibilità di ottenere il thumbnail di una macchina virtuale in esecuzione, funzionalità sfruttata dalla console di gestione di Hyper-V (virtmgmt.msc).   Questa possibilità oltre che essere sfruttata per ottenere un thumbnail può essere utilizzata anche per ottenere degli screen shoot approccio che può tornare utile nel caso nella VM venga eseguito un’applicativo di puro monitoraggio. Si pensi ad esempio ad applicativi per il controllo di...

posted @ Thursday, February 03, 2011 6:50 PM | Feedback (0) | Filed Under [ Links Code, Snippets & Scripts Tips Virtualization ]

WIM2VHD: convertitore da WIN a VHD

Su MSDN Code Gallery spesso soluzioni interessanti, tra le varie una degna di nota è sicuramente lo script Windows(R) Image to Virtual Hard Disk (WIM2VHD) Converter. Tramite WIM2VHD è possibile convertire un file in formato WIM nel formato VHD. Ciò significa che è possibile creare dei VHD per librerie di VM per i sistemi rilasciati tramite il formato wim (Windows Vista e successivi) evitando ad esempio SysPrep. Lo script richiede Windows AIK o OPK (OEM Preinstallation Kits) e consente anche di automatizzare la creazione del VHD come si può vedere dagli esempi proposti sulla pagina del progetto: ...

posted @ Tuesday, February 01, 2011 1:54 PM | Feedback (0) | Filed Under [ Links Code, Snippets & Scripts Tips IT Virtualization ]

Stampa codici a barre in VB.NET

Per un’esigenza di stampa codici a barre di tipo Code128 ho fatto una ricerca tra le varie librerie e progetti Open Source. Tra i vari che ho visto un paio non mi sono dispiaciuti per la semplicità: Barcode Rendering Framework progetto Open Source su CodePlex iTextSharp porting della libreria Open Source java iText su SourceForge per la creazione di PDF, ma che consente anche la creazione di codici a barre Quella che però ho preferito è iTextSharp che esegue un rendering migliore del codice a barre (la libreria...

posted @ Thursday, October 14, 2010 5:54 PM | Feedback (5) | Filed Under [ Links Code, Snippets & Scripts .NET ]

ComboBox Readonly

Talvolta sarebbe utile rendere ReadOnly un ComboBox in modo che visualizzi solo il suo contenuto senza permettere modifiche. Nativamente questo è possibile impostando la proprietà ReadOnly, ma in questo modo la leggibilità non è il massimo: Quello che servirebbe avere la possibilità di poter impostare il ComboBox in modalità ReadOnly come avviene per il TextBox, purtroppo questa modalità non è prevista in modo nativo mentre pare che in VB6 esistesse una proprietà Locked che non più stata implementata. Il suggerimento che viene dato su MSDN per implementare la funzionalità di Locked del VB6 è...

posted @ Monday, August 09, 2010 3:13 PM | Feedback (1) | Filed Under [ Links Code, Snippets & Scripts ]

VB.NET 2008 Scrittura settings di applicazione

Gli Application Settings sono in sola lettura e non è possibile modificarli e salvarli tramite My.Settings. Talvolta però nasce l’esigenza si porteli midificare si pensi ad esempio nel caso di sviluppo di tool in cui si voglia utilizzare il file confing per mantenere le impostazioni che devono essere uguali per tutti gli account utente. Di seguito una semplice funzione per impostare un Setting con scope Application, per aggiornare i settings dopo aver scritto su file il valore sarà sufficiente invocare la My.Settings.Reload() Public Shared Sub WriteApplicationSetting(ByVal settingName As String, ByVal value As String)     Const sectionGroupName...

posted @ Saturday, May 08, 2010 5:00 PM | Feedback (8) | Filed Under [ Code, Snippets & Scripts .NET ]

Disabilitazione Launch Action in Adobe Reader

Recentemente è stata scoperta una “falla” nella specifica del formato PDF che permette di avviare un eseguibile senza sfruttare alcuna specifica vulnerabilità di Adobe Reader. Per informazioni si veda il seguente post PDF "/Launch" Social Engineering Attack dove viene suggerito di disabilitare la funzionalità Launch Action. Per disabilitare tale funzionalità è anche possibile impostare la seguente chiave di registry: HKEY_CURRENT_USER\Software\Adobe\Acrobat Reader\9.0\Originals Name: bAllowOpenFile Type: REG_DWORD Data: 0 Per impedire che la funzionalità possa...

posted @ Monday, April 26, 2010 6:32 PM | Feedback (0) | Filed Under [ Code, Snippets & Scripts Tips Security ]

Visual Studio 2008 deploy di assembly di terze parti

A volta può capitare che un’applicazione utilizzi assembly di terze parti e che quindi occorra poi eseguire il deploy di tali assembly sui computer. Ciò però significa che se tali assembly vengono aggiornati occorre rieseguire il deploy degli assembly di terze parti. Quindi ambienti dove non si ha a disposizione strumenti di deploy automatizzato come SCCM e gestire via group policy la situazione costituirebbe un carico amministrativo troppo elevato a causa della frequenza di aggiornamento di tali assembly da parte del produttore (si pensi a controlli di terze parti quali ad esempio DevExpress) la soluzione migliore è che l’applicazione...

posted @ Friday, March 05, 2010 12:01 PM | Feedback (0) | Filed Under [ Links Code, Snippets & Scripts ]

Microsoft Fax: Operation Failed Error code 0x35 (53)

Da parecchi anni uso con soddisfazione il servizio fax di Microsoft offerto a partire da Windows 2003 server e XP decisamente semplice da configurare e da utilizzare con il pregio di poter essere semplicemente utilizzato nelle applicazioni (a riguardo si vedano Broadcasting a Fax e Sending a Fax). In particolare in una applicazione .NET è possibile utilizzare il seguente codice (in VB.NET): Dim document As FAXCOMEXLib.FaxDocument = Nothing Try    'Creazione Documento    document = New FAXCOMEXLib.FaxDocument    'Impostazione Destinatario ...

posted @ Friday, January 22, 2010 11:51 PM | Feedback (0) | Filed Under [ Links Code, Snippets & Scripts Tips IT ]

PowerShell cmdlet Get-ADObject e contesto di ricerca

Durante la mia sessione al SysAdmin.it  Community Tour dello scorso 15 gennaio si è verificato un piccolo intoppo durante l’esecuzione del cmdlet per il ripristino dell’account cancellato nella demo del Recycle Bin di Active Directory. In particolare mi riferisco al seguente: Get-ADObject -Filter {displayName -eq "Mario Rossi"} -IncludeDeletedObjects | Restore-ADObject  Il motivo per cui non ha funzionato era che il cmdlet Get-ADObject falliva la ricerca dell’account e la causa era dovuta al fatto che ho eseguito il comando in una shell di PowerShel che avevo utilizzato per la demo del provider PowerShell per Acitive Directory....

posted @ Sunday, January 17, 2010 8:58 PM | Feedback (0) | Filed Under [ Links Code, Snippets & Scripts Tips ]

Script per ottenere l’elenco dei servizi in esecuzione

Tramite il seguente script è possibile ottenere un file csv (nella stessa directory dello script) con l’elenco dei servizi in esecuzione nel seguente formato: In questo modo è possibile visualizzare velocemente il nome visualizzato, il nome del servizio, la modalità di avvio e l’account con cui viene eseguito il servizio Option Explicit Const LogFilename = "ServicesList.csv" Const ForAppending = 8 ...

posted @ Tuesday, January 05, 2010 7:27 PM | Feedback (0) | Filed Under [ Links Code, Snippets & Scripts ]

Full Code, Snippets & Scripts Archive

Powered by:
Powered By Subtext Powered By ASP.NET