Code, Snippets & Scripts
Esempi di codice, Snippets e Scripts
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...
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: ...
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. ...
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...
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.
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 =...
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...
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...
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...
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...
Full Code, Snippets & Scripts Archive