DetailPage-MSS-KB

Microsoft Knowledge Base

Identificativo articolo: 922836 - Ultima modifica: giovedì 11 ottobre 2007 - Revisione: 3.4

 

In questa pagina

Sommario

servizio di directory in the Active Directory per Microsoft Windows 2000 Server e per Microsoft Windows Server 2003, è difficile impedire a un utente autenticato di un attributo di lettura. In genere, se l'utente richiede autorizzazioni READ_PROPERTY per un attributo o per la proprietà è impostata, viene concesso l'accesso in lettura. Protezione di predefinito in Active Directory è impostata in modo che gli utenti autenticati abbiano accesso di lettura a tutti gli attributi. In questo articolo viene descritto come impedire l'accesso in lettura per un attributo in Windows Server 2003 Service Pack 1 (SP1).

INTRODUZIONE

In questo articolo viene descritto come contrassegnare un attributo come confidenziali in Windows Server 2003 Service Pack 1.

Informazioni

Windows Server 2003 SP1 introduce un metodo per contrassegnare un attributo come confidenziali. Per effettuare questa operazione, è necessario modificare il valore dell'attributo searchFlags nello schema. Il valore dell'attributo searchFlags contiene più bit che rappresentano varie proprietà di un attributo. Ad esempio, se è impostato il bit 1, l'attributo è indicizzato. Bit 7 (128) definisce l'attributo come confidenziali.

Requisiti e vincoli

Solo i controller di dominio che eseguono Windows Server 2003 SP1 o versione successiva è applicare il controllo di accesso in lettura per gli attributi riservati. La funzionalità di attributi riservati è legata all'installazione di Windows Server 2003 SP1 o versione successiva. Questa funzionalità non dipende da se è attivato un dominio o un livello funzionalità insieme di strutture.

Utilizzare la funzionalità di attributi riservati solo se sono vere le seguenti condizioni:
  • Tutti i controller di dominio di basato su Windows Server 2003 dispongono di Windows Server 2003 SP1 o versione successiva installato.
  • Tutti i controller di dominio Windows 2000 sono stati aggiornati o rimossi.
Se un dominio contiene una combinazione di controller di dominio che eseguono Windows 2000 Server, la versione originale di Windows Server 2003 e Windows Server 2003 SP1, potrebbe verificarsi il seguente scenario:
  • Se un client non autorizzato esegue una query basata su Windows 2000 Server e Windows Server 2003-su domain controller dati riservati dell'attributo, il client può leggere i dati.
  • Se un client non autorizzato esegue query controller di dominio basato su Windows Server 2003 SP1 per dati riservati dell'attributo, il client Impossibile leggere i dati.
Non è possibile contrassegnare un attributo di schema di base come confidenziali. Un ID dipendente è un esempio di un attributo dello schema di base. Questo attributo, non può essere contrassegnato come riservato, perché il valore di attributo systemsFlags è impostato su 0 x 10 (schema di base). Per ulteriori informazioni, vedere la sezione "determinare se un attributo è un attributo di schema di base" e la sezione di "Come stabilire il valore dell'attributo searchFlags quando si utilizza un attributo esistente".

Test

Come si potrebbe verificare qualsiasi modifica apportata a Active Directory e qualsiasi estensione dello schema, si consiglia di verificare accuratamente le modifiche di attributo in un laboratorio che rispecchia la foresta di produzione. Test consente di garanzia che la procedura funziona senza problemi e che vengono rilevati problemi.

Controlli del controllo di accesso

Dopo l'installazione di Windows Server 2003 SP1 e dopo Active Directory esegue un controllo di accesso in lettura, Active Directory controlla gli attributi riservati. Se esistono attributi riservati e che se per questi attributi sono impostate autorizzazioni READ_PROPERTY, Active Directory richiederà inoltre CONTROL_ACCESS autorizzazioni per gli attributi o i relativi insiemi di proprietà.

Nota L'impostazione di autorizzazione Controllo completo include l'autorizzazione di CONTROL_ACCESS.

Active Directory esegue un controllo di accesso in lettura su un oggetto nei seguenti casi:
  • Quando è possibile valutare se l'oggetto corrisponde al filtro di ricerca.
  • Quando si torna gli attributi di un oggetto che corrispondono al filtro di ricerca.
Per impostazione predefinita, solo gli amministratori dispongono di autorizzazioni CONTROL_ACCESS a tutti gli oggetti. Di conseguenza, solo gli amministratori possono leggere gli attributi riservati. Gli amministratori possono delegare tali autorizzazioni a qualsiasi utente o a qualsiasi gruppo.

Voci di controllo accesso generico e specifico per oggetto

Ogni oggetto nella Active Directory dispone di informazioni di controllo accesso associate. Queste informazioni sono noto come un descrittore di protezione. Il descrittore di protezione Controlla il tipo di accesso disponibile per gli utenti e gruppi. Il descrittore di protezione viene creato automaticamente quando viene creato l'oggetto.

L'insieme di voci delle autorizzazioni di un descrittore di protezione equivale a un elenco di controllo di accesso discrezionale (DACL). Ogni voce di autorizzazione l'elenco DACL è noto come una voce di controllo di accesso (ACE).

È possibile concedere autorizzazioni all'oggetto o utilizzando una voce di controllo di accesso generico o specifiche per l'oggetto sull'oggetto per concedere autorizzazioni CONTROL_ACCESS agli attributi riservati. È possibile concedere autorizzazioni timbro loro esplicitamente sull'oggetto o utilizzando l'ereditarietà. Ereditarietà significa impostare una voce di controllo ereditabili accesso in un contenitore è superiore nella gerarchia del contenitore.

Voci di controllo di accesso generici e specifici dell'oggetto fondamentalmente sono le stesse. Cosa imposta loro differenza è il livello di controllo che offrono le voci di controllo di accesso tramite l'ereditarietà e l'accesso all'oggetto. Voci di controllo di accesso generico si applicano all'intero oggetto. Voci di controllo di accesso specifiche per l'oggetto offrono maggiore controllo sulle quali oggetti ereditano la voce di controllo di accesso. Quando si utilizza una voce di controllo accesso specifiche per l'oggetto, è possibile specificare l'attributo o l'insieme di proprietà dell'oggetto che eredita la voce di controllo di accesso.

Quando si utilizza la funzionalità di attributi riservati, CONTROL_ACCESS autorizzazione è concessa per l'assegnazione di una voce di controllo di accesso generico a un utente. Se CONTROL_ACCESS autorizzazione viene concessa assegnando una voce di controllo accesso specifiche per l'oggetto, l'utente verrà concessa solo l'autorizzazione di CONTROL_ACCESS per l'attributo riservato.

Quando si utilizza una voce di controllo di accesso generico, vengono concesse le autorizzazioni seguenti:
  • Autorizzazioni estese tutte
  • Consente di autenticazione
  • Cambia password
  • Ricevi come
  • Reimposta password
  • Invia come
Le autorizzazioni concesse quando si utilizza una voce di controllo di accesso generico possono fornire un accesso più che si desidera sull'intero oggetto. Se si tratta di un problema, è possibile impostare una voce di controllo accesso specifiche per l'oggetto per l'oggetto in modo che la voce di controllo di accesso si applica solo all'attributo riservato. Quando si utilizzano voci di controllo di accesso specifiche per l'oggetto, è possibile controllare la proprietà o la proprietà è impostata a cui si applica la voce di controllo di accesso.

L'interfaccia utente in Windows Server 2003 non espone Control_Access autorizzazioni. Lo strumento DSACLS.exe consente di impostare autorizzazioni Control_Access assegnando una voce di controllo di accesso generico. Non è tuttavia possibile utilizzare questo strumento per assegnare una voce di controllo accesso specifiche per l'oggetto. Lo strumento solo per impostare autorizzazioni Control_Access, assegnazione di una voce di controllo accesso specifiche per l'oggetto è lo strumento LDP.exe.

Nota Una descrizione approfondita del controllo di accesso esula dall'ambito di questo articolo. Per ulteriori informazioni sul controllo di accesso, visitare i seguenti siti Web Microsoft:
http://msdn.microsoft.com/en-us/library/aa374860(VS.85).aspx (http://msdn.microsoft.com/en-us/library/aa374860(VS.85).aspx)
http://technet.microsoft.com/en-us/library/cc749433.aspx (http://technet.microsoft.com/en-us/library/cc749433.aspx)

Come utilizzare l'ereditarietà

In un dominio di grandi dimensioni, non è pratico assegnare manualmente controllare l'accesso a un utente o a un gruppo per ogni oggetto che dispone di un attributo riservato. La soluzione è utilizzare l'ereditarietà per impostare una voce di controllo di accesso ereditabile che è superiore nella gerarchia del contenitore. Questo movimento di controllo di accesso si riferisce a tutti gli oggetti figlio del contenitore.

Per impostazione predefinita, l'ereditarietà è abilitato per tutte le unità organizzative (OU) e per tutti gli account utente, fatta eccezione per l'account amministratore incorporato. Se si creano gli account utente aventi l'ereditarietà disabilitata o se si creano gli account amministrativi copiando l'account amministratore incorporato, è necessario attivare l'ereditarietà per questi account. In caso contrario, il modello di ereditarietà non viene applicata a questi account.

Come creare un attributo riservato

  1. Determinare quale attributo per contrassegnare come riservate o aggiungere un attributo che si desidera rendere riservate.
  2. Concedere gli utenti appropriati Control_Access autorizzazioni in modo che gli utenti possono visualizzare i dati dell'attributo.
Per creare un attributo riservato è possono utilizzare strumenti quali lo strumento LDP.exe e lo strumento ADSIEdit.msc. file .ldf in genere vengono utilizzati per estendere lo schema. Questi file sono possibile utilizzare per contrassegnare un attributo come confidenziali. I file creati per un'implementazione devono essere ottimizzati durante la fase di testing in modo che si conosce esattamente ciò che si sta aggiungendo allo schema quando distribuire alla produzione. file .ldf per evitare errori.

I file ldf di esempio riportato di seguito consente di eseguire le operazioni seguenti:
  • Aggiungere un attributo allo schema
  • Contrassegnare l'attributo come riservate
  • Aggiungere l'attributo alla classe utente
Nota Prima si utilizzano file ldf, assicurarsi di leggere le sezioni "Identificatori di oggetto" e "sintassi di attributo" per informazioni importanti aggiungere gli oggetti e attributi allo schema.

File ldf di esempio

Il codice seguente aggiunge un attributo allo schema e quindi lo contrassegna l'attributo come confidenziali.
dn: CN=ConfidentialAttribute-LDF,CN=Schema,Cn=Configuration,DC=domain,DC=com
changetype: add
objectClass: attributeSchema
lDAPDisplayName: ConfidentialAttribute
adminDescription: This attribute stores user's confidential data
attributeID: 1.2.840.113556.1.xxxx.xxxx.1.x
attributeSyntax: 2.5.5.12
oMSyntax: 64
isSingleValued: TRUE
showInAdvancedViewOnly: TRUE
searchFlags: 128

dn:
changeType: modify
add: schemaupdatenow
schemaupdatenow: 1
-
Il codice riportato di seguito aggiunge l'attributo nuovo class. l'utente
dn: CN=User,CN=Schema,CN=Configuration,DC=domain,DC=com
changetype: modify
add: mayContain
mayContain: ConfidentialAttribute

dn:
changeType: modify
add: schemaupdatenow
schemaupdatenow: 1
-

Come consentire agli utenti senza privilegi di amministratore di visualizzare i dati di attributo

Nota Nelle procedure riportate di seguito è necessario utilizzare lo strumento LDP.exe è incluso con Windows Server 2003 R2 Active Directory Application Mode (ADAM). Altre versioni dello strumento LDP.exe Impossibile impostare autorizzazioni.

Come impostare manualmente autorizzazioni Control_Access un account utente

  1. Aprire lo strumento LDP.exe è incluso in Windows Server 2003 R2 ADAM.
  2. Connettersi e il binding alla directory.
  3. Selezionare un account utente, fare clic con il pulsante destro del mouse l'account, fare clic su Avanzate , fare clic su Descrittore di protezione e quindi fare clic su OK .
  4. Nella casella DACL , fare clic su Aggiungi ACE .
  5. Nella casella dominio trusted , digitare il nome di gruppo o il nome utente a cui si desidera concedere autorizzazioni.
  6. Nella finestra di Controllo dell'accesso , verificare le modifiche apportate nel passaggio 5.

Come utilizzare l'ereditarietà per assegnare autorizzazioni Control_Access

Per utilizzare l'ereditarietà, è necessario creare una voce di controllo di accesso che concede autorizzazioni Control_Access agli utenti desiderati o gruppi che sono superiori nella gerarchia del contenitore agli oggetti che dispongono di attributi riservati. È possibile impostare questa voce di controllo di accesso a livello di dominio o in qualsiasi punto nella gerarchia del contenitore per un'organizzazione. Gli oggetti figlio presentano attributi riservati necessario attivata.

Per assegnare autorizzazioni Control_Access, attenersi alla seguente procedura:
  1. Aprire il file Ldp.exe è incluso in Windows Server 2003 R2 ADAM.
  2. Connettersi e associare a una directory.
  3. Selezionare un'unità ORGANIZZATIVA o un contenitore che è il livello superiore della gerarchia contenitore rispetto a fare clic con il pulsante destro degli oggetti che presentano attributi riservati, mouse l'unità ORGANIZZATIVA o contenitore, fare clic su Avanzate , fare clic su Descrittore di protezione e quindi fare clic su OK .
  4. Nella casella DACL , fare clic su Aggiungi voce ACE .
  5. Nella casella dominio trusted , digitare il nome di gruppo o il nome utente a cui si desidera concedere autorizzazioni.
  6. Nella finestra di Controllo dell'accesso , verificare le modifiche apportate nel passaggio 5.
  7. Nella casella Tipo oggetto , fare clic sull'attributo riservata che è stato aggiunto.
  8. Assicurarsi che l'ereditarietà è abilitato per gli oggetti di destinazione.

Come determinare il valore dell'attributo systemFlags, quando si utilizza un attributo esistente

Se si utilizza un oggetto esistente, è necessario verificare il valore di attributo searchFlags corrente. Se si aggiunge un oggetto, è possibile definire il valore quando si aggiunge l'oggetto. Esistono molti modi per ottenere il valore dell'attributo searchFlags . Utilizzare il metodo ottimale per l'utente.

Per utilizzare lo strumento LDP.exe per ottenere il valore dell'attributo searchFlags , attenersi alla seguente procedura:
  1. Fare clic su Start , scegliere Esegui , digitare LDP e quindi fare clic su OK .
  2. Fare clic su connessione e quindi fare clic su Associa .
  3. Il binding come l'amministratore del dominio principale oppure associare come un account che sia un amministratore dell'organizzazione.
  4. Fare clic su Visualizza e quindi fare clic su struttura .
  5. Fare clic su CN = schema, cn = configuration, dc = rootdomain e quindi fare clic su OK .
  6. Nel riquadro di sinistra espandere CN = schema, cn = configuration, dc = rootdomain.
  7. Individuare il nome di dominio dell'attributo che si desidera contrassegnare come riservate e quindi espanderlo.
  8. Nell'elenco di attributi che vengono compilati per l'oggetto, è possibile individuare searchFlags per determinare il valore di attributo searchFlags corrente per tale oggetto.
Nota Per determinare il valore dell'attributo searchFlags nuovo, utilizzare la formula seguente:
128 + current searchFlags attribute value = new searchFlags attribute value

Come determinare se un attributo è un attributo di schema di base

Per determinare se un attributo è un attributo di schema di base, utilizzare lo strumento LDP.exe per esaminare il valore di attributo systemFlags .

Output di LDP di ID dipendente – systemFlags: 0 x 10 = (FLAG_SCHEMA_BASE_OBJECT)

Nel seguente esempio LDP.exe output LDP.exe identifica il valore dell'attributo systemFlags come 0 x 10 e il come attributo dello schema di base. Non è pertanto possibile contrassegnare questo attributo come confidenziali.
>> Dn: CN=Employee-ID,CN=Schema,CN=Configuration,DC=domain,DC=com
	2> objectClass: top; attributeSchema; 
	1> cn: Employee-ID; 
	1> distinguishedName: CN=Employee-ID,CN=Schema,CN=Configuration,DC=domain,DC=com; 
	1> instanceType: 0x4 = ( IT_WRITE ); 
	1> whenCreated: 08/05/2005 14:58:58 Central Standard Time; 
	1> whenChanged: 08/05/2005 14:58:58 Central Standard Time; 
	1> uSNCreated: 220; 
	1> attributeID: 1.2.840.113556.1.4.35; 
	1> attributeSyntax: 2.5.5.12 = ( SYNTAX_UNICODE_TYPE ); 
	1> isSingleValued: TRUE; 
	1> rangeLower: 0; 
	1> rangeUpper: 16; 
	1> uSNChanged: 220; 
	1> showInAdvancedViewOnly: TRUE; 
	1> adminDisplayName: Employee-ID; 
	1> adminDescription: Employee-ID; 
	1> oMSyntax: 64 = ( OM_S_UNICODE_STRING ); 
	1> searchFlags: 0x0 = (  ); 
	1> lDAPDisplayName: employeeID; 
	1> name: Employee-ID; 
	1> objectGUID: 64fb3ed1-338f-466e-a879-595bd3940ab7; 
	1> schemaIDGUID: bf967962-0de6-11d0-a285-00aa003049e2; 
	1> systemOnly: FALSE; 
	1> systemFlags: 0x10 = ( FLAG_SCHEMA_BASE_OBJECT ); 
	1> objectCategory: CN=Attribute-Schema,CN=Schema,CN=Configuration,DC=domain,DC=com;

Output di LDP di matricola dipendente systemFlags: 0 x 0 =)

Nel seguente esempio LDP.exe output LDP.exe identifica il valore dell'attributo systemFlags come 0. This attribute can be marked as confidential.
>> Dn: CN=Employee-Number,CN=Schema,CN=Configuration,DC=warrenw,DC=com
	2> objectClass: top; attributeSchema; 
	1> cn: Employee-Number; 
	1> distinguishedName: CN=Employee-Number,CN=Schema,CN=Configuration,DC=warrenw,DC=com; 
	1> instanceType: 0x4 = ( IT_WRITE ); 
	1> whenCreated: 08/05/2005 14:58:58 Central Standard Time; 
	1> whenChanged: 08/05/2005 14:58:58 Central Standard Time; 
	1> uSNCreated: 221; 
	1> attributeID: 1.2.840.113556.1.2.610; 
	1> attributeSyntax: 2.5.5.12 = ( SYNTAX_UNICODE_TYPE ); 
	1> isSingleValued: TRUE; 
	1> rangeLower: 1; 
	1> rangeUpper: 512; 
	1> mAPIID: 35943; 
	1> uSNChanged: 221; 
	1> showInAdvancedViewOnly: TRUE; 
	1> adminDisplayName: Employee-Number; 
	1> adminDescription: Employee-Number; 
	1> oMSyntax: 64 = ( OM_S_UNICODE_STRING ); 
	1> searchFlags: 0x0 = (  ); 
	1> lDAPDisplayName: employeeNumber; 
	1> name: Employee-Number; 
	1> objectGUID: 2446d04d-b8b6-46c7-abbf-4d8e7e1bb6ec; 
	1> schemaIDGUID: a8df73ef-c5ea-11d1-bbcb-0080c76670c0; 
	1> systemOnly: FALSE; 
	1> systemFlags: 0x0 = (  ); 
	1> objectCategory: CN=Attribute-Schema,CN=Schema,CN=Configuration,DC=warrenw,DC=com; 
-----------

Identificatori di oggetto

Quando si aggiunge un attributo o un oggetto di classe per lo schema, una degli attributi richiesti è l'identificatore di oggetto (noto anche come OID). Gli identificatori di oggetto vengono utilizzati per definire in modo univoco classi di oggetti e attributi. Assicurarsi che la società Ottiene l'identificatore di oggetto univoco per identificare l'attributo. Strumenti che generano gli identificatori di oggetto, ad esempio lo strumento Oidgen.exe, non sono supportati. Per ottenere un identificatore di oggetto da Microsoft, il seguente sito Microsoft Web:
http://msdn2.microsoft.com/en-us/library/ms677620.aspx (http://msdn2.microsoft.com/en-us/library/ms677620.aspx)

Sintassi degli attributi

È necessario che l'attributo attributeSyntax anche per aggiungere nuovi oggetti allo schema. Questo attributo definisce la rappresentazione in forma di archiviazione, ordini di byte e regole di corrispondenza per i confronti dei tipi di proprietà. La sintassi definisce se il valore dell'attributo deve essere una stringa, un numero o un'unità di tempo. Ogni attributo di ogni oggetto è associata a esattamente una singola sintassi. Assicurarsi di selezionare la sintassi di attributo corretto per il nuovo attributo. Ciò è particolarmente importante se si sincronizza una directory LDAP (Lightweight Directory Access Protocol) con LDAP di un'altra directory. Dopo aver aggiunto l'attributo allo schema, è Impossibile modificare la sintassi di attributo.

Per ulteriori informazioni sull'attributo attributeSyntax , visitare il sito di Web di Microsoft:
hhttp://msdn.microsoft.com/en-us/library/ms675236(VS.85).aspx (http://msdn.microsoft.com/en-us/library/ms675236(VS.85).aspx)
Per ulteriori informazioni sui valori nell'attributo searchFlags , visitare il seguente sito e quindi cercare "Effetti di indicizzazione in Opzioni ricerca":
http://technet2.microsoft.com/WindowsServer/en/library/8196d68e-776a-4bbc-99a6-d8c19f36ded41033.mspx?mfr=true (http://technet2.microsoft.com/WindowsServer/en/library/8196d68e-776a-4bbc-99a6-d8c19f36ded41033.mspx?mfr=true)

Le informazioni in questo articolo si applicano a:
  • Microsoft Windows Server 2003 Service Pack 1 alle seguenti piattaforme
    • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
    • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
    • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Standard x64 Edition
Chiavi: 
kbmt kbhowto kbinfo KB922836 KbMtit
Traduzione automatica articoliTraduzione automatica articoli
Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell’utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell’utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell’articolo: 922836  (http://support.microsoft.com/kb/922836/en-us/ )
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.
Condividi
Altre opzioni per il supporto
Forum del supporto di Microsoft Community
Contattaci direttamente
Ricerca di un partner certificato Microsoft
Microsoft Store