-
Disponibile per il download la nuova versione Release Candidate 1 del Service Pack 1 per Windows 7 e Windows Server 2008 R2.
Qui il download degli eseguibili e ISO.
Qui il download della documentazione.
-
In questi giorni sta circolando un exploit “0-day”, che sfrutta una vulnerabilità di Adobe Acrobat Reader 9.3.4 e precedenti.
In attesa che Adobe realizzi una fix (le ultime notizie dicono la settimana del 4 Ottobre [!]), ecco un esempio pratico di come si possa usare Enhanced Mitigation Experience Toolkit 2.0 (EMET) per proteggere i propri host.
Nel frattempo EMET è stato aggiornato alla versione 2.0.0.1, nello stesso articolo trovate le novità della versione.
-
Microsoft ha appena rilasciato il primo Rollup per Exchange Server 2007 SP 3.
E’ disponibile qui per il download.
Nella stessa pagina viene raccomandata l’installazione a tutti i clienti che abbiano fatto deploy di SP3.
In effetti la lista di fix nella apposita KB2279665 è abbastanza consistente.
Ciao,
Claudio
-
Da qualche tempo Microsoft sta pubblicando dei “poster” architetturali, per meglio visualizzare i componenti e le tecnologie coinvolti in un prodotto. Sono davvero utili per raccogliere in maniera compatta, quindi sintetizzata ma tutto sommato completa, le correlazioni tra un componente e l’altro.
Ho raggruppato qui sotto quelli più recenti e significativi.
Windows Server 2008 R2 Feature Components Poster
http://www.microsoft.com/downloads/details.aspx?FamilyID=64a5cc28-f8a1-4b30-a4a2-455c65bda8d7&displaylang=en
Windows Server 2008 R2 Hyper-V Component Architecture
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=5567b22a-8c47-4840-a88d-23146fd93151
Windows Server 2008 R2 Remote Desktop Services Component Architecture Poster
http://www.microsoft.com/downloads/details.aspx?FamilyID=9bc943b7-07c5-4335-9df9-20e77ed5032e&displayLang=en
Per Windows Server 2008 sono stati pubblicati in passato due poster, rispettivamente per Active Directory (quindi abbastanza adeguato anche per 2008 R2) e per i componenti base del S.O.
http://www.microsoft.com/downloads/details.aspx?FamilyID=c2b9e44e-0bbd-47cb-bc09-b3d48be7f867&displaylang=en
Microsoft Exchange Server 2010 Component Architecture
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=CEA0CF7E-D824-49BB-8924-39D66A5FB88E&displaylang=en
Microsoft Exchange Server 2010 Transport Server Role Architecture Diagrams
http://www.microsoft.com/downloads/details.aspx?familyid=6EB8C09A-6EA4-442A-9FAA-DE33265CEB84&displaylang=en
Exchange Server 2007 Component Architecture
http://www.microsoft.com/downloads/details.aspx?FamilyID=FDCDF6E5-DE47-4B58-8086-282101BCDDE9&displaylang=en
Microsoft Exchange Server 2007 Transport Server Role Architecture Diagrams
http://www.microsoft.com/downloads/details.aspx?FamilyID=612F811D-2953-4C08-945E-833C17150083&displaylang=fr&displaylang=en
Office Communications Server 2007 R2 Workload Architecture Poster
http://www.microsoft.com/downloads/details.aspx?FamilyID=AF2C17CB-207C-4C52-8811-0ACA6DFADC94&displaylang=en
SharePoint Server 2010 Technical diagrams
http://technet.microsoft.com/en-us/library/cc263199.aspx
-
I due Team di Exchange Server e ForeFront Threat Management Gateway (TMG), hanno ammesso una incompatibilità tra Exchange Server 2010 SP1 e TMG, quando si effettua al’ugrade a SP1 di Exchange su un Edge co-locato su TMG.
Non esiste ancora una hotfix, che sarà rilasciata dal Team di TMG.
Davvero sorprendente la causa del problema (la rimozione di alcune Cmdlet da parte del Team Exchange - che non ha avvisato l’altro ?) ma soprattutto come due prodotti nati per convivere insieme possano miseramente cadere su un Service Pack.
Ma i Team si parlano ? Qualcuno fa dei test, almeno per i SP ?
Mah …
Aggiornamento del 21/09/2010:
Disponibile il Software Update 1 for Microsoft Forefront Threat Management Gateway (TMG) 2010 che risolve il problema di compatibilità con Exchange 2010 SP1
-
What’s new (wow!)
http://technet.microsoft.com/en-us/library/ff459257(EXCHG.141).aspx
Release notes
http://technet.microsoft.com/en-us/library/ff728620(EXCHG.141).aspx
Download
http://www.microsoft.com/downloads/details.aspx?FamilyID=50b32685-4356-49cc-8b37-d9c9d4ea3f5b&displaylang=en
FAQs e Know Issues
http://msexchangeteam.com/archive/2010/09/01/456094.aspx
Altre risorse aggiornate per Exchange Server 2010 SP1:
Microsoft Exchange Server 2010 SP1 Language Pack Bundle
http://www.microsoft.com/downloads/details.aspx?familyid=56C2AF38-A080-4CE1-8518-E63EE87F11C5&displaylang=en
Exchange Server 2010 SP1 UM Language Packs
http://www.microsoft.com/downloads/details.aspx?FamilyID=EE7D3F0E-81BD-46CE-8F23-A38199E2C6EE&displaylang=en
Exchange Management Shell Quick Reference for Exchange 2010
http://www.microsoft.com/downloads/details.aspx?familyid=6A516CC0-C337-40C5-ADDA-3E8F023870E1&displaylang=en
Exchange Server 2010 SP1 Help
http://www.microsoft.com/downloads/details.aspx?familyid=2685440C-8E55-463A-AB96-102EDDF8A7C4&displaylang=en
Exchange Server 2010 SP1 VHD
http://www.microsoft.com/downloads/details.aspx?FamilyID=53F7382A-3664-4DE3-8303-31E514D69F02&displaylang=en
-
Un recente post sul Blog Microsoft Security Research & Defense ha annunciato l’imminente rilascio della nuova versione 2 del Enhanced Mitigation Experience Toolkit.
Si tratta di uno strumento, davvero ingegnoso, per la protezione dagli attacchi su eseguibili che non hanno le ultime funzionalità di protezione (DEP, ASLR, SEHOP, …), di cui non abbiamo più i sorgenti o di cui è difficile ottenere una fix.
EMET agisce come un wrapper attorno a processi opportunamente configurati, per intercettare gli attacchi e produrre un innocuo crash, piuttosto che una dannosa Remote Code Execution.
Può essere usato ad esempio per proteggere Internet Explorer 6 su Windows XP, quando non possiamo aggiornare per dipendenze con ActiveX e proteggere da attacchi tipo Heap Spray Allocation (i più usati verso IE) verso un ActiveX che non possiamo aggiornare/patchare.
In attesa del rilascio, potete dare un’occhiata alla versione precedente di EMET, nota precedentemente come Enhanced Mitigation Evaluation Toolkit 1.02.
La nuova versione introduce due nuovi tipi di protezione e migliorati strumenti di configurazione.
Per approfondire il tema, Microsoft ha reso disponibile un video con alcune demo.
Ciao, Claudio
Aggiornamento del 2/9/2010:
EMET 2.0 è ora disponibile per il download.
-
Una domanda piuttosto frequente, data la Best Practice di avere *SEMPRE* corrispondenza tra la versione dell’Host e dei Guest Components di Hyper-V, è come si faccia a determinare quale versione sia in esecuzione in una VM.
In realtà i metodi potrebbero essere diversi, partendo dal gratuito ma molto empirico censimento via WSUS (per esempio) di quali server siano “Virtual Machine” (Computer Model) e poi verificando la parte finale del BIOS, che indica la versione (080002 per 2008 SP2, 090004 per 2008 R2) … ma direi abbastanza scomodo :)
Purtroppo anche in piattaforme Hyper-V gestite da System Center Virtual Machine Manager (SCVMM), non esiste un modo (almeno io non l’ho trovato) per ottenere quell’informazione, ma solo per sapere se una VM ha gli IS installati (un pò deludente).
Ho preso spunto quindi dal post “Hyper-V How To: Check if ICs are Current using Script” di Tony Soper, per generalizzare la script e renderla un pò più flessibile nell’uso.
In particolare la mia versione accetta in input una lista di nomi di host default: (“'.” per il localhost), estrae dal registry di ciascun host la versione di IS disponibile e produce un elenco di VM in esecuzione, con la rispettiva versione, indicando se è “Up to date” o meno. Le VM da analizzare possono essere filtrate per wildcard sul nome (es: PROD%, WinXP%, …), usando il secondo parametro opzionale (di default le estrae tutte).
.\Check-HvIs.ps1 HV01 %2003%
estrae la versione degli IS per le VM che contengono “2003” nel proprio nome, sull’host HV01.
L’output è un array di oggetti Powershell, che può essere filtrata, sortata, formattata “as usual”. Ad esempio:
.\Check-HvIs.ps1 HV01,HV02 | ? {$_.IsVmGuestUptodate -eq $False}
fornisce l’elenco delle VM che non hanno gli IS aggiornati al proprio host.
Quì il download di Check-HvIs.ps1
Ciao, Claudio
-
Come segnalato da Giorgio sul blog del TechNet Team italiano, Microsoft ha rilasciato ieri un update rollup per il ruolo Hyper-V di Windows Server 2008 R2 (e Hyper-V Server) che mette insieme alcune fix uscite nei mesi scorsi.
Più specificatamente include queste fix:
- 975530 Stop error message on an Intel Xeon 5500 series processor-based computer that is running Windows Server 2008 R2 and that has the Hyper-V role installed: "0x00000101 - CLOCK_WATCHDOG_TIMEOUT"
- 974909 The network connection of a running Hyper-V virtual machine is lost under heavy outgoing network traffic on a Windows Server 2008 R2-based computer
- 981791 "STOP: 0x0000001a" error message on a computer that has an Intel Westmere processor together with the Hyper-V role installed on Windows Server 2008 or on Windows Server 2008 R2
Non è chiaro (dalle date e i version number si direbbe di sì, ma NON è ufficiale), ma spero vivamente che sia così, se il rollup include anche la KB981618 e questa recente (un pò esoterica ma ormai server Hyper-V con molta RAM non sono così infrequenti :-) ).
Nella prima, data da un errata (bug) di alcune CPU AMD, siamo purtroppo incappati in un progetto di virtualizzazione SAP …
L’update è disponibile da ieri sia su Windows Update che in WSUS, assieme ad alcune altre fix, documentate qui.
Si tratta finalmente di un approccio corretto al patching di una tecnologia che è divenuta *Mission Critical* per molte aziende, che non possono aspettare i tempi BI-BLI-CI dei service pack e non possono affidarsi a processi manuali di selezione e deployment delle fix, con rischi non indifferenti di regression. Prima di questa data l'unico riferimento pseudo-ufficiale a eventuali supersedence, era questa pagina del TechNet.
Molto meglio un bel rollup e WSUS/SCCM ;-)
Speriamo che questo approccio venga mantenuto, con cadenza regolare, in attesa dei futuri Service Pack, e che possibilmente venga estesa anche all’intero ecosistema di Hyper-V e non solo all’Hypervisor.
Per un efficace funzionamento della piattaforma, in realtà sono necessarie anche altre fix, che raccomando sempre, In particolare:
- 975354 A Hyper-V update rollup package is available for a computer that is running Windows Server 2008 R2
- 977357 A memory leak issue occurs in the Windows Management Instrumentation service on a computer that is running Windows Server 2008 R2 or Windows 7
- 974672 Virtual machines stop responding (hang) during startup and the Vmms.exe process crashes on a Windows Server 2008 R2 computer that has the Hyper-V role installed
- 982210 The startup time increases every time after you back up the data on all the disks of the computer in Windows Server 2008 R2 if the computer runs some virtual machines
Il deployment in scenari Failover Cluster richiede in realtà altre fix, ma questo è materiale per un altro post.
Ciao, Claudio
-
Microsoft ha rilasciato una hotfix per risolvere un problema piuttosto subdolo, che si innesca nell'uso di VSS per fare backup di Virtual Machines su host Windows Server 2008 R2 / Windows Hyper-V Server 2008 R2. In breve, il VSS provider crea un nuovo device/volume per ciascuno shapshot effettutato, non rimuovendo mai queste informazioni dal registry, che crescerà a dismisura.
Ambienti partciolamente a rischio sono quelli basati su DPM 2007/2010, specie se i numeri di VM/VHD e la frequenza degli snapshot è elevata. Al limite (quando il numero di volumi supera qualche migliaio), l'host potrevbbe apparire "hung" al boot, o non completare mai il boot).
Il bug NON riguarda Hyper-V V1 di Windows Server 2008, anche se alcuni post su Internet affermano il contrario.
L'articolo (KB982210) pubblicato, ha diversi errori e imprecisioni, che rendono la comprensione e l'dentificazione del problema non proprio trasparente e semplice.
- Le chiavi del registry indicate, sono o imprecise (la prima suggeria non cambia mai nel tempo) o sono assolutamete specifiche di un server e potreste non ritrovarle affatto sul vostro host
- Alcuni rifermenti sono a 'ControlSet001', guardate invece sempre dentro a 'CurrentControlSet'
- Il titolo dell'articolo parla di "after you back up the data on all the disks of the computer in Windows Server 2008 R2 if the computer runs some virtual machines", in realtà il problema si presenta SEMPRE, non solo se salvate TUTTI i dischi, basta innescare il VSS Provider per Hyper-V anche solo per un System State di una VM
- L'articolo indica un supposto comando "devnodeclean", che NON esiste
Potrebbe essere un tool da richiedere al PSS, o da compilarsi da soli usando il codice di esempio nell'altra KB linkata ...ma non è chiaro e francamente mi pare un pò troppo !
Per semplificarmi la vita, ho scritto una piccola script Powershell 2.0, per verificare il numero di Volumi/Device presenti su una lista di hosts Hyper-V. Ha come prerequisito la funzionalità di Remoting, basata su WinRM, che deve essere configurata sugli host Hyper-V (anche via GPO).
Non si tratta di una script particolarmente "smart" o sofisticata, ma magari vi può servire. Va modificata per fornire la lista di host Hyper-V 2 si cui eseguire il controllo, per definire le credenziali di default per la connessione.
Quindi se a distanza di qualche giorno, osservate un incremento costante dei numeri riportati, dovete installare la hotfix. La fix però NON ripulisce il registry delle entry precedenti, quindi o vi procurate la "fantomatica" utility "devnodeclean" o usate il suggerimento pubblicato qui, sull'uso del vecchio "regchk".
Hyper-V comincia ad avere bisogno di un rollup !
Ecco la script:
$Cred = Get-credential DOMAIN\AdmAccount
$HVhosts = @("HVNODE1","HVNODE2") # Potrebbe essere un 'get-content serverlist.txt'
$HvHosts | % {
Invoke-Command -ComputerName $_ -Cred $Cred -ScriptBlock {
#$RegKeys = 'Enum\SCSI\Disk&Ven_Msft&Prod_Virtual_Disk','Enum\STORAGE\Volume','Control\DeviceClasses\{53f5630d-b6bf-11d0-94f2-00a0c91efb8b}'
$RegKeys = @('Enum\STORAGE\Volume','Control\DeviceClasses\{53f5630d-b6bf-11d0-94f2-00a0c91efb8b}')
PushD 'HKLM:\System\CurrentControlSet'
$RegKeys | % {
Write-Host $Env:Computername,$_, (dir $_).Count
}
PopD
}
}
Produrrà un output di questo tipo:
HVNODE1 Enum\STORAGE\Volume 768
HVNODE1 Control\DeviceClasses\{53f5630d-b6bf-11d0-94f2-00a0c91efb8b} 774
HVNODE2 Enum\STORAGE\Volume 775
HVNODE2 Control\DeviceClasses\{53f5630d-b6bf-11d0-94f2-00a0c91efb8b} 783
-
Sul blog Ask DS di Microsoft, è comparso questo post che annuncia e spiega il servizio di Group Policy Search "in the cloud" (ecco .. così ho anche io un post che nomina la parola dell'anno ...), su Windows Azure.
Si tratta di un comodo servizio online (quindi sempre aggiornato - se non muore tra 3 mesi), per esplorare o cercare una certa Group Policy, ottenendo informazioni sulla compatibilità rispetto alle versioni, alla chiave di registry correlata, ecc.
Le GPO possono essere filtrate per versioni (per esempio in modo da includere solo quelle per versioni specifiche di OS/applicativo). Al momento sono supportate solo le GPO "base", ma probabilmente verranno estese a breve.
Il servizio è altresì interessante per la possibilità di installare (dal menù "Settings") sul proprio Internet Explorer 7 o 8, un Search Provider, che estende la barra di ricerca a quel servizio. Sarà quindi possibile cercare ad esempio "WinRM" direttamente da IE, per ottenere tutte le GPO che contengono quella stringa.
Ma è possibile anche estendere l'integrazione, questa volta solo per Windows 7, alla shell di Windows, aggiungendo dallo stesso menù del sito un Search Connector, che consentirà di cercare direttamente dal proprio desktop.
Comodo :)
-
E' disponibile il primo Service Pack per Microsoft Forefront Threat Management Gateway (TMG) 2010.
Consolida diverse hotfix che erano uscite e poi subito "sparite" dal sito Support di Microsoft, oltre a introdurre alcune novità. Qui trovate le Release Notes.
Qui il download di TMG 2010 Service Pack 1.
Altamente consigliato!
-
E’ disponibile da qualche giorno il secondo Rollup per Exchange Server 2007, post Service Pack 2.
La lista delle fix è come sempre consistente, ma ci sono anche alcune novità utili per i Sysadmins. In particolare è ora possibile registrare un evento quando log o db crescono in modo anomalo, ad esempio per loop in regole create dagli utenti o uso massivo di allegati, ecc.
Anche il ruolo UM (Unified Messaging) ha due piccole modifiche, più precisamente nell’Auto Attendant, per gestire meglio il messaggio vocale per le date “vacanza” e la gestione dell’ora legale.
Il Rollup è sempre basato sul motore di setup del UR1, interessante per le novità introdotte, ora più controllabile, interrompibile e “smart” nelle verifiche preliminari e nella generazione delle .Net native image (NGEN).
Ciao, Claudio
-
Segnalo un ottimo post del bravissimo Daniele Grandini, di Progel, dove sono elencate le hotfix "Out-of-band" per la piattaforma Windows, che hanno un impatto significtivo in ambienti gestiti da System Center Operations Manager 2007/2007 R2 e dal più piccolo System Center Essentials 2007.
Alcune delle fix segnalate non le conoscevo ( Grazie Daniele
), altre sono purtroppo note e ALTAMENTE necessarie.
In primis confermo il consiglio di effettuare il deployment di Windows Scripting Host 5.7 sugli host pre-Vista/2008 e poi di applicare la KB 933061 che stabilizza l'ambiente WMI e riduce sia il carico amministrativo in SCE/SCOM che il quello di elaborazione indotto.
Alcune informazioni aggiuntive su questa KB le trovate sempre sul blog di Daniele:
http://nocentdocent.wordpress.com/2009/07/03/kb-933061-and-some-interesting-effects/
Ciao, Claudio
-
Un link interessante, finalmente qualcuno si è preso la briga di catalogare tutti i Blog ufficiali dei Team di prodotto Microsoft.
http://blogs.technet.com/blogms/pages/directory-of-microsoft-team-blogs.aspx
-
La notizia sicuramente più “succosa” è il rilascio da parte di Microsoft di
oltre 20,000 righe di codice, secondo la licenza GPL v2, alla comunità Opern
Source, dei Synthetic driver di Hyper-V per Linux.
Ciò significa, chje
potenzialmente potremmo avere a breve una inclusione nel Kernel tree di Linux,
dei tre driver. Di conseguenza significa poter disporre di ottime performance
nella virtualizzazione su Hyper-V di qualunque Kernel Linux includa quei driver,
sfruttando l’enlightened mode e non più l’emulazione.
http://www.microsoft.com/presspass/features/2009/Jul09/07-20LinuxQA.mspx
http://blogs.technet.com/virtualization/archive/2009/07/20/linux-ics-for-hyper-v-and-gplv2.aspx
Anche se ci sono ancora alcune limitazioni (es: il supporto multi-processor
per i guest Linux), si tratta finalmente di una eccellente notizia, dopo
l’evidente empasse del rilascio degli Integration Services per Linux, che sul
Connect langueva da mesi (anni ? :-)), lasciando spesso interdetti sulla
strategia complessiva per il supporto di Linux su Hyper-V.
L’altra notizia correlata è che con Windows Server 2008 R2, salirà il numero
di Kernel di cui Microsoft rilascerà sia gli IC completi ed installabili, che il
supporto diretto (ad oggi si parla di SLES 11, RHEL 5.2/5.3 oltre alla “storica”
SLES 10).
Ulteriori novità arriveranno in H2, quando dovrebbe essere
completato il processo di certificazione da parte di Red Hat (http://blogs.technet.com/virtualization/archive/2009/02/15/Microsoft-and-Red-Hat-Joint-Technical-Support.aspx).
AMD-V, SLAT, RVI (tic, toc, boom !)
Bell’articolo su “AMD-V Rapid Virtualization Indexing (RVI)”, la tecnologia
che è sfruttatta da Windows Server 2008 R2 Hyper-V (2.0) per implementare
“Second Level Address Translation” (SLAT) sulle piattaforme AMD.
Come si evince dall’articolo, non tutti i workload ne trarranno lo stesso
beneficio, ma di certo per i palati più esigenti ed i carichi più estremi si
tratta di una innovazione di rilevo.
http://doingitvirtual.com/blogs/virtualzone/archive/2009/07/20/amd-v-rapid-virtualization-indexing-and-windows-server-2008-r2-hyper-v-second-level-address-translation.aspx
VMWare e la “Core Tax”
Articolo (di parte) con alcuni spunti interessanti sui costi di Hyper-V vs
VMWare VSphere, in relazione alle ultime versioni e in rapporto ai Core dei
processori fisici. VMWare deve ragionarci sopra ... o saranno dolori; non vedo molti clienti dell'area Mid-Market disposti a seguirla su questa strada.
http://blogs.technet.com/virtualization/archive/2009/06/28/Beware-the-VMware-Core-Tax-and-More.aspx
Hotfix e rilasci per Hyper-V & family
Aggiornamento per supporto di Vista Service Pack 2 per Hyper-V Management
Tools
Hyper-V
Management Tools update for Windows Vista Service Pack 2
Aggiornamento post service pack 2, per Hyper-V di Windows Server 2008/Hyper-V
Server, per crash di vmwp.exe, in condizioni di stress
http://support.microsoft.com/kb/970089/en-us/
-
Questo sì è un link da segnarsi bene !
Si tratta di un comodo wizard via web, per verificare se una determinata tecnologia di Virtualizzazione è utilizzabile nella propria azienda, per implementare un prodotto Microsoft, ottenendo una configurazione SUPPORTATA.
Due gli aspetti fondamentali, oltre alla ovvia praticità di avere un unico repository (aggiornato) per queste informazioni (piuttosto che scartabellare tonnellate di documenti o KB); le tecnologie di virtualizzazione NON SONO SOLO QUELLE MICROSOFT e la pagina finale indica eventualmente quali singoli componenti del prodotto/tecnologia sono supportati e con quali prerequisiti o correttivi.
Quindi sarà possibile capire se Microsoft supporta deteminati prodotti non solo su Hyper-V, ma ad esempio anche VMWare ESX o altre piattaforme di Server Virtualization.
Davvero comodo, a patto che venga mantenuto aggiornato.
Ciao, Claudio
-
Ci sono poche cose che mi fanno arrabbiare quanto la documentazione (?) di Powershell in Data Protection Manager (DPM) 2007 ... inesistente è dire davvero poco
.
Tra l'altro il modello e l'implementazione delel CmdLets scelto dal team di DPM è quantomeno originale ... e poco omogeneo con Powershell stesso e le sue filosofie.
Siccome ci ho sbattuto sopra la testa non poco (e sono molto BUONO
), condivido su questo blog un pò di codice per produrre un restore automatizzato di una Virtual Machine Hyper-V, protetta da DPM.
# Un pò di dichiarazioni
$dpmname = $env:computername
$pgName = "PG03-HyperV"
$dsname = 'Backup Using Child Partition Snapshot\Earth'
$targetserver = "cerere.domain.local"
$targetlocation = "D:\"
Ora dobbiamo recuperare Il Protection Group che contiene il DataSource di cui intendiamo fare restore e poi selezioniamo l'ultimo Recovery Point, tra quelli disponibili:
$pg = get-protectionGroup -DPMServerName $dpmName | where {$_.friendlyname -eq $PgName}
$ds = get-datasource -protectiongroup $pg | where {$_.name -eq $DsName}
$ro = Get-RecoveryPoint -Datasource $ds | sort | select -last 1
A questo punto la parte più "complessa" (la New-RecoveryOption è tra le CmdLets più astruse e peggio documentate ...)
$Rop = New-RecoveryOption -GenericDatasource -TargetServer $targetserver -RecoveryLocation CopyToFolder -RecoveryType Restore -TargetLocation $targetlocation
E ora l'ultimo passaggio 
Recover-RecoverableItem -RecoverableItem $Ro -RecoveryOption $rop
Ora non ci resta che attendere e in un subfolder (generato automaticamente da DPM) troveremo i files (VHD ed XML) che costituiscono la VM, comprensivo di VM State.
Nella sessione Virtual machines backup strategies with Data Protection Manager (DPM) | VC18 che presenterò alla Microsoft Virtualization Conference '09 vedremo qualche altro esempio di scripting per Hyper-V con Powershell e DPM, magari producendo una versione più completa di questo frammento di codice.
Ciao, Claudio
-
La prima edizione di Microsoft Virtualization Conference '09 si terrà il 22 e 23 Settembre 2009 presso il “Microsoft Realizing Potential Congress Center” di San Felice a Segrate (MI).
Pulsar IT sarà presente all’evento con due speaker, Alessandro Appiani ed io.
Queste le mie sessioni:
Automating large scale virtual infrastructures with System Center Virtual Machine Manager (SCVMM) and Powershell | VC03
“La gestione di ambienti virtuali è un aspetto davvero critico per l’efficacia delle soluzioni, forse più che in un ambiente fisico.
Con l’arrivo di Hyper-V 2.0 in Windows Server 2008 R2, accoppiato con Powershell 2 e il nuovo System Center Virtual Machine Manager 2008 R2 si pongono nuove basi per affrontare questo compesso tema.
Nella sessione, dopo una veloce carrellata sulle novità delle singole piattaforme, discuteremo delle possibili tecniche e modalità di gestione, partendo dal provisioning di ambienti virtuali fino alle operazioni di manutenzione ordinaria e straordinaria.
Il tutto condito da esempi pratici e script Powershell, per dimostrare la sinergia delle tecnologie.”
Virtual machines backup strategies with Data Protection Manager (DPM) | VC18
“Garantire un efficace backup e restore di dati e configurazioni è elemento fondamentale di una soluzione di backup, che nelle soluzioni virtuali rischia di complicarsi ulteriormente.
Infatti il mix di criticità (fisico-virtuale), la ragguardevole dimensione degli oggetti virtualizzati, la necessità di rispettare le integrità applicative (es: Exchange/SQL logs) unite alle tradizionali problematiche di volumi e tempistiche, fanno del backup uno dei temi più complessi della virtuazlizzazione.
In questa sessione vedremo come affrontare il problema e scegliere le migliori strategie da usare, nel proteggere i diversi workload virtuali e gli host fisici Hyper-V con System Center Data Protection Manager 2007.
Vedremo insieme alcuni aspetti per il corretto dimensionamento e utili indicazioni per il disegno ed il troubleshooting della soluzione di backup.”
All’evento sarà anche presente Jeff Woolsey - Lead Program Manager, Windows Virtualization di Microsoft Corp., protagonista in queste settimane di un “gustoso” scambio di post con VMWare, finito in una ingloriosa figura per il colosso della virtualizzazione (per colosso intendo VWare … non Microsoft, che però lo diventerà presto
).
A Settembre allora :-)
Claudio
-
Data Protection Manager 2007 (DPM), pur essendo dotato di cmdlets specifiche per Powershell, è piuttosto incompleto.
Ad esempio non ci sono cmdlets per gestire i jobs, alerts, ecc. (e sul grado di documentazione di quello che c’è … lasciamo perdere …).
La domanda su come poter risolvere (inattivare) gli alert in modo batch è stata posta diverse volte sui DPM Forum, ma anche i membri del Team DPM hanno affermato che non esiste un modo per farlo via Powershell.
Qualcuno in giro per il web, pur di evitare di inattivare "uno-a-uno" (sì, la DPM management console NON supporta la selezione multipla !), si è pure lanciato in temerarie operazioni direttamente sul DB SQL ($brividi = $TRUE).
In realtà un metodo esiste e una volta “scoperto” è pure banale … ma probabilmente NON è supportato (anche se lo uso da diverso tempo in ambienti di produzione e non ha mai causato problemi).
DISCLAIMER: usatelo a vostro rischio – USE AT YOUR OWN RISK
# Ci connettiamo al server DPM
$Dpm = connect-dpmserver $Env:Computername
#Otteniamo un oggetto AlertController
$Ac = $Dpm.Get_AlertController()
# Estraiamo solo i Pending Alerts
$AC.RefreshAlerts( $False)
# TA-DAAA … inattiviamoli tutti
$AC.ActiveAlerts | % { $_.ResolveAlert()}
La potenza di .Net applicata a Powershell (o viceversa
)
Ciao, Claudio
-
Ho aggiornato il WSUS PowerToolkit alla versione 1.2, includendo due nuove script.
Wsus-DeclineAllObsolete.ps1
Consente di declinare TUTTI gli update (usate a vostro rischio) che sono indicati come obsoleti (Superseded) nel database di WSUS.
Questo può essere utile nei casi di pulizia massiva di una installazione WSUS, dopo essersi accertati di aver approvato però gli aggiornamenti successivi.
Wsus-DeclineSupersededBy.ps1
Questa script ricerca gli update resi obsoleti da uno specifico aggiornamento (descrizione - passato come parametro stringa, case insensitive), che non siano già declinati e li declina.
Questo è utile per fare il decline dei soli update sotituiti da uno successivo. Si può passare una stringa “generica”, come ad esempio 'Windows Malicious Software Removal Tool', o 'update rollup for activex killbits', per inculdere una intera famiglia di aggiornamenti.
Ho anche aggiornato e fixato alcune delle scritp precedentemente rilasciate.
Have fun,
Claudio
-
Ho aggiornato il WSUS PowerToolkit alla versione 1.1, includendo due nuove script.
Wsus-Sync.ps1
Consente di eseguire una sync di WSUS, con notifica via mail dell’esito.
Questo può essere utile in quei casi in cui lo scheduling rigido di WSUS, non risolva le vostre esigenze. Quindi si può schedulare la script con il task scheduler di Windows, disattivando la sincronizzazione automatica nelle opzioni di WSUS.
Wsus-PendingReboot.ps1
Questa script ricerca eventuali computer nel database di WSUS che siano in stato di Pending Reboot, notificando la lista via mail.
Questo è utile per evitare che un computer (server) resti per lungo tempo in stato di pending dopo aver applicato le patch manualmente, o dove si previene il reboot da GPO quando un utente ha fatto logon.
Entrambe le script usano Wsus-SendMail.ps1, per recuperare destinatario e server SMTP dalle opzioni di WSUS.
Have fun,
Claudio
Nota:
Nuova versione disponibile su http://www.pulsarit.net/cs/blogs/claudiog/archive/2009/06/10/wsus-powertoolkit-1-2.aspx
-
Strumenti, tools & c.
Nuova versione di PSHyperV, la libreria per gestire piattaforme Hyper-V tramite Powershell.
http://www.codeplex.com/PSHyperv
Nuova versione del gadget Hyper-V Monitor per la Sidebar di Windows Vista.
http://mindre.net/post/Hyper-V-Monitor-Gadget-for-Windows-Sidebar.aspx
Convertire immagini WIM in file VHD.
http://code.msdn.microsoft.com/wim2vhd
http://blogs.technet.com/pgmalusardi/archive/2009/02/09/da-file-wim-a-file-vhd-con-un-semplice-script.aspx
Articoli, blogs, documentazione &c.
Ottimo tutorial su come implementare Hyper-V R2 su BladeCenter S di Massimo Re Ferrè.
http://it20.info/blogs/main/archive/2009/02/09/177.aspx
Interessante raccolta di documenti, blog e preziose informazioni di dimensionamento e tuning per Hyper-V
http://blogs.technet.com/tonyso/archive/2009/01/30/hyper-v-how-to-plan-hyper-v-deployment.aspx
Guida passo-passo per usare iSCSI Target su WSS / WUDSS con Hyper-V
http://blogs.technet.com/josebda/archive/2009/01/31/step-by-step-using-the-microsoft-iscsi-software-target-with-hyper-v-standalone-full-vhd.aspx
Recovery manuale di AVHD
http://blog.networkfoo.org/?p=384
Formazione
eLearning gratuito su Hyper-V
https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=228501
Licensing
Licensing di prodotti Server su Hyper-V.
Hyper-V Hosting Guidance: Using and Licensing Microsoft® Server Products in Hyper-V Virtual Hosting Scenarios
-
Ho deciso di raccogliere in un "toolkit" dal roboante nome di "WSUS PowerToolkit"
tutta una serie di scripts Powershell, che ho scritto nei mesi precedenti per gestire Windows Server Update Services (WSUS).
La gestione di WSUS non è propriamente comoda, anche se in molte realtà si può pensare ad un uso "automatico" ( ovvero approva tutto su tutti); ma in situazioni più normali un minimo di gestione, automatismo, pulizia, reportistica e segnalazione sarebbe desiderato.
Ho quindi realizzato una serie di script, alcune nuove e altre riviste rispetto a quelle già postate a suo tempo su 127.0.0.1 questo stesso blog.
In realtà sono parte di una serie molto più vasta ... ma il tempo, e quindi la possibilità di produrre codice finito e presentabile, è scarso !
Scripts
Wsus-SendMail.ps1
Si tratta di un "building block" per mandare mail direttamente ai riferimenti indicati nella configurazione di WSUS (recipient) usando il server SMTP specificato sempre nella configurazione stessa.
Da solo non serve a nulla, nel senso che invia una mail di test; viene usato dalle altre script
WSus-StatusMail.ps1
Invia una mail di status su numero nodi, aggiornamenti installati/da installare, in errore, ecc.
WSus-RemoveOldComputers.ps1
Rimuove dal DB di WSUS i computer che non si sono connessi da XX giorni.
Decline-ObsoleteDefinition.ps1
Decline-Itanium.ps1Decline di definizioni (Es: Exchange AntiSpam, ForeFront Client Security signature,
ecc.) e dei binary di Itanium (che servono nello 0.1 % delle installazioni di WSUS ...).
Wsus-CleanUp.ps1
Esegue il cleanup del DB/files obsoleti di WSUS, inviando mail di notifica sui risultati. Non rimuove computer dal DB.
Questa procedura è importante per recuperare spazio su disco e DB, specie in seguito alla esecuzione delle precedenti.
Download
Il WSUS PowerToolkit 1.0 è disponibile qui.
Si accettano feedback e suggerimenti.
Ciao,
Claudio
-
Divertentissimo post di Per Østergaard 
Una giornata vissuta al TechEd, descritta con pseudo-codice Powershell !
-
Ho riletto oggi il post di Giorgio Malusardi, relativo a come creare una nuova voce del boot menu di Windows Server 2008 con BCDEDIT, che disabiliti l'Hypervisor.
Dato che può tornare utile, mi sono scritto una script Powershell, così mi fa anche l'export dello store di Boot Configuration Data (BCD) prima di modificarlo (procedura che può comunque tornare utile come "Best Practice"), salvandolo come file ad esempio in C:\SERVER1-20080930.bcd
bcdedit.exe /export "$env:SystemDrive\$($env:computername)_$([datetime]::utcnow.ToString( 'yyyyMMdd')).bcd"
$res = bcdedit.exe /copy '{current}' /d 'Windows Server 2008 - NO Hypervisor'
$id = $res.Split('{}')[1]
bcdedit.exe /set "{$id}" hypervisorlaunchtype off
La script completa con un *minimo* di controllo d'errore è disponibile come Boot_No_Hyper-V.ps1
Claudio
-
Anche quest'anno si tiene a Milano la Microsoft SharePoint Conference, questa volta organizzata presso il Convention Center di Fiera Milano City e non presso Microsoft, come per le precedenti edizioni.
Pulsar IT sarà presente con due speaker, Alessandro Appiani ed il sottoscritto, in due differenti sessioni della nutrita agenda, preparata da Igor Macori e Paolo Pialorsi.
Ci vediamo in conferenza, se siete tra i fortunati che ce l'hanno fatta a iscriversi (ha fatto "sold-out") !
Claudio
-
Patch
Per produrre un ambiente stabile basato su Windows Server 2008 e Hyper-V, non bastano un buon hardware e le Best Practice ... ci vogliono anche delle hotfix 
Ecco un elenco delle fix che consiglio caldamente di applicare, per ottenere un ambiente Hyper-V solido ed efficace:
Hotfix di stabilità
ma se usate NLB in Windows Server 2008 (anche non con Hyper-V, quindi) probabilmente avrete bisogno di questa:
Poi veniamo alle fix specifiche, che estendono le funzionalità e la stabilità di alcuni componenti "chiave" di hyper-V e dell'offerta di virtualizzazione Microsoft:
Questa è la madre di tutte le fix per Hyper-V 
Troppo lunga da commentare, ma un must in ambienti di Failover Clustering di Hyper-V (uno dei fiori all'occhiello della Server Virtualization Microsoft, specie se ragionata in rapporto ai costi-benefici).
Che richiede implicitamente anche l'applicazione di http://support.microsoft.com/kb/950182/en-us/ per far digerire al kernel delle VM Guest Windows 2008 x86 i processori a 6-Core (in realtà se gli fate vedere un numero di processori "non potenza di 2")
Fix specifiche per System Center Virtual Machine Manager (SCVMM) e Hyper-V
Tools
Finalmente rilasciato il tool (free) per convertire macchine virtuali Virtual Server/VPC in Hyper-V.
Si tratta di "VMC to Hyper-V Import Tool" (VMC2HV) rilasciato da Matthijs ten Seldam, già autore del famoso VMRCplus, dopo un periodo di testing interno che durava da prima di Luglio.
In sostanza si tratta di un tool (sia x64 che x86) che legge il file .VMC, tipico di VS 2005 e VPC 2007, e lo "converte" in un file di configurazione XML per Hyper-V, preservando quindi le configurazioni della VM (RAM, file .VHD, ecc.). Ovviamente il processo si poteva già fare, manualmente, riutilizzando il file VHD ma la procedura era tediosa e a rischio di errori.
Chiaramente il tool non rimuove le VM Additions di VS/VPC e non installa gli Hyper-V Guest Components (gli ex-Integration Services ... che nome del cavolo !) di Hyper-V, operazione da fare poi manualmente dopo aver fatto partire la VM in Hyper-V e che richiederà qualche reboot per essere completo; ma si tratta sempre di un bell'aiuto.
Segnalo anche la nuova versione di PowerShell Management Library for Hyper-V, rivista e migliorata.
Tips & tuning
La prima area di miglioramento di prestazioni (a costo ZERO) che vale la pena di indagare, è quella del cambio di formato dei VHD (passando da dynamic a static), che oltre ad essere un requisito per ottenere supporto su alcuni workload virtualizzati, migliora di parecchio le performance.
Alcune interessanti valutazioni le trovate qui, emblematico il caso dell'I/O a blocchi da 4KB:
http://blogs.technet.com/winserverperformance/archive/2008/09/19/hyper-v-and-vhd-performance-dynamic-vs-fixed.aspx
Claudio
-
Sul blog del Ask the Directory Services Team di Microsoft, trovate una bella serie di articoli su Kerberos.
La prima serie è fatta di 4 articoli molto approfonditi sul Troubleshooting:
Interessanti poi due altri articoli più introduttivi per la comprensione di Kerberos in quanto tale (terminologia, processi e tools) e del concetto di "Double Hop":
Di gran lunga il problema più frequente che riscontriamo presso le aziende, è l'errata configurazione dei SPN in Active Directory (associazione con il Security Principal sbagliato, SPN duplicati o del tutto mancanti), specie per ambienti SQL Server in Cluster e le web application (dove ci sia quindi di mezzo IIS e magari la constrained delegation).
-
Riprendo come al solito i post di Piergiorgio Malusardi, questa volta per segnalare il suo completo riassunto su Hyper-V che è Released To Web (RTW).
Con largo anticipo sulla data stimata di Agosto (e questa è già una novità
), Microsoft ha rilasciato la versione finale della sua piattaforma di Server Virtualization. Per ora il download è manuale, ma sarà disponibile su WU (e WSUS ?) l'8 di Luglio.
Devo dire che, seppure qualche caratteristica è mancante rispetto ad altre piattaforme ( ... di chi starò parlando ... mah ?!), la sua stabilità è davvero notevole e le prestazioni sono ottime; ma ciò che più attrae è la piattaforma di Management, che se da un lato è orientata alla famiglia System Center, dall'altro offre già di base un interfaccia di scripting (WMI based) micidiale.
Siamo in produzione sia internamente in Pulsar IT, che presso un cliente del "Upper Mid Market", dove abbiamo quasi completato un progetto di migrazione a Windows Server 2008 ed Exchange 2007, già da alcuni mesi (RC0) e non abbiamo avuto davvero alcun problema.
I ruoli virtualizzati vanno dai Domain Controller, DHCP+DNS+RADIUS, Exchange 2007 HT+CAS, WSUS, Web Server, ...
Stiamo anche ospitando da un paio di settimane sul ns. server Hyper-V anche il sito di Ugiss, lo User Group Italiano di SQL Server.
Certo non si tratta di aver virtualizzato TechNet e MSDN ma ... si fa quel che si può!
Aggiungo alcune altre risorse a quelle segnalate da Piergiorgio:
10 domande frequenti su Hyper-V
What to consider before you upgrade
PowerShell Management Library per Hyper-V
Le interviste con il Team di Hyper-V
-
Su CodePlex è disponibile un nuovo Provider per Powershell, scritto da Oisin Grehan (Microsoft MVP), già autore di PSEventing (PowerShell Eventing) e developer nel gruppo di PowerShell Community Extensions.
Si tratta del PowerShell Windows Mobile Provider, che consente di accedere sia in modo interattivo che programmatico a dispositivi Windows Mobile da PowerShell.
Molte le attività che si possono scriptare: dalla gestione del file system, alla conversione di file, l'esecuzione di processi, alla estrazione di informazioni sul dispositivo, ecc.
Si tratta ancora di una Beta, ma di certo un bel tool. Bravo Oisin !
Un altro interessante spunto ci viene da PowerShell Tunnel, disponibile sulla MSDN Code Gallery.
Applicazione decisamente interessante per accedere da una CLI PowerShell agli oggetti esposti in una applicazione .Net, hostata appostamente in un "runspace" di PowerShell e raggiunta tramite l'infrastruttura WCF.
Lo scopo ? Debugging, inspection ... ma anche esecuzione di metodi e modifica di proprietà ... tutto unito alla potenza di PowerShell. Una bella idea di Matthew Hobbs.
Vi segnalo anche un feed RSS, per essere sempre aggiornati sulla pubblicazione di nuovi contenuti (scripts) sul TechNet Script Center.
-
Finalmente Microsoft ha raggruppato in un unico portale, tutte le informazioni sulle tecnologie di Failover Clustering, il nuovo nome introdotto in Windows Server 2008 per MSCS o Server Clustering.
Un ottimo punto di partenza per accedere a informazioni di ogni genere e profondità, sulle tecnologie di server clustering di Windows Server 2008.
-
Una delle funzionalità più utili in ambienti "branch office", ovvero di deployment di servizi di Directory in filiale, è il Read Only Domain Controller, che definendo un DC a sola lettura, delegabile in amministrazione locale e solitamente privo delle password degli user account, aumenta la sicurezza di un ambiente AD.
In questo modo si beneficia del domain controller locale (vicino ai client/servizi), parzialmente delegato in amministrazione, ma senza sacrificare la sicurezza.
Microsoft ha rilasciato un nuovo compatibility pack per indirizzare una serie di scenari di scarsa compatibilità tra questo tipo di Domain Controller ed client/server downlevel.
Si applica a client Windows XP SP2 o SP3 e server Windows 2003 SP1 o SP2.
-
Data Protection Manager 2007 prevede un meccanismo di verifica dell'integrità di una Replica (un "backup" in vecchia terminologia) di un DataSource, chiamato Consistency Check.
In questo articolo del Core Team proprio sul CC di DPM 2007, trovate alcune informazioni più dettagliate.
Poichè sono alle prese con alcuni problemini, ero alla ricerca di procedure di automazione del CC ed ho trovato sul blog del Team di DPM questa script PowerShell per invocare un Consistency Check su un DataSource di DPM 2007.
La script, pur essendo utile, ha un difetto di design: esegue CC per NOME del DataSource all'interno di un Protection Group ... ma non gestisce il fatto che il NOME può essere duplicato all'interno di un PG (ES: salvate il disco "C:\" di più server nello stesso PG, il SystemState, ecc.).
Ho modificato la script per renderla un pò più tollerante e gestire questo caso (affatto infrequente), oltre ad averla un pò rivista. Appena ho un pò di tempo (bisogna anche fatturare
), ne scriverò una versione che accetti un DataSource *specifico* (Es: SystemState del SERVER01).
Ecco la script: DPM-ConsistencyCheck2.ps1
Ciao, Claudio
-
Anche quest'anno a Milano, ma questa volta presso Microsoft a San Felice, si terrà dal 27 al 29 di Maggio la conferenza tecnica di DevLeap, DevCon 2008.
Densissime le tre giornate, tutte incentrate su .NET 3.5, con particolare riguardo a LINQ, ma senza tralasciare il "vecchio" (si fa per dire), ovvero WCF/WPF/WF.
Non mancano sessioni più orientate alle soluzioni complessive (SharePoint, Asp.Net, ecc.) e qualche sessione più visionaria e architetturale (Web Futures, Parallel programming, ...).
E dal detto "Pochi ma buoni" ... 4 speaker ma di assoluta eccellenza, come sempre.
-
Tra i prodotti citati come compatibili con Windows Server 2008, nella apposita pagina sul sito Microsoft, già citata in un post precedente, c'è indicato come "Applications that are currently compatible", anche Data Protection Manager (DPM) 2007.
La situazione è purtroppo abbastanza diversa ...
- la porzione server del prodotto NON è installabile su Windows Server 2008, ma solo la parte client (Agent)
- dei server Windows Server 2008 NON è possibile gestire la parte SystemState (!)
- Non è supportato il backup delle Virtual Machines Hyper-V (e questo lo concediamo ... è in RC0 ;-)
Come compatibilità direi che non siamo proprio al top.
Il tutto dovrebbe essere correttamente gestito dal Service pack 1 per DPM 2007, previsto per fortuna abbastanza presto. Potrebbe anche comparire con un update a parte, se SP1 andasse per le lunghe.
Nel frattempo consiglio caldissimamente di installare questa hotfix per DPM 2007, che permette di sistemare non pochi problemi (a prescindere da Windows Server 2008), in special modo il punto 3 della KB.
Dopo l'applicazione bisogna purtroppo ridistribuire gli agent di DPM (sigh!).
Claudio
-
Craig Landis ha pubblicato un ottimo post sul Blog del team di Active Directory ("Ask the Directory Services Team"), su come abilitare (sia da CLI che da VBScript che da Powershell) il debug log per molti componenti AD-related.
L'articolo è ricchissimo di impostazioni e link ad articoli specifici. I componenti trattati vanno da Active Directory Federation Service (ADFS) a Winlogon, in rigoroso odine alfabetico.
Ottimo davvero: il "bigino" del debug logging 
Claudio
-
Da qualche giorno è disponibile la versione aggiornata di Microsoft Deployment Toolkit (MDT) 2008, oltre ad un aggiornamento per Business Desktop Deployment (BDD) 2007.
Trovate alcune informazioni aggiuntive sul Blog ufficiale del Team di MDT, assieme a qualche altro post interessante sul tema.
Questo rilascio segue di pochi giorni quello di Automated Installation Kit (AIK), che supporta ora sia Windows Vista SP1 che Windows Server 2008. (Oltre ai consueti Windows XP e WIndows Server 2003).
Ulteriori risorse sui temi del deployment sia per client che per i server, sono disponibili nella home page dei Solution Accelerators per il Deployment.
-
Lavorare con le enum in Powershell non è molto comodo, la sintassi è prolissa e ricordarsi i valori da associare non è così semplice (certo c'è sempre il sito MSDN ...).
Basandomi sul codice di questo articolo di $hay@Israel, ho creato questa variazione per estrarre le enum per SQL Server Server Management Objects (SMO), ... ma non solo.
Il codice in realtà permette potenzialmente di stampare tutte le enum presenti in un qualsiasi Assembly .Net, oppure solo una porzione di esse usando un parametro di filtro (Es: *Database*, ).
Partiamo dal primo spunto, preso quasi integralmente dal post di $hay@Israel:
function Get-EnumValues{
if ($args.Count -eq 0) {
write-warning "`nEnum parameter is empty. Nothing to Get"
} else {
[enum]::getvalues($args[0]) | select @{n='Name';e={$_}},@{n='Value';e={$_.value__}} | ft -auto
}
}
Possiamo usare questa funzione per estrarre tutti i valori da una specifica enum:
Get-EnumValues System.ConsoleColor
Get-EnumValues System.IO.FileAttributes
Get-EnumValues System.IO.FileAccess
Get-EnumValues System.IO.FileOptions
Ora scriviamo una funzione un pò più sofisticata, per estrarre tutte le enum da un Assembly, eventulamente passando un filtro e i classici $Verbose e $Confirm di Powershell (che andrebbero sembre gestici anche nelle proprie funzioni):
function Get-AllEnumValues (
[String] $Assmbl = $(throw 'Mandatory Assembly name parameter is missing'),
[String] $eFilter = '',
[switch] $Verbose = $False,
[switch] $Confirm = $True
) {
if ( $eFilter -ne '') {
$local:filter={$_.basetype.fullname -eq 'system.enum' -and $_.name -like $eFilter}
if ($Verbose) {
write-host "eFilter = $eFilter"
}
} else {
$local:filter={$_.basetype.fullname -eq 'system.enum'}
if ($Verbose) {
write-host "eFilter = ''"
}
}
if ($Verbose) {
write-host "Assembly = $Assmbl"
}
[System.Reflection.Assembly]::LoadWithPartialName($Assmbl).gettypes() | ? {& $Filter} | % {
write-host "`t--- [$_] ---"
Get-EnumValues $_
if ($Confirm) {
read-host " Press any key to continue"
}
}
}
Ora non ci resta che scrivere una funzione accessoria che usa la precedente, per estrarre le enum da specifici assembly che magari usiamo spesso:
function Get-SMOEnumValues (
[String] $eFilter = '',
[switch] $Verbose = $False,
[switch] $Confirm = $False
) {
Get-AllEnumValues 'Microsoft.SqlServer.SqlEnum' $eFilter -Confirm:$Confirm -Verbose:$Verbose
}
Ora possiamo scrivere ad esempio:
Get-SMOEnumValues # o Get-SMOEnumValues *
Get-SMOEnumValues Job*
Get-SMOEnumValues *Status
Ovviamente questo può essere esteso ad altri Assembly, a piacere:
function Get-SDEnumValues (
[String] $eFilter = '',
[switch] $Verbose = $False,
[switch] $Confirm = $False
) {
Get-AllEnumValues 'System.Data' $eFilter -Confirm:$Confirm -Verbose:$Verbose
}
Get-SDEnumValues *Command* -Confirm:$True -Verbose:$True
Il codice completo di esempio è disponibile qui.
Claudio
-
Powershell dispone di una policy per il controllo dell'esecuzione di script .ps1 (quindi anche dei profile), che consente di indicare se si voglia consentire o meno l'esecuzione di file .ps1 e se questi debbano essere firmati digitalmente.
Questa Policy (quindi una chiave di registry in HKLM, in sostanza), è accessibile e modificabile con le due cmdlet Get-ExecutionPolicy e Set-ExecutionPolicy.
Microsoft ha rilasciato (già da qualche tempo), un file .ADM che può quindi essere importato in una Group Policy, per governare centralmente questo aspetto.
Se anche Powershell stesso fisse distribuibile via GPO, saremmo a cavallo ... ma purtroppo con la scelta (davvero infelice, come mi ha confermato lo stesso Jeffrey Snover, incontrato al IT Forum di Barcellona) di pacchettizzarlo come Update di Windows ...
-
Sono già 6 i cumulative update rilasciati per SQL Server 2005 Service Pack 2.
Se da un lato questo è apprezzabile, dall'altro instilla qualche dubbio sia sulla qualità di SP2, che sulla frettolosità di certi rilasci "cumulativi".
Microsoft ha pubblicato un articolo della KB, che chiarisce le varie build rilasciate e le correla con i vari CU. Nello stesso articolo c'è già linkato il Cumulative Update 7, quindi per il Service Pack 3 c'è ancora da attendere, anche se molti ne stanno chiedendo a gran voce il rilascio, sul sito del Connect.
-
Qualche giorno fa, Microsoft ha rilasciato l'Update Rollup 6 per Microsoft Exchange Server 2007 RTM, che non si applica alle versioni con SP1.
La notizia era linkata anche da una pagina che descrive le policy di update sia per la versione RTM (priva di SP1) che per SP1 e che punta sempre alle ultime versioni rilasciate, che sono sempre cumulative.
Da aggiungere ai bookmark :-)
Oggi Microsoft ha rilasciato anche l'Update Rollup 1 per SP1, che risolve un numero significativo (22!) di bugs.
Entrambi sono già disponibili anche via MU / WSUS
Claudio
-
Con il rilascio di Windows Server 2008 cominciano i progetti di implementazione e quindi le prime domande a cui rispondere.
La prima domanda che i clienti fanno è relativa alla compatibilità con altri prodotti server di Microsoft. A questo scopo Microsoft ha rilasciato un articolo della Knowledge Base, piuttosto dettagliato.
All'interno della KB, oltre ad elencare quali prodotti sono supportati già oggi e quali a breve con service pack (o mai più ...), viene indicata anche la compatibilità con le modalità Read Only Domain Controller (RODC). Peccato che manchi un articolo simile per la compatibilità con la modalità "Server Core".
Per i primi temerari (si sa ... i pionieri hanno le frecce nel ...) che stanno già iniziando il deployment del nuovo OS, ci sono alcune KB che potrebbero tornare utili, onde evitare problemi di integrazione con le strutture client e server esistenti:
Malfunzionamenti client dopo introduzione di un DC 2008
http://support.microsoft.com/kb/946405
Nuovo range di porte dinamiche
http://support.microsoft.com/kb/929851
Impossibile aprire files EFS dopo migrazione a 2008
http://support.microsoft.com/kb/948690
Come migrare Sysvol a NTFS-R
http://blogs.technet.com/filecab/archive/2008/02/08/sysvol-migration-series-part-1-introduction-to-the-sysvol-migration-process.aspx
Claudio
-
Il bollettino di sicurezza Microsoft, di Febbraio 2008 oltre ad essere davvero consistente per numero di fix (11), vastità (AD, TCP/IP, Office, patch cumulativa mensile di Internet Explorer) e impatto, infrange purtroppo il mito (reale) di invulnerabilità di Internet Information Server 6.0, peccato davvero.
A distanza di quasi 5 anni dal rilascio, le prime due fix per IIS 6 (oltre ad altre versioni certamente meno diffuse) riguardano una escalation di privilegi e purtroppo una remote code execution. La seconda è ovviamente la più rischiosa specie se, come purtroppo mi accade di vedere presso clienti, è stato cambiato l'account con cui il Worker Process interagisce con il sistema ... ovviamente se si usa un account privilegiato (Administrator o il Local System), la frittata è fatta.
Queste due patch non riguarderanno IIS 7.0 in Vista SP1 (per quando Microsoft gentilmente ce lo farà avere ...) e Windows Server 2008.
La raccomandazione è di installare molto rapidamente queste due patch.
-
Qualche volta capita in un ambiente Active Directory, che un Service Principal Name (SPN), necessario al corretto funzionamento dell'autenticazione Kerberos, risulti duplicato.
Questo è percepibile sia da eventi di errore 11 del KDC in Event Viewer, che dal malfunzionamento di Kerberos, per quanto spesso questo secondo aspetto sia meno visibile. Infatti molti servizi che possono usare Kerberos (ad esempio SQL Server), eseguono automaticamente il "fall back" a NTLM se il primo non funziona.
Mentre con SetSPN.exe è possibile ottenere l'elenco degli SPN associati ad un account (user o computer), oltre a registrare/eliminare SPN arbitrari, con la stessa utility non si riesce a cercare in AD chi ha registrato uno specifico SPN.
Alcuni articoli della KB di Microsoft consigliano di cercare con LDP o ADSIedit, ma la cosa risulta poco agevole, perchè i tools non sono installati di default e sono abbastanza scomodi e pericilosi in mani non esperte. Per fortuna ci viene in aiuto una (poco) nota utility di Windows Server 2003, DSquery.exe.
Se per esempio stiamo cercando chi ha registrato il SPN "MSSQLSvc/srvdb01.dom.local:1433", possiamo eseguire:
dsquery * -filter "(servicePrincipalName=MSSQLSvc/srvdb01.dom.local:1433)" -attr dNSHostName -l
Ottenendo la lista degli hostname che hanno registrato quell'SPN. Ma un SPN può essere associato anche ad uno user (Service Account), quindi può essere più utile interrogare AD così:
dsquery * -filter "(servicePrincipalName=MSSQLSvc/srvdb01.dom.local:1433)" -attr name,dNSHostName -l
è anche possibile usare lo stesso principio per trovare tutti gli SPN di un certo tipo, ad esempio:
dsquery * -filter "(servicePrincipalName=MSSQLSvc/*)" -attr name,dNSHostName -l
Variando il prefisso, si possono trovare specifici servizi. Provate con 'DNS/*', 'NtFrs-*', 'SMTP*','LDAP/*'.
Individuato il secondo incomodo (ad esempio lo user Administrator), è possibile rimuovere il SPN "di troppo" con:
SetSpn -D MSSQLSvc/srvdb01.dom.local:1433 Administrator
-
Poco prima di Natale 2007, Microsoft ha rilasciato il Cumulative Update package 5 per SQL Server 2005 Service Pack 2.
Si tratta come facilmente intuibile di un cumulativo multilanguage, che include le fix per una lunga serie di bug, successivi al rilascio di SP2.
All'interno della KB c'è il link per richiedere via WEB/e-mail la fix per le CPU di interesse.
Sono curioso di vedere se sistema anche il bug introdotto dal Cumulative Update 3 e 4, rilevato da alcuni sul web (http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=2130278&SiteID=17) e personalmente presso clienti. Nel mio caso abbiamo risolto sistemando l'autenticazione Kerberos, che non funzionava correttamente causa un SPN incorretto; in sostanza nel CU3/4 sembra non fare più fallback correttamente a NTLM (come avveniva sullo stesso cluster prima di CU4) e ciò previene la partenza corretta del SQL Agent con vari problemi di ping-pong dei servizi sul cluster ...
-
E' arrivato finalmente il momento del Service Pack 1 di Exchange Server 2007, disponibile da oggi al download pubblico.
Molto ghiotta la lista delle novità, tra cui:
- Standby Continuous Replication
- Supporto estensivo configurazioni in NLB per ruoli CAS/HT
- Gestione GUI estesa a Public Folders, IMAP4/POP3
- Estensioni PowerShell (EMS) per lo scripting
- Estensioni significative a OWA
- Integrazione con Office Communications Server 2007
- Miglioramento prestazioni, minor consumo RAM (specie in installazioni con molti DB/Store)
Un articolo "leggero" che le spiega un pò lo trovate sul TechNet Magazine.
E' stato aggiornato anche l'SDK corrispondente.
Sono già pronto con il setup 
-
Ho appena eseguito l'upgrade del nostro ambiente di "produzione" da BDD 2007 a Microsoft Deployment ... e sono subito incappato in un BUG molto fastidioso.
Non appena si prova a usare il Lite Touch per fare deployment di una immagine già esistente, dopo aver fatto login e scelto dalle Task Sequence quella desiderata ... compare un errore di VB Runtime 438 in ValidateTSList ... come descritto in questo Forum.
Purtroppo la soluzione che confermo, almeno al momento, è quella di rimuovere la share Distribution e ricrearla !!! 
Speriamo lo sistemino in fretta ...
-
All'interno dell'area "Run IT on a Virtual Hard Disk" del sito TechNet di Microsoft, è disponibile ora il VHD per System Center Configuration Manager 2007 (l'erede "on steroids" di SMS - Systems Management Server).
Sono 7,5 GB di download , ma come alternativa al preparare quell'ambiente a mano, si giustifica lo sforzo !
-
Nuovo Update Rollup (il 5°) per Exchange Server 2007, già disponibile anche su WSUS, che include e sostituisce il precedente.
Sono fixati solo due bug, di cui il secondo riguarda solo utenti che interoperano con Lotus Notes.
Claudio
-
All'interno dell'area di download del TechNet Magazine, è stato pubblicata la nuova versione 1.6 di VMRCplus, la nota console di gestione per Microsoft Virtual Server 2005. Il tool non è disponibile dal blog o dall'area di download di Microsoft, che offre ancora la versione 1.5.
Sulle qualità del tool nulla da dire, ottimo ... peccato per la scelta progettuale di usare DCOM, fatta da Matthijs ten Seldam, che impedisce di gestire il login con account specifici, ma procede direttamente con la login integrata, quando si vuole amministrare un server remoto.
Specie per gestire VS in DMZ o in domini non trusted, si tratta di una considerevole limitazione ... anche perchè VMRC (la versione prima della "plus") lo prevedeva [:-(]
I suggerimenti di usare RunAs, postati nei commenti al blog, valgono solo per usare un account diverso dal proprio ma sempre in domini trusted.
-
Temo che non sarò qui davanti al PC quel giorno ... dovrò chiedere a mio figlio Marco (1 anno e mezzo) di chiedere ai suoi nipoti di fare shutdown, quel giorno ...
Ma quand'è che riscrivono INTERAMENTE il buon vecchio Explorer ? Certo che in Windows Vista hanno introdotto molti "bells & whistle" (icone, animazioni, ...) ma le cose importanti sono rimaste indietro.
Che genere di algoritmi possono stare dietro ad "un problema così complesso" come calcolare quanto manca a copiare un pò di file (110 MB rimanenti) su un server in LAN ?
Deprimente ...
-
Leggo dal blog del team di Microsoft TechNet Italia che è stato riconfermato ed esteso il programma "IT Pro Momentum".
Ne avevo già parlato in un precedente post, ma ora sono state rinnovate le tecnologie ed i prodotti, sui cui realizzare progetti (che non necessariamente devono arrivare alla produzione), ma soprattutto nuovi benefit per le aziende che parteciperanno al programma.
E' in linea anche il nuovo portale dedicato all'iniziativa, dove sono elencate le tecnologie ed i benefit del programma.
-
Riprendo il post di Bink sull'uscita del BPA per Windows Small Business Server 2003, per completare e linkare una pagina che avevo in lavorazione da un pò di tempo: ovvero la raccolta dei "Microsoft * Best Practice Analyzer"
C.
-
Un breve post per raggruppare una serie di articoli della KB di Microsoft e di hotfix particolarmente utili (anche importanti ...) per Windows Server 2003, che Microsoft ha rilasciato più o meno recentemente. Sono tutte Post Service Pack 2 (quindi le trovate anche con la keyword 'kbwinserv2003postsp2fix' nel motore di ricerca avanzato di support.microsoft.com), ma non tutte pubbliche ma pur sempre facilmente ottenibili dal PSS di Microsoft.
Volume Shadow Copy Service (VSS) update rollup package per Windows Server 2003
http://support.microsoft.com/kb/940349
Sostituisce diverse KB precedenti, alcune abbastanza spiacevoli ...
Recommended hotfixes for Windows Server 2003 Service Pack 2-based server clusters
http://support.microsoft.com/kb/935640
Questa è una KB da tenere sempre a mente; Microsoft aggiorna e aggiunge le fix specificamente orientate ai Cluster in questa pagina.
Distributed File System Replication (DFS-R) e file Pre-staged
http://support.microsoft.com/kb/931685
Questa fix non è pubblica, ma è molto importante se pensate di fare il Pre-staging di file in una replica DFS-R di Windows Server 2003 R2 (o se dovete sostituire NTFRS con DFS-R, quindi con i contenuti già replicati). Senza questa fix infatti il pre-staging non funziona ed i file, anche se già presenti nel target, vengono nuovamente replicati.
Rollup Update per MMC 3.0
http://support.microsoft.com/kb/940848
Questa fix, necessaria per SCCM 2007 (SMS), in realtà porta beneficio anche ad altri prodotti. Speriamo migliori anche la stabilità della console di WSUS, che non è proprio leggendaria
.
Accesso lento a risorse su DFS da Windows Server 2003 / Windows XP
http://support.microsoft.com/kb/915377
Quando si accede a risorse ospitate su un DFS, sia da Windows Server 2003, che da Windows XP, le prestazioni sono basse. Particolarmente significativo per applicativi che accedono frequentemente a file su Share di rete, ma anche per eliminare quel fastidioso ritardo che si introduce nel browsing di folder di rete.
-
Microsoft ha rilasciato abbastanza silenziosamente un aggiornamento per Windows Server 2003 e Windows XP, per l'ambiente di scripting basato su JScritpt e VBscript, oltre che all'host.
Sono disponibili per Windows 2003 e per Windows XP.
Qui le Release Notes di Windows Script 5.7, che chiariscono le novità incluse.
Si tratta di backport da Windows Vista di varie fix e miglioramento di performance specie per script che creano un gran numero di oggetti.
-
All'interno del "Patch Tuesday" di ieri, Microsoft ha rilasciato un aggiornamento per ISA Server 2006 detto "ISA Server 2006 Supportability Update", disponibile da subito anche in WSUS (catalogato come "Update").
Leggendo l'elenco dei cambiamenti apportati, appare chiaro come Microsoft abbia portato le novità già rese disponibili a suo tempo nel Service Pack 3 per ISA Server 2004, anche in ISA Server 2006 ... ma ... la dicitura "All software updates issued since ISA Server 2006 was released to manufacturing" lascia poco spazio all'immaginazione; Microsoft ha di fatto emesso un Update Rollup con una nuova terminologia ...
Di fatto questo nuovo aggiornamento include e sostituisce il famoso aggiornamento ISA per supporto di Exchange 2007, ma non è chiaro quale altro update/fix questo Update includa, anche perchè il numero di files rimpiazzati è notevole. Il documento di spiegazione allegato (isa2006supp.doc) non fa alcuna chiarezza, poichè si concentra solo sulle novità di gestione.
[BEGIN - Editing del 13/09/2007
Microsoft ha pubblicato una KB di chiarimento, dove sono elencate tutte le fix
E' proprio un Service Pack 
http://support.microsoft.com/kb/939455
END - Editing del 13/09/2007]
Comunque le nuove funzioni di logging, monitoring (nuovo pannello di dettaglio, colorazione log) e diagnostica, unite alla integrazione con l'ISA Best Practice Analyzer 5 ne consigliano l'installazione, specialmente sul PC di amministrazione di ISA.
Certo che se almeno standardizzassero il modo con cui chiamano gli aggiornamenti ...
Ciao, Claudio
-
Un problema abbastanza frequente (e noioso) in una rete Windows è la gestione degli Event Log, sia a fini di sicurezza vera e propria che per la "compliance" con le varie leggi (DPS & c.). Se è pur vero che un backup del System State di Windows include gli Event Logs, di certo il restore e loro consultazione sarebbe decisamente scomoda.
Ho scritto quindi questa script, per poter eseguire le operazioni di backup, eventualmente seguite da una pulizia del log stesso, di uno o più host Windows XP/Windows Server 2003 (non l'ho provato su Windows Vista nè su Windows Server 2008 Beta - anzi se avete feedback ...).
Il tutto si basa su Powershell e Windows Management Instrumentation (WMI), che presuppone che vi sia connettività verso gli host da gestire (accesi
e senza restrizioni di Firewall o limitazioni sull'account di connessione) e che la directory di destinazione dei backup sia presente in locale su ciascun nodo.
Infatti se è vero che questa script può connettersi a ciascun host, il metodo di backup invocato "BackupEventLog", prevede che la destinazione sia raggiungibile dal nodo target della invocazione. In linea teorica sarebbe possibile probabilmente usare un percorso UNC per consolidare tutti i log, ma alcune rapide prove mi hanno fatto soprassedere (almeno per ora!), l'aspetto di delegation/permission/rights non è banalissimo.
Analizziamo insieme la script BackClear-EvtLogs.ps1,disponibile per il download.
param(
[string] $MyLog='*', # Any log
[boolean] $MyClearFlag=$False, # Don't clear
[array] $MyComputer=@( '.' ) # LocalComputer
)
I parametri in ingresso, tutti opzionali servono a definire:
- il nome del file di log su cui vogliamo agire (Es: Application, 'Windows Powershell', Security)
- se lasciamo vuoto o specifichiamo '*', faremo l'operazione su tutti i file di log
- se vogliamo o meno pulire il log, dopo il corretto backup
- la lista dei computer (Array con elementi separate da virgole) su cui eseguire l'operazione
- se lasciamo vuoto o specifichiamo '.' eseguiremo sul computer locale, in puro stile WMI
set-variable MyDir 'D:\NoBdata\LogFiles.Bak\' -option constant -scope local
if ( $MyLog -eq '*') {
$MyQuery = ''
} else {
$MyQuery = " WHERE LogFileName='$MyLog'"
}
# ANSI date format, good for sorting
$local:strDate = Get-Date -Format 'yyyyMMdd'
Prepariamo un pò di costanti/variabili per la successiva elaborazione; in particolare viene definito come Costante (magari sarebbe più utile un altro parametro ?) il path di salvataggio dei Log e costruita una porzione della Query WMI, in base alla presenza o meno del parametro che specifica il nome del file di log.
Quindi iniziamo una iterazione sull'array dei nomi computer (eventualmente con il solo elemento '.'), che per ciascun nodo istanzia un oggetto WMI ed estrae il/gli oggetti Event Log; nidificato a questo vi è un'altro 'foreach' su ciascun Event Log, per eseguirne il backup, su un file che avrà il nome computer/la data in formato ANSI/il nome log come parti varianti.
Se eseguito con successo il backup (i codici di errore sono su MSDN), allora procederà alla cancellazione del log, se richiesto.
$MyComputer | % { # For each Computer
$local:strComputer = $_
Get-WmiObject -computername $strComputer -namespace 'root/cimv2' -query "SELECT * FROM Win32_NTEventLogFile $MyQuery" | % {
# For each Log
$local:strLog = $_.LogFileName
$_.PSBase.Scope.Options.EnablePrivileges = $True
if ( $strComputer -eq '.') {
$strComputer = $env:computername
}
$local:MyErr = ($_.BackupEventLog("$MyDir$strComputer.$strDate.$strLog.evt")).ReturnValue
If ($MyErr -ne 0) {
write-warning "The '$strLog' event log from '$strComputer' could not be backed up. ($MyErr)"
} Else {
if ( $MyClearFlag) {
$MyErr = $_.ClearEventLog().ReturnValue
if ( $MyErr -ne 0) {
write-warning "The '$strLog' event log from '$strComputer' could not be cleared. ($MyErr)"
}
}
}
}
}
La script può quindi essere invocata ad esempio con:
.\BackClear-EvtLogs.ps1
.\BackClear-EvtLogs.ps1 'Security' $False '.','Server1','ServerSql'
.\BackClear-EvtLogs.ps1 '*' $True 'MyServer.dominio.local'
Punti aperti o argometi da valutare:
- Se avvengono Eventi tra il Backup ed il Clear ... potremmo perdere eventi, ma la finestra temporale dovrebbe essere davvero piccola. Comunque si potrebbe intercettare la cosa, valutando la proprietà NumberOfRecords prima e dopo il backup.
- Bisogna creare PRIMA la directory su ciascun nodo (codice errore 3)
- Se il file esiste gà, andrà in errore (codice errore 183 su XP e Windows 2003)
- Non c'è gestione delle eccezioni (Es: se il nodo è spento o irraggiungibile, l'account usato non ha i privilegi, ...)
- La directory di destinazione a lungo andare si riempirà, non c'è gestione del recycling. Si può mitigare usando NTFS compression, dato che i Log sono ben comprimibili
Non resta che schedulare questo task, magari con una esecuzione notturna giornaliera dei backup senza pulizia, ed una settimanale con anche il clear, semplicemente cambiando l'invocazione della script.
Graditi feedback.
Ciao, Claudio
-
Hotfix, patch e update
Riprendo il post di qualche giorno fa di Giorgio Malusardi, sul Blog del Team TechNet Italia, relativo a due importanti hotfix per Windows Vista rilasciate da Microsoft recentemente.
Si tratta di un insieme di fix per bug abbastanza significativi e alcuni piuttosto impattanti (es: performance del Memory Manager, corruzione di Offline File se il PC va in Suspend durante una sincronizzazione, blocchi dello Spooler, ecc.). Altamente raccomandate !
Di queste fix era previsto per Agosto anche il rilascio su WSUS, ma per ora non ve n'è traccia, anche se la importanza delle stesse, rilevata anche da Mary Jo Foley, rende la cosa più che auspicabile.
Un'altra fix che merita una certa attenzione è quella "cumulativa" per i problemi legati a 802.1x e Wi-Fi. Poichè si tratta di una fix non ancora pubblica, va richiesta al Supporto Tecnico di Microsoft, tramite i canali telefonici oppure tramite la COMODISSIMA e poco nota form sul Web.
Se siete alle prese con problemi di compatibilità applicativa con Vista ( ... c'è qualcuno che non lo è?
) dovete anche accertarvi di installare questo aggiornamento; il "July 2007 Windows Vista Application Compatibility Update" include un buon numero di migliorie per il supporto a software di ogni genere.
Per quelli che "aspettano sempre il primo Service Pack" ... ecco che cominciano ad uscire le prime build, per ora ristrette a pochi Beta tester, ma qualcuno azzarda il rilascio più allargato già per Settembre, sul sito TechNet. Speriamo !
Tools
Ma Microsoft continua la sua (indispensabile) opera di miglioramento di Vista anche sul fronte degli strumenti di supporto alla piattaforma; ha rilasciato infatti la nuova versione 2.1 di "Windows Vista Hardware Assessment", strumento che permette la scansione via Windows Management Instrumentation (WMI) di un network, per estrarre un inventario preciso dei PC Windows presenti, onde determinarne la compatibilità con Windows Vista, le carenze hardware, la disponibilità di driver specifici, ecc.
Si tratta di un tool alternativo a "Windows Vista Upgrade Advisor", che è più indicato per singoli utenti o piccoli uffici.
Sempre sul fronte dei tools per la piattforma, potrebbe esservi scappato l'Update Rollup per BDD 2007, ovvero il "Microsoft Solution Accelerator for Business Desktop Deployment 2007", strumento indispensabile per gestire la personalizzazione il deployment di imagini Vista (ma anche di XP) in ambienti aziendali.
Buon lavoro 
Claudio
-
Nuovo Update Rollup (il 4°) per Exchange Server 2007, già disponibile anche su WSUS, che include e sostituisce il precedente. Il numero di fix è piuttosto consistente anche se non per bug comunissimi.
Un buon link da archiviare nei vostri bookmark, è la pagina che contiene lo storico dei Rollup ed il link al più recente.
Il Service Pack 1 di Exchange Server 2007 comincia finalmente a prendere consistenza, anche se probabilmente arriverà solo per fine anno. Microsoft ha rilasciato una immagine VHD
(Virtual Hard Disk per Virtual Server/Virtual PC) di Exchange 2007 con
già incluso SP1 Beta 2. Si tratta di una Trial a 30 giorni, già
installata e configurata.
Inoltre è disponibile per il download la Release Note del Service Pack 1 Beta 2.
Claudio
-
Vi segnalo l'uscita dell "Update Rollup 3 for Exchange 2007", ovvero di un cumulativo di patch che contiene (sostituisce) i precedenti 2 Rollup per Exchange 2007. E' già disponibile anche via WSUS.
Essendo già in produzione con Exchange 2007 da alcuni clienti (naturalmente oltre al nostro Exchange ;-) ), ed avendo sempre messo i precedenti, ne consiglio l'installazione.
In attesa di Service Pack 1, non ci resta che "Rollare" :-D
Claudio
-
Un nutrito numero di aziende del mondo IT, inizialmente capeggiate da Google
e Intel, ha dato vita alla "Climate Savers Computing Initiative", iniziativa che si prefigge di ridurre drasticamente (del 50% entro il 2010) le emissioni generate dal comupting, sia personale che aziendale.
Si tratterà di una iniziativa esclusivamente Marketing ?
Certo la speranza è che non lo sia, ma troppe volte abbiamo visto nel nostro settore iniziative, marchi, programmi, proclami sul basso consumo, mai poi realizzati (EPA, Energy Star, ...). Anzi la realtà oggi è esattamente all'opposto.
Notebook che rendono roventi le scrivanie (e le ginocchia dei poveri viaggiatori), durate di batterie simili a 10 anni fa (ma cosa facciamo di così diverso su un notebook rispetto ad allora ? molto poco eccetto i "(very) power users").
Non parliamo del "computing" personale, dove per raffreddare PC
casalinghi ipercostosi (per giocare, naturalmente) si ricorre a sistemi a LIQUIDO ! Ma se ci si compra una PS2/3/XBOX/Wii non si fa prima e più economicamente ?
Certo anche vedere come le aziende usano le risorse hardware, si resta spesso interdetti. Decine di server per aziende medie, centinaia per le grandi, nessun consolidamento, approcci empirici tipo "meglio un server a parte, sennò non funziona / altrimenti non lo supportiamo più".
I data center di moltissime aziende sono PIENI di server accesi per fare caldo (e che quindi devono essere
adeguatamente condizionati, con un effetto esponenziale di consumi = costi = CO2). Trovare un server "carico" che lavora con buoni indici di utilizzo è poco frequente.
Alimentare questo genere di mostri costa CENTINAIA di € all'anno per pezzo, per le server farm i costi di alimentazione/raffredamento sono MOSTRUOSI già oggi, e sono inevitabilmente destinati ad aumentare significativamente nei prossimi anni.
Quindi ben vengano le iniziative, ma molto meglio progettare i sistemi informativi secondo reali criteri di ottimizzazione, senza pensare al solo costo del server (e licenza giusto ?), ma anche valutando i costi di accensione di questi apparati. Diamo spazio al Wake On Lan, alla virtualizzazione, allo scheduling razionale dei lavori (patching, software distribution, compressione, archiving, ecc.) quando la corrente costa meno, alla sospensione dei notebook /desktop aziendali quando andiamo in riunione o siamo a pranzo ...
Di certo le tecnologie che questi produttori stanno sviluppando e rilasciando danno qualche segnale positivo, con Intel che a mio modo di vedere ha raccolto i risultati più brillanti (anche per lo stile pachidermico che l'aveva caratterizzata negli ultimi anni), con risultati anche prestazionali notevoli (e ne vedremo ancora delle belle).
Gli obiettivi di riduzione del Climate Savers Computing Initiative, in apparenza ambiziosi, si possono realizzare molto prima del 2010 ... anche contribuendo fattivamente, sia come singoli che come aziende responsabili.
Ciao, Claudio
PS: facciamo presto, perchè l'alternativa è tornare ai Terminali Verdi ! :-D
-
Ho partecipato recentemente all'evento "Web Administration Summit", presso Microsoft Italia. Proprio un bell'evento di una giornata, tenuto da due speaker di Corporation (Brett Hill
e Isaac Roybal), tutto incentrato su IIS 7.
Senza dubbio IIS 7 è di uno dei componenti più maturi della nuova versione Beta 3 di Windows Server 2008, avendo probabilmente beneficiato del rilascio "anticipato" in Windows Vista. Ma le novità e le differenze rispetto alla versione "desktop" in termini di prestazioni, scalabilità e di funzioni di gestione, orientati ad una server farm sono davvero notevoli.
Le funzionalità più interessanti, dal solo punto di vista amministrativo (tralasciando tutti gli altri aspetti applicativi), a mio modo di vedere sono:
- Distributed - Shared web.config
- La possibilità di centralizzare i file XML di gestione della configurazi
- one, su di una share (magari DFS e con DFS Replication), per gestire più server fisici con la medesima configurazione. Questo è un must in ambienti "web farm".
- Remote Administration
- Accesso alle funzionalità amministrative, via protocollo HTTPS sulla porta 8172 (di default), con incapsulamento di RPC tramite il servizio "Web Management Service (WMSVC)"
- Feature Delegation
- Ovvero la possibilità di gestire in modo centralizzato ed "ereditario", quali feature di amministrazione sono disponibili ai gestori dei singoli web sites o delle applicazioni .NET installate sul web server, con la possibilità di forzare un parametro/setting.
- Account locali
- La tecnica con cui si possono definire degli account "applicativi", locali ad IIS (conservati in nel file administration.config) e sconosciuti a Windows, per l'accesso alla gestione del server IIS. Quindi con quella specifica login, si possono gestire configurazioni applicative/IIS ma NON interagire con Windows. Comodo in ambienti hosting e per non incidere sul conteggio CAL di Windows.
- IUSR e IIS_IUSRS
- Eliminati i vecchi security principals IUSR_%ComputerName% e IIS_WPG, per il supporto dell'accesso anonimo, con una diversa architettura, che consente ora la "copia" di un sito/applicazione da un server all'altro, senza invalidare (perdere) impostazioni di security. Questo significa anche che non ci saranno più account IUSR_* dimenticati nei domini AD e nessuna password da gestire.
Per IIS 7.0 su Windows Server 2008, esiste anche la possibilità di andare "live", ovvero mettere in produzione anticipata, usando il concetto di licensing "Go Live" già visto con SQL 2005 ed altre tecnologie. Ovviamente non aspettatevi *supporto*, si tratta sempre di una Beta, quindi il massimo di supporto è ottenibile dalle Community.
Ma la domanda che molti si faranno è "sarà sicuro" ? Ovviamente si tratta di codice Beta, ma il fatto che Microsoft.com sia già in produzione su IIS 7 e Windows Server 2008, la dice lunga. Il portale di Microsoft è il sito più trafficato, più attaccato del pianeta ... non ci avrebbero messo sopra le "penne" se non ci fosse un minimo di tranquillità !
Già molti utenti hanno seguito MS e fatto la stessa cosa, secondo Netcraft.
Ciao, Claudio
-
Il nuovo Windows Server Update Services (WSUS) 3.0 dispone di un wizard nella GUI per procedere al cleanup del server, onde rimuovere materiale obsoleto e recuperare spazio sia dal DB SQL che dal file system (directory WSUS\WsusContent).
Nelle precedenti versioni di WSUS, si svolgevano (quasi) le stesse operazioni con alcuni batch e tools esterni, ma la cosa risultava alquanto scomoda.
Ovviamente WSUS 3.0 ha un modello a oggetti rinnovato rispetto alla 2.0 e mi sono chiesto se fosse possibile creare una script con Powershell per svolgere su base programmatica il task di manutenzione. Ovviamente ... si può !
Cominciamo a caricare il solito assembly per accedere a WSUS, poi istanziamo l'oggetto AdminProxy e recuperiamo l'istanza del server WSUS:
[System.Reflection.Assembly]::LoadWithPartialName('microsoft.updateservices.administration')
$wsus=new-object 'Microsoft.UpdateServices.Administration.AdminProxy'
$wsusrv=$wsus.GetUpdateServerInstance()
Ora istanziamo un oggetto CleanUpManager ed uno CleanUpScope, per invocare l'azione sulla base di una serie di flag di Cleanup desiderati.
Write-Host 'Invoking WSUS CleanUpManager:' -fore Green
$cm=$Wsusrv.GetCleanupManager()
$cs=new-object 'Microsoft.UpdateServices.Administration.CleanupScope'
Impostiamo i valori di CleanUp desiderati, semplicemente settando le vari eproprietà a $True. Di default sarebbero tutte a $False, quindi l'invocazione del CleanUpManager non darebbe alcun effetto.
#$cs.CleanupObsoleteComputers = $True
$cs.CleanupObsoleteUpdates = $True
$cs.CleanupUnneededContentFiles = $True
Ora siamo pronti, invochiamo il metodo PerformCleanUp e attendiamo un pò di minuti:
# Run !
$cm.PerformCleanup($cs)
L'output sarà un sommario delle azioni intraprese e dello spazio su disco liberato, sulla base dei valori di CleanUpScope scelti. Non resta che schedulare l'esecuzione periodica della script tramite powershell.exe e il task scheduler di Windows Server.
Ciao, Claudio
* Versione 1.0.0, di Wsus-CleanUp.ps1 pubblicata il 20070522
-
ISA Server 2004
In modo poco appariscente, ed in barba alla festa del lavoro, Microsoft ha rilasciato il 1° Maggio il Service Pack 3 di ISA Server 2004.
Non si tratta solamente di un pò di fix (contiene tra le altre SP2 e l'hotfix cumulativa post-SP2), ma anche di nuove funzionalità in parte mutuate da ISA Server 2006 (Es: Publishing di Exchange Server 2007, integrazione con ISA BPA) ma altre sono funzioni nuove. Si tratta per lo più di estensioni al logging/monitoring, e migliorie per il troubleshooting.
Raccomandato, anche se non indispensabile, specie se siete già a SP2+hotfix cumulativa.
Indispensabile se progettate la migrazione ad Exchange Server 2007.
Relativamente ad ISA, una domanda frequente degli ultimi tempi, è relativa al supporto di Windows Server 2003 Service Pack 2.
Ci sono in effetti alcune considerazioni da fare nel deployment di SP2, per non incorrere in problemi. Questi sono indicati nel blog ufficiale di ISA Server. Per comodità ne riassumo le indicazioni:
Il più comune è legato alla presenza di schede di rete che supportino il Receive Side Scaling (RSS), precedentemente supportato nello Scalable Networking Pack di Windows 2003, ora incapsulato in SP2. Se avete una di queste schede ad alte prestazioni, per ora non vi è altra soluzione che disabilitare RSS.
Altro problema ricorrente è legato a ADAM SP1, che DEVE essere installato su ISA Server 2004 Enteprise Edition PRIMA di installare Windows 2003 SP2. Se installate su una R2 dove ADAM è stato installato dai componenti di Windows e non con il setup di ISA, questa dispone già di ADAM SP1, quindi il passaggio non è necessario.
Ultimo problema, non sempre percepibile immediatamente, è il decadimento di prestazioni in presenza di alcune tipologie di CPU multi-core/multi-die, dovuto ad una diversa tecnica di gestione degli interrupt, introdotta in SP2. E' risolvibile con l'Interrupt Affinity Tool (intfiltr) del Windows Server 2003 resource kit.
ISA Server 2006
Desideravo segnalarvi uno strumento utile che forse vi è "scappato".
Si tratta di un update per Security Configuration Wizard (SCW) di Windows 2003 SP1+, indispensabile per il corretto lockdown di ISA 2006 Standard/EE. Seguite le indicazioni nel .doc presente nel package per aggiornare SCW, che originariamente prevede solo ISA 2004.
Vero che fate sempre lockdown di ISA con SCW ? ;-)
Firewall Client per ISA 2004/2006
Qualche tempo fa è stato rilasciato l'aggiornamento per il Firewall Client di ISA, che supporta anche Windows Vista. Di lì a poco, lo stesso update è comparso in WSUS, quindi non ci ho prestato più molta attenzione, immaginando il deployment automatico.
Ma recentemente mi sono accorto che in un paio di installazioni, il FWC non viene riconosciuto come obsoleto dal WUAU Client e quindi NON viene aggiornato ...
Se sugli stessi client si procede al download ed installazione manuale dell'aggiornamento, il build del client passa da 4.0.3441.633 a 4.0.3442.654
Da indagare !
-
Sta per arrivare il secondo appuntamento con la SQL Server Conference, già tenutasi con successo nel 2006.
L'edizione del 2007 sembra nascere sotto ottimi auspici ed un programma rinnovato. Eccellenti come sempre gli speaker, direi il meglio in assoluto per ciò che riguarda Microsoft SQL Server 2005 in Italia.
Davide Mauri, Gianluca Hotz e Andrea Benedetti (Solid Quality Learning), Marco Russo, Roberto Brunetti e Paolo Pialorsi (DevLeap) ed il "gruppo" Factory Software con Franco Perduca e Alessandro Rezzani, solo per fare qualche nome arci-noto !
Presenti anche alcuni speaker Microsoft, direttamente dai laboratori di sviluppo di SQL Server o dal gruppo di supporto (... non sono quelli che rispondono al supporto gratuito ;-)).
-
Recentemente ho scritto per un cliente una script in PowerShell / EMS, per aggiungere un dominio di posta Autoritative ad una organizzazione Exchange Server 2007.
Di per sè saremmo in presenza di una sola CmdLet, ma se vogliamo fare le cose un pò meglio (migliorare si può e si deve ... sempre !) dobbiamo anche rispettare gli standard e la netiquette.
Un dominio SMTP gestito correttamente, deve infatti avere sempre un account Postmaster@... ed Abuse@..., pena l'inclusione in Black/Gray lists. E' questa un'area poco gestita da parte delle aziende ed purtroppo anche dagli ISP, ma credo che saremo costretti tutti a usare gli standard RFC meglio, per ridurre il disordine-mondiale che governa ormai l'email.
Il codice commentato è quì sotto, ma è disponibile anche il download di Add-ManagedDomain.ps1
param(
[string] $Dom=$(Throw "Please specify a domain name. (E.g. 'test.local')")
)
Il file di script, ha bisogno obbligatoriamente di un parametro, di tipo String, che se mancante genera una eccezione (Throw).
# Defines constant
set-variable mbx 'Res-Postmaster' -option constant
# Gets the Postmaster/Abuse associated Mailbox
$local:oMbx = get-Mailbox $mbx -ea SilentlyContinue
Le righe soprastanti servono a dimostrare l'uso di una Costante in WPS e a recuperare la Mailbox che avrà associati gli alias Postmaster/Abuse, senza curarsi di eventuali errori, che verranno nascosti. La verifica dell'effettiva esistenza della Mailbox è controllata da
if ($oMbx -eq $Null) {
write-warning "`n$mbx: mailbox not found. Cannot continue!"
}
Bene, abbiamo tutto, quindi possiamo procedere a creare il Domain e gli Alias!
Da notare come l'aggiunta di EmailAddresses venga fatta con l'operatore '+=' senza necessità di conversioni di tipo espilcite, gestite internamente da ETS di PowerShell e come sia necessario salvare le modifice in AD con la CmdLet Set-Mailbox.
else {
# Adds the domain
write-host 'Adding authoritative domain ', $Dom
New-AcceptedDomain -Name $Dom -DomainName $Dom -domaintype Authoritative
# Adds Abuse/Postmaster aliases to predefined mbx
write-host "`nSetting $mbx mailbox aliases for $Dom"
$oMbx.EmailAddresses += 'Abuse@' + $Dom;
$oMbx.EmailAddresses += 'Postmaster@' + $Dom;
$oMbx | set-Mailbox
"`nDone !"
}
That's all folks!
Ciao,
Claudio
-
Ecco di seguito un pò di materiale usato nel Webcast di oggi, su Exchange Management Shell di Exchange Server 2007, oltre ad alcune note e riflessioni.
Durante una delle ultime demo, quella che doveva confontare le prestazioni del Client-side Filtering (svolto da PowerShell/EMS) e del Server-Side Filtering (quello svolto dal server Exchange), dimostrando il valore della seconda soluzione ... mi sono incartato !
Il codice usato era in effetti corretto, ma il mitico PowerPoint oltre a convertire di sua iniziativa, apici e virgolette in un modo o l'altro (fatto che in WPS ha una certa importanza ...) mi aveva convertito anche il '-' di separazione dei parametri ...
Ecco il codice, senza l'Autocorrect in azione:
- Get-Mailbox | where {$_.Name -like 'cla*'}
In questo primo caso, la prima CmdLet estrae *TUTTE* le mailbox nello scope amministrativo (Es: l'intera organizzazione), mette questi oggetti nella Pipeline a disposizione della seconda CmdLet where-object, nativa in PowerShell, che a questo punto deve passarsi *tutti* gli oggetti ed emettere nella Pipeline risultante solo gli oggetti Mailbox che rispondono al requisito. Questo impatta significativamente su prestazioni e traffico generato, se non si esegue in locale.
- Get-Mailbox -filter {Name -like 'cla*'}
Nel secondo caso invece, chi filtra le Mailbox è direttamente il server Exchange, con una notevole riduzione delle risorse necessarie sul client di amministrazione, sulla rete e con un drastico miglioramento delle performance.
Nel caso dell'ambiente di Demo usato, generato usando L'OTTIMO Exchange 2007 PowerShell Scriptacular demo pack, disponendo di circa 800 mailbox, si nota una significativa differenza.
Ho reso disponibile anche la demo sulla creazione di un nuovo Authoritative Domain per l'organizzazione, con creazione automatica degli alias Postmaster@... e Abuse@... che ogni dominio di posta dovrebbe avere.
Grazie a chi ha partecipato al WebCast !
Claudio
-
In talune occasioni è consigliabile disattivare l'autosync di WSUS (ad esempio dove non è necessario o consigliabile un aggiornamento automatico e silente, dove ci sia poca o costosa banda Internet, ecc.) oppure può essere importante sincronizzare più frequentemente delle 24 ore previste da WSUS, per esempio per scaricare più frequentemente le definizioni (Exchange AntiSpam, ForeFront antivirus, ecc.).
Ho scritto questa script (WSus-Sync.ps1), per forzare esternamente a WSUS una Sync, che può essere schedulata per esempio tramite "Operazioni Pianificate" (Scheduled Tasks) o tramite esecuzione manuale.
* Nuova versione 1.1.0, compatibile con WSUS 3.0, pubblicata il 20070522
-
Ho aggiornato entrambe le script Decline-ObsoleteDefinition.ps1 e Decline-Itanium.ps1, già postate a suo tempo.
Le nuove versioni gestiscono correttamente il caso di un singolo update da declinare.
Ehm ... come dire ... ho fixato una "feature" ;-)
C.
-
Microsoft ha rilasciato una fix importantissima, per il noto problema dei file .ANI, anticipando il classico Patch Day di Martedì prossimo, data la presenza di attacchi conclamati in rete. La fix c'è sia per 2000/XP/Vista che Windows Server 2003, per tutti i Service Pack e le edizioni/CPU.
Il problema è che su Windows XP, se avete schede audio Realtek, si presenta immediatamente un problema sul pannello di controllo della scheda ("Rthdcpl.exe - Illegal System DLL Relocation").
Ma per fortuna Microsoft ha rilasciato una patch per la patch !
No comment ... ma certo che ultimamente con le patch ... ci stanno pigliando poco!
-
Recentemente ho dovuto configurare un server ISA 2006, per consentire la navigazione dalla rete Interna a Internet su di una porta SSL non standard (quindi non TCP/443).
ISA Server 2006 (come la 2004) non consente, per ragioni di sicurezza, l'uso di "tunnelling" (non ispezionabile) su porte non standard. Però la piattaforma è molto flessibile ed è sempre stato possibille, con l'uso di alcuni oggetti COM e di un pò di scripting, creare dei nuovi "Port Ranges" legali, su cui poi attestare una specifica regola outbound.
La KB 283284 di Microsoft, descrive un esempio d'uso, in VBscript. Ma potevo esimermi dallo scriverne una versione PowerShell ? ... NO ! :-D
Ecco di seguito il codice commentato, ed il classico link per il download del .PS1
Per prima cosa dobbiamo istanziare un oggetto COM in PowerShell ed associarlo ad una variabile, che possiamo stampare ed interrogare usando Reflection:
$Isa=new-object -strict 'FPC.Root'
$Isa
$Isa | gm
Poi creiamo un'altra variabile, per estrarre l'elenco dei Port Ranges definiti in ISA, usando un metodo di $Isa per connetterci all'array e da lì agli elementi della Policy, specificatamanete a quelli che trattano del componente WebProxy.
$tpRanges = ($Isa.GetContainingArray()).ArrayPolicy.WebProxy.TunnelPortRanges
$tpRanges
Bene, abbiamo appena visto che l'unico ....
Ora creiamo un nuovo Port Range, che associamo ad una variabile per eventuali altre elaborazioni, quindi salviamo i Port Ranges modificati e rinfreschiamo l'oggetto $Isa, per aggiornare l'oggetto complessivo con la nuova configurazione.
$newRange = $tpRanges.AddRange('SSL 81 - Video Conferenza', 81, 81)
$tpRanges.Save()
$Isa.Refresh()
In questo caso abbiamo definito un protocollo SSL su porta 81.
Claudio
-
Dal 15 al 17 Maggio 2007, si terrà a Milano DevCon 2007, la tradizionale conferenza tecnica di DevLeap.
Si tratta di una full-immersion per gli sviluppatori, sulle tecnologie Microsoft, ovviamente come è tradizione di DevLeap puntando al "top" delle tecnologie e le ultimissime versioni (anzi magari anche sulle Alpha, se possibile ;-).
Gli speaker hanno bisogno di ben poche presentazioni ... li conosco dai bei tempi di Mondadori Informatica Education ed ho avuto la fortuna di lavorare con alcuni di loro.
Di sicuro interesse per gli sviluppatori. (e di riflesso per noi sistemisti ... se imparano a scrivere decentemente noi campiamo MOLTO meglio :-D )
C.
-
Desideravo segnalarvi che il Webcast su Exchange 2007 Management Shell già annunciato, è stato ripianificato per il 20 di Aprile 2007, dalle 10:30 alle 12:00 ... causa mia influenza :-(
Spiacente per quanti si erano già registrati per la sessione di Venerdì scorso.
Claudio
-
Volevo
segnalarvi l' "IT Pro Momentum Program".
Si tratta di
un programma dedicato ai professionisti dell'Information Technology, che
vogliono implementare nelle loro aziende nuove tecnologie Microsoft.
Il programma
ha il suo focus su alcune tecnologie ed in particolare:
-
Il deployment
sicuro di Windows Vista con uso di Group Policy e BitLocker (su almeno un
PC)
-
I componenti server di Office System 2007
(es. SharePoint 2007, Excel Services o InfoPath)
-
Virtual Server 2005 R2 o Windows Server Virtualization
di Windows Server "Longhorn"
-
La creazione
di una "command let" (Cmdlet) con
PowerShell per il controllo/configurazione di un'applicazione o un servizio
-
La creazione
di un'applicazione Web su Internet o
su Intranet
-
La creazione
di un cluster di calcolo di almeno due nodi con Windows Server 2003 Compute Cluster Server
-
La messa in
sicurezza di una rete aziendale con ISA
Server 2006 e Network Access
Protection
Il programma
fornisce a chi decide di partecipare, i seguenti vantaggi:
1. Iscrizione ad un portale dedicato (AirFrame) da cui è possibile accedere a
documentazione e risorse di formazione specifiche per la tecnologia scelta
2. Sottoscrizione gratuita di TechNet Plus Direct (1 licenza)
3. 20 ore di supporto gratuito sul progetto
in corso (SLA di 48 ore)
In cambio
Microsoft chiede:
1. L'inserimento in AirFrame di una
descrizione del progetto e il suo aggiornamento al procedere dello stesso
2. Il raggiungimento almeno dello
stadio di Pilot (implementazione della tecnologia scelta in produzione per un
numero limitato di utenti aziendali)
3. La possibilità di descrivere la
vostra esperienza alternativamente con:
3.1. un breve articolo, da pubblicare sul
sito o sul blog di TechNet Italia
3.2. partecipando ad un evento TechNet
3.3. citando la vostra azienda durante
gli eventi TechNet che Microsoft terrà in Italia
Per poter
partecipare basta scrivere una mail all'alias ITAITPRO@microsoft.com mettendo come
oggetto della mail: "Partecipazione a IT Pro Momentum Program" e nel testo del
messaggio le seguenti informazioni:
-
Nome e
cognome
-
Azienda
-
Indirizzo di
mail e numero di telefono
-
Tecnologia a
cui si è interessati (anche più di una)
-
Breve
descrizione del progetto che si vuole realizzare (anche più di uno)
Mi pare una
bella opportunità.
-
Una esigenza
frequente con WSUS, è quella di effettuare il decline degli aggiornamenti non
più necessari, per ridurre il numero di elementi offerti inutilmente ai
computer target di WSUS e poter poi eseguire le operazioni di manutenzione del
DB/Contents con efficacia.
Un esempio
tipico sono le definizioni antispam/antivirus legate a Exchange 2007, Vista e i prodotti ForeFront. Dato il tasso di
uscita e di obsolescenza, questa attività fatta manualmente è quasi
improponibile.
Ho scritto
una breve script, basandomi sul codice del mio precedente post su
WSUS e PowerShell, che può essere schedulata per l'esecuzione periodica.
Ecco il
codice ed il link per il download:
#
Decline-ObsoleteDefinition.ps1
# CG 20070308 - v. 1.0.0
$wsus=new-object 'Microsoft.UpdateServices.Administration.AdminProxy'
$wsusrv=$wsus.GetUpdateServerInstance()
$oldDefinition = $wsusrv.GetUpdates() | where {($_.UpdateClassificationTitle
-eq 'Definition Updates') -and ($_.Isdeclined -eq $False) -and ($_.IsSuperseded
-eq $True)}
if ($oldDefinition.Count -gt 0)
{
$oldDefinition | ft -prop
Title,Description,ArrivalDate
$oldDefinition
| % {$_.Decline()}
Write-Host
$oldDefinition.Count "Definizioni obsolete declinate."
} else
{
Write-warning
"Nessuna Definizione obsoleta da Declinare."
}
# EOF
Sulla
falsariga di questo esempio, è possibile anche declinare automaticamente tutti
gli update per Itanium (ia64), che in tutte le molte installazioni non
servono. ( SNORT! ma un sistema più intelligente per filtrarle in WSUS non
potevano farlo @#!-|* )
Ecco il codice ed il link per il download:
#
Decline-Itanium.ps1
# CG 20070313 - v. 0.9.0
$wsus=new-object 'Microsoft.UpdateServices.Administration.AdminProxy'
$wsusrv=$wsus.GetUpdateServerInstance()
$ia64Updates = $wsusrv.GetUpdates() | where { ($_.Isdeclined -eq $False) -and
(($_.Title -match "ia64") -or ($_.Title -match "itanium"))}
if ($ia64Updates.Count -gt 0)
{
$ia64Updates
| ft -prop Title,Description,ArrivalDate
$ia64Updates | % {$_.Decline()}
Write-Host $ia64Updates.Count "Update per Itanium
(ia64) declinati."
} else
{
Write-warning
"Nessun Update per Itanium (ia64) da Declinare."
}
# EOF
Bene, anche per oggi PowerShell ci ha stupito ;-)
C.
-
Sicuramente converrete con me che la gestione di WSUS sia tediosa, lenta, lacunosa ... non si può certo dire che la Web-UI sia il massimo ;-)
Poichè ero stufo di "smanettare" a mano sia i miei server WSUS che quelli dei clienti, ho pensato bene di cominciare a investigare il connubio tra WSUS e PowerShell.
Non che avessi grandi dubbi, ma il risultato è spettacolare; vediamo con ordine come e perchè.
WSUS dispone di un set di classi .Net per l'amministrazione, definite in WSUS 2.0 e che saranno presto estese in WSUS 3.0 (ora in RC); queste sono illustrate in alcuni esempi VB.Net forniti da Microsoft in un download separato da WSUS, oltre ad essere documentate sull'MSDN.
Dove ci sono classi .Net ... WPS va a nozze ! Quindi mettiamoci all'opera, installiamo PowerShell sul server WSUS e cominciamo caricando gli assembly per interagire con WSUS:
[System.Reflection.Assembly]::LoadWithPartialName('microsoft.updateservices.common')
[System.Reflection.Assembly]::LoadWithPartialName('microsoft.updateservices.administration')
Magari il primo non ci servirà subito, ma può sempre tornare utile.
Ora instanziamo il primo oggetto, che ci consentirà poi di accedere al nostro WSUS:
$wsus=new-object 'Microsoft.UpdateServices.Administration.AdminProxy'
A questo punto possiamo utilizzare le solite sintassi di PowerShell, per sfruttare Reflection e chiedere come è fatto un oggetto:
$wsus | get-member # oppure | gm
Adesso connettiamoci all'istanza di WSUS che gira in locale, e facciamoci dare qualche informazione di configurazione:
$wsusrv = $wsus.GetUpdateServerInstance()
$wsusrv.GetConfiguration()
$wsusrv.GetDatabaseConfiguration()
Carino ? Aspettate, c'è da leccarsi le dita :-)
Chiediamo un sommario di Status e se vi sono componenti in errore (es: il classico "SelfUpdate Tree is not working")
$wsusrv.GetStatus()
$wsusrv.GetComponentsWithErrors()
Ora passsiamo all'azione: chiediamo l'elenco dei "gruppi" di WSUS, creiamone uno al volo e richiediamo la lista (magari controllando anche sulla Web UI per sicurezza):
$wsusrv.GetComputerTargetGroups() | sort -prop Name
$wsusrv.CreateComputerTargetGroup('Prova')
$wsusrv.GetComputerTargetGroups() | sort -prop Name
Cool! Potremmo creare in modo massivo/batch tutti i Gruppi che ci servono sempre con un semplice comando WPS:
'Test-Server', 'Test-Client', 'No-Patch' | % { $wsusrv.CreateComputerTargetGroup( $_)}
Lavoriamo ora con l'estrazione di informazioni sui computer "target", con alcuni esempi:
# Tutti i Target, salviamoli in una variabile
$WsusComputers = $wsusrv.GetComputerTargets()
# Solo alcune proprietà e con Sort
$WsusComputers | select -prop FullDomainName,IPAddress | sort FullDomainName
# Ci sono macchine virtuali di Virtual Server/Virtual PC ?
$WsusComputers | where { $_.Model -eq 'Virtual Machine'} | sort FullDomainName
# Cadaveri in WSUS ?
$WsusComputers | where {$_.LastReportedStatusTime -lt (get-date).AddDays(-30)} | select -prop FullDomainName,IPAddress,LastReportedStatusTime | sort -desc LastReportedStatusTime
Stra-Stra-Cool ! Ma non è finita ;-) Adesso passiamo a manipolare gli Updates:
# Estraiamo gli Updates "obsoleti" ovvero quelli Superseded ma non Declined
$OldUpd = $wsusrv.GetUpdates() | where {($_.IsDeclined -eq $False) -and ($_.IsSuperseded -eq $True)}
# Quanti sono ?
$OldUpd.Count
# Ci interessa manipolare solo le definizioni AntiSpam/AntiVirus/ecc.
$oldDefinition = $OldUpd | where {$_.UpdateClassificationTitle -eq 'Definition Updates'}
# Facciamoci dare qualche informazione di controllo
$oldDefinition | fl -prop Title,Description,ArrivalDate
# ... e decliniamole automaticamente !
$oldDefinition | % {$_.Decline()}
Beh ... che dire ? Ogni giorno PowerShell rivela il suo potenziale immenso, quasi inesplorato.
Tornerò presto sull'uso di WSUS e WPS, perchè ci sono notevoli spazi di integrazione, per la reportistica, alerting, automazione di approvazioni ed esclusioni, manutenzione del DB, integrazione AD, ecc.
-
OK, ci sono cascato anche io ...
Exchange 2007 usa un sistema di Resouce Monitoring, detto appunto Back Pressure, che sui server che svolgono il ruolo di Hub/Edge Transport, controlla che alcune risorse essenziali (spazio disco, RAM, code, ...) non siano in stato "critico".
Nel mio caso la risorsa critica era lo spazio disco, erano rimasti SOLO 4 GB liberi sulla partizione di installazione di Exchange 2007, ove risiedono di default alcune risorse. L'effetto di questo controllo è di generare un evento nell'Application Log:
Event Type: Warning
Event Source: MSExchangeTransport
Event Category: Resource Manager
Event ID: 15002
Description: The resource pressure is constant at High.
Statistics: ...
Ora ... questo "Warning" vi sta dicendo ... che non riceverete più posta Inbound, mentre quella Outbound continua ad andare ...
Le possibili soluzioni:
- Liberare spazio nella partizione incriminata e allontanarvi dal limite di 4 GB
- Spostare le risorse (db e transaction log delle code dei transport) su altra partizione
- Cambiare il limite nel (comodo) file XML di configurazione
A parte la "chicca" di usare un warning per una condizione che secondo me è di errore, resta il fatto che questa cosa è poco appariscente e 4 GB è forse un limite che nelle piccole/medie aziende non è poi così improbabile ... almeno per mia esperienza.
Attendo con impazienza SBS 2008 "64 bit only" per vedere "l'effetto che fa" ;-)
-
Venerdì 16/03/2007, dalle 10:30 alle 12:00, terrò un Webcast avanzato (level 300), sulle tecniche di gestione di Exchange 2007 via Management Shell (AKA: PowerShell).
Cercherò di chiarire alcuni aspetti architetturali e di ambiente ma ci caleremo subito nell'amministrazione di molteplici aspetti di Exchange 2007, dal logging, all'analisi dell'efficacia delle tecniche "AntiSpam", alla manipolazione massiva di oggetti Exchange.
Vi aspetto numerosi, per vedere insieme le illimitate possibilità di interazione, analisi e personalizzazione offerte dalla piattaforma.
Ciao
C.
-
Il 27/02/2007, presso Microsoft Italia a Segrate, si terrà un nuovo evento di Ugiss, che conferma per il 2007 "l'accelerazione" che lo User Group ha prodotto nel 2006.
Ho la fortuna di essere tra gli speaker dell'evento, con nomi prestigiosi come Davide Mauri, Gianluca Hotz, Franco Perduca, Andrea Benedetti ed altri ancora.
Nella mia sessione su Windows PowerShell e SQL Server 2005, cercherò sia di introdurre l'ambiente ed il linguaggio WPS, che applicare subito il linguaggio per compiere alcuni utili task amministrativi, ripetibili ed automatizzabili via script.
Vedremo come PowerShell possa rappresentare già da oggi, seppure non integrato in SQL Server 2005 (fatto che avverrà in "Katmai"), una utilissima soluzione per gli amministratori di sistema e DBA.
Vi aspettiamo :-)
-
Il 19/02/2007, dalle 15:00 alle 16:30, terrò il mio (primo) Webcast per Microsoft Technet, sulle possibilità e le tecniche di amministrazione di SQL Server 2005 tramite Windows PowerShell.
Il WebCast, organizzato da Ugiss e Microsoft Italia, punta ad introdurre PowerShell presso la comunità dei DBA e Systems Administrators, coprendo sia una parte introduttiva e generica sull'ambiente ed il linguaggio di WPS, che una porzione specifica di interazione tra WPS e SQL.
Nella fattispecie vedremo come interagire con i servizi di SQL, come estrapolare eventi SQL dall'event viewer, come usare i SQL Server Management Objects (SMO) per estrarre informazioni di sistema e compiere task ricorrenti.
Vedremo infine un esempio di accesso ai dati via ADO.Net.
Questi temi saranno anche approfonditi nella mia sessione pomeridiana, dell'evento "SQL Server 2005: una piattaforma integrata" di Ugiss, presso Microsoft Italia, il 27/02/2007.
Enjoy WPS ;-)
** AGGIORNAMENTO **
Ecco gli esempi di codice usati nelle demo.