Condividi tramite


Come usare la compatibilità metabase con IIS 7 e versioni successive

di Tobin Titus

IIS 7 e IIS 8 consentono agli script di configurazione legacy e alle applicazioni di continuare l'esecuzione. È disponibile un componente di configurazione facoltativo che abilita il sistema Metabase con le relative interfacce a livello di codice: Amministrazione oggetti base (ABO) e provider ADSI e WMI. Il sistema intercetta le chiamate a ABO e le esegue il mapping al nuovo sistema di configurazione. I dati vengono salvati in modo permanente in applicationHost.config, ma il chiamante ABO viene presentato con una vista legacy della struttura di configurazione.

Prerequisiti

  1. Assicurarsi che IIS sia installato nel computer selezionando http://LocalHost da Internet Explorer e si noterà che si ottiene la pagina predefinita "In costruzione". Se IIS non è installato, fare riferimento al How-To di installazione per istruzioni di installazione.
  2. Assicurarsi di disporre di privilegi amministrativi nel computer: per impostazione predefinita, non sono disponibili se si è connessi come utente diverso dall'account amministratore predefinito, anche se questo utente è stato aggiunto al gruppo Administrators locale nel computer (si tratta di una nuova funzionalità di sicurezza in Windows Server® 2008 e versioni successive con IIS, denominato LUA, che esula dall'ambito di IIS. Assicurarsi di accedere come account amministratore predefinito o richiamare in modo esplicito le applicazioni come amministratore predefinito in base alle esigenze, usando lo strumento da riga di comando "runas". Ad esempio, per avviare notepad.exe è possibile eseguire questo comando: "runas /user:administrator notepad.exe". Verrà richiesta la password dell'account amministratore. È utile avere una shell cmd-box già con privilegi elevati, eseguendo "runas /user:administrator cmd.exe". Tutte le applicazioni eseguite da tale cmd-box saranno elevate e non sarà necessario usare la sintassi "runas" da tale cmd-box.
  3. Assicurarsi che sia stato eseguito il backup del file di configurazione master. È sufficiente copiare applicationHost.config in un file diverso, in modo che sia possibile ripristinarlo in un secondo momento. È possibile trovare applicationHost.config nella directory inetsrv\, che a sua volta si trova nella directory di sistema. Si noti che è necessario essere un amministratore per eseguire questa operazione. Vedere il punto precedente.
  4. Prima di iniziare, assicurarsi di essere in uno stato "pulito". A tale scopo, ripristinare le modifiche apportate al file di applicationHost.config negli esercizi precedenti. Se si usa un'immagine VPC, il modo più semplice per eseguire questa operazione consiste nel riavviare l'immagine senza salvare lo stato.
  5. È anche consigliabile disattivare i messaggi di errore HTTP descrittivi in Internet Explorer (Strumenti > opzioni > avanzate) per una risoluzione dei problemi più rapida.

Nota

Quando si copia testo da .html file, vengono copiati anche i caratteri nascosti. Quando si incolla il testo in un editor, ad esempio Visual Studio o in una finestra della casella di comando, il testo potrebbe apparire come se fosse stato copiato correttamente, ma il testo incollato potrebbe non funzionare correttamente perché contiene caratteri nascosti. Questa situazione può essere difficile da sottoporre a debug.

Il modo migliore per copiare testo da . I file MHT lo copiano, quindi incollarlo nel Blocco note e quindi copiarlo nuovamente dal Blocco note. In questo modo vengono rimossi tutti i caratteri nascosti. Se il testo è breve, a volte è più semplice digitarlo manualmente anziché copiarlo e incollarlo.

Scrittura di impostazioni globali tramite ABO

In questo passaggio si apprenderà come modificare un valore in un'impostazione globale usando l'interfaccia AdminBaseObjects e come scriverlo nel file di applicationHost.config. Per eseguire questa attività si userà lo strumento MBExplorer.exe.

Verificare prima di tutto che il componente Compatibilità Metabase di IIS sia installato nel computer. Questo componente non è installato per impostazione predefinita. Nelle build di Windows Server® 2008 e versioni successive è possibile usare lo strumento Server Manager (Strumenti di amministrazione start-Server Manager>>) e controllare il componente "Compatibilità gestione IIS 6.0" per installarlo. Da un cmd-box verificare che IISADMIN del servizio NT sia attivo e in esecuzione eseguendo "net start iisadmin". Dovrebbe essere visualizzato un messaggio che indica che IISADMIN è già in esecuzione.

Successivamente, è necessario scaricare lo strumento MBExplorer dal Web. Usare MSN Search per cercarlo, in modo da indirizzare l'utente all'area download in Microsoft.com, in cui sarà necessario scaricare e installare IIS 6.0 Resource Kit. Lo strumento MBExplorer è incluso nel kit di risorse. Dopo l'installazione, in genere si trova in \Programmi\Risorse IIS\Metabase Explorer\MBExplorer.exe.

Screenshot della schermata I S Metabase Explorer, che mostra uno strumento M B Explorer evidenziato.

  1. Eseguire MBExplorer.exe. Questo strumento funziona sopra l'interfaccia AdminBaseObjects (ABO), quindi presenta una visualizzazione ABO della gerarchia di configurazione.

  2. Nel riquadro sinistro passare al livello LM > W3SVC. Questo è il livello globale della gerarchia di configurazione, in una visualizzazione ABO.

  3. Individuare la proprietà AuthFlags .

    Suggerimento

    È più semplice individuare la proprietà se si ordinano le proprietà facendo clic sull'intestazione di colonna Name. Il valore predefinito è 1.

  4. Modificare il valore in un numero intero compreso tra 1 e 7 inclusi.

  5. Usando un editor di testo, ad esempio Blocco note, aprire il file ApplicationHost.config nel percorso seguente: %windir%\system32\inetsrv\config\ApplicationHost.config

  6. Individuare il <gruppo di sezioni di autenticazione> . Le <sezioni di autenticazione> sono abilitate in base al valore impostato. Ad esempio, se si imposta AuthFlags=2, solo BasicAuthentication avrà enabled="true" e altre sezioni di autenticazione avranno enabled="false". Questo perché "2" esegue il mapping a "AUTH_BASIC" nello schema IIS 6.0.

  7. Modificare il valore in MBExplorer e aggiornare la visualizzazione del file di ApplicationHost.config. Modificando la proprietà AuthFlags nella metabase, si abilitano e disabilitano indirettamente gli schemi di autenticazione nel file ApplicationHost.config.

Scrittura di un'impostazione di directory virtuale tramite ABO

In questo passaggio si apprenderà come modificare un valore in una directory virtuale usando ABO e come scrivere il valore in applicationHost.config. Poiché non si modifica un'impostazione globale, il livello di compatibilità ABO genera un tag di posizione nel file applicationHost.config, con un percorso corrispondente alla directory virtuale modificata. Si noti che web.config file non vengono gestiti dal componente Compatibilità metabase.

Screenshot della schermata I S Metabase Explorer che mostra una directory virtuale evidenziata.

  1. Eseguire lo strumento MBExplorer.exe.
  2. Nel riquadro sinistro passare al livello LM>W3SVC> 1 >ROOT . Si tratta dell'applicazione radice nel sito Web predefinito.
  3. Impostare un valore per la proprietà AuthFlags . Fare clic su ROOT nel riquadro sinistro, dal menu Modifica selezionare Nuovo record DWORD e quindi immettere 6000 come ID record.
  4. Verrà creata una proprietà AuthFlags a questo livello con il valore 0. Fare doppio clic sulla proprietà nel riquadro destro e impostare il valore su un numero intero compreso tra 1 e 7 inclusi.
  5. Usando un editor di testo, ad esempio Blocco note, aprire il file ApplicationHost.config nel percorso seguente: %windir%\system32\inetsrv\config\ApplicationHost.config
  6. Nella parte inferiore del file prendere nota di un nuovo <percorso percorso="Sito Web predefinito":> tag con le sezioni di autenticazione abilitate o disabilitate in base al valore impostato.

Riepilogo

In questo documento si è appreso come abilitare e usare la funzionalità di compatibilità del sistema di configurazione. È stato usato uno strumento legacy per modificare le impostazioni a livello globale e virtuale, i livelli e li hanno scritti in applicationHost.config. È possibile usare altri strumenti, ad esempio adsutil.vbs, per eseguire il mapping e il write-through. È possibile verificare che gli script e le applicazioni ABO/ADSI/WMI esistenti continuino a funzionare in questo ambiente. È anche possibile sperimentare la direzione inversa: modificare i valori in applicationHost.config e verificare che vengano riflesse nella visualizzazione ABO in MBExplorer o in qualsiasi altro strumento o script.