Condividi tramite


New-PSSessionOption

Crea un oggetto che contiene opzioni avanzate per una sessione PSSession.

Sintassi

New-PSSessionOption
   [-MaximumRedirection <Int32>]
   [-NoCompression]
   [-NoMachineProfile]
   [-Culture <CultureInfo>]
   [-UICulture <CultureInfo>]
   [-MaximumReceivedDataSizePerCommand <Int32>]
   [-MaximumReceivedObjectSize <Int32>]
   [-OutputBufferingMode <OutputBufferingMode>]
   [-MaxConnectionRetryCount <Int32>]
   [-ApplicationArguments <PSPrimitiveDictionary>]
   [-OpenTimeout <Int32>]
   [-CancelTimeout <Int32>]
   [-IdleTimeout <Int32>]
   [-ProxyAccessType <ProxyAccessType>]
   [-ProxyAuthentication <AuthenticationMechanism>]
   [-ProxyCredential <PSCredential>]
   [-SkipCACheck]
   [-SkipCNCheck]
   [-SkipRevocationCheck]
   [-OperationTimeout <Int32>]
   [-NoEncryption]
   [-UseUTF16]
   [-IncludePortInSPN]
   [<CommonParameters>]

Descrizione

Il cmdlet New-PSSessionOption crea un oggetto che contiene opzioni avanzate per una sessione gestita dall'utente (PSSession). È possibile usare l'oggetto come valore del parametro SessionOption dei cmdlet che creano un PSSession, ad esempio New-PSSession, Enter-PSSessione Invoke-Command.

Senza parametri, New-PSSessionOption genera un oggetto contenente i valori predefiniti per tutte le opzioni. Poiché ogni proprietà può essere modificata, è possibile usare l'oggetto risultante come modello e creare oggetti opzione standard per l'organizzazione.

È anche possibile salvare un oggetto SessionOption nella variabile di preferenza $PSSessionOption. I valori di questa variabile stabiliscono nuovi valori predefiniti per le opzioni di sessione. Sono efficaci quando non vengono impostate opzioni di sessione per la sessione e hanno la precedenza sulle opzioni impostate nella configurazione della sessione, ma è possibile eseguirne l'override specificando le opzioni di sessione o un oggetto SessionOption in un cmdlet che crea una sessione. Per altre informazioni sulla variabile di preferenza $PSSessionOption, vedere about_Preference_Variables.

Quando si usa un oggetto SessionOption in un cmdlet che crea una sessione, i valori delle opzioni di sessione hanno la precedenza sui valori predefiniti per le sessioni impostate nella variabile di preferenza $PSSessionOption e nella configurazione della sessione. Tuttavia, non hanno la precedenza sui valori massimi, sulle quote o sui limiti impostati nella configurazione della sessione. Per altre informazioni sulle configurazioni di sessione, vedere about_Session_Configurations.

Esempio

Esempio 1: Creare un'opzione di sessione predefinita

Questo comando crea un oggetto SessionOption con i valori predefiniti.

New-PSSessionOption

MaximumConnectionRedirectionCount : 5
NoCompression                     : False
NoMachineProfile                  : False
ProxyAccessType                   : IEConfig
ProxyAuthentication               : Negotiate
ProxyCredential                   :
SkipCACheck                       : False
SkipCNCheck                       : False
SkipRevocationCheck               : False
OperationTimeout                  : 00:03:00
NoEncryption                      : False
UseUTF16                          : False
Culture                           :
UICulture                         :
MaximumReceivedDataSizePerCommand :
MaximumReceivedObjectSize         :
ApplicationArguments              :
OpenTimeout                       : 00:03:00
CancelTimeout                     : 00:01:00
IdleTimeout                       : 00:04:00

Esempio 2: Configurare una sessione usando un oggetto opzione di sessione

Questo esempio illustra come usare un oggetto SessionOption per configurare una sessione.

$pso = New-PSSessionOption -Culture "fr-fr" -MaximumReceivedObjectSize 10MB
New-PSSession -ComputerName Server01 -SessionOption $pso

Il primo comando crea un nuovo oggetto SessionOption e lo salva nel valore della variabile $pso. Il secondo comando usa il cmdlet New-PSSession per creare una sessione nel computer remoto Server01. Il comando usa l'oggetto SessionOption nel valore della variabile $pso come valore del parametro SessionOption del comando.

Esempio 3: Avviare una sessione interattiva

Questo comando usa il cmdlet Enter-PSSession per avviare una sessione interattiva con il computer Server01.

Enter-PSSession -ComputerName Server01 -SessionOption (New-PSSessionOption -NoEncryption -NoCompression)

Il valore del parametro SessionOption è un comando New-PSSessionOption che ha i parametri NoEncryption e NoCompression.

Il comando New-PSSessionOption è racchiuso tra parentesi per assicurarsi che venga eseguito prima del comando Enter-PSSession.

Esempio 4: Modificare un oggetto opzione di sessione

In questo esempio viene illustrato che è possibile modificare l'oggetto SessionOption. Tutte le proprietà hanno valori leggibili e scrivibili.

$a = New-PSSessionOption
$a.OpenTimeout

Days              : 0
Hours             : 0
Minutes           : 3
Seconds           : 0
Milliseconds      : 0
Ticks             : 1800000000
TotalDays         : 0.00208333333333333
TotalHours        : 0.05
TotalMinutes      : 3
TotalSeconds      : 180
TotalMilliseconds : 180000

$a.UICulture = (Get-UICulture)
$a.OpenTimeout = (New-Timespan -Minutes 4)
$a.MaximumConnectionRedirectionCount = 1
$a

MaximumConnectionRedirectionCount : 1
NoCompression                     : False
NoMachineProfile                  : False
ProxyAccessType                   : IEConfig
ProxyAuthentication               : Negotiate
ProxyCredential                   :
SkipCACheck                       : False
SkipCNCheck                       : False
SkipRevocationCheck               : False
OperationTimeout                  : 00:03:00
NoEncryption                      : False
UseUTF16                          : False
Culture                           :
UICulture                         : en-US
MaximumReceivedDataSizePerCommand :
MaximumReceivedObjectSize         :
ApplicationArguments              :
OpenTimeout                       : 00:04:00
CancelTimeout                     : 00:01:00
IdleTimeout                       : 00:04:00

Usare questo metodo per creare un oggetto sessione standard per l'organizzazione e quindi crearne versioni personalizzate per usi specifici.

Esempio 5: Creare una variabile di preferenza

Questo comando crea una variabile di preferenza $PSSessionOption.

$PSSessionOption = New-PSSessionOption -OpenTimeOut 120000

Quando la variabile di preferenza $PSSessionOption viene impostata nella sessione, stabilisce i valori predefiniti per le opzioni nelle sessioni create con i cmdlet New-PSSession, Enter-PSSessione Invoke-Command.

Per rendere disponibile la variabile $PSSessionOption in tutte le sessioni, aggiungerla alla sessione di PowerShell e al profilo di PowerShell.

Per altre informazioni sulla variabile di preferenza $PSSessionOption, vedere about_Preference_Variables. Per altre informazioni sui profili, vedere about_Profiles.

Esempio 6: Soddisfare i requisiti per una configurazione sessione remota

In questo esempio viene illustrato come usare un oggetto SessionOption per soddisfare i requisiti per una configurazione sessione remota.

$skipCN = New-PSSessionOption -SkipCNCheck
New-PSSession -ComputerName 171.09.21.207 -UseSSL -Credential Domain01\User01 -SessionOption $SkipCN

Il primo comando usa il cmdlet New-PSSessionOption per creare un oggetto SessionOption con la proprietà SkipCNCheck. Il comando salva l'oggetto sessione risultante nella variabile $skipCN.

Il secondo comando usa il cmdlet New-PSSession per creare una nuova sessione in un computer remoto. La variabile check $skipCN viene usata nel valore del parametro SessionOption.

Poiché il computer è identificato dal relativo indirizzo IP, il valore del parametro NomeComputer non corrisponde ad alcun nome comune nel certificato usato per Secure Sockets Layer (SSL). Di conseguenza, è necessaria l'opzione SkipCNCheck.

Esempio 7: Rendere disponibili argomenti per una sessione remota

In questo esempio viene illustrato come usare il ApplicationArguments parametro del cmdlet New-PSSessionOption per rendere disponibili dati aggiuntivi alla sessione remota.

$team = @{Team="IT"; Use="Testing"}
$TeamOption = New-PSSessionOption -ApplicationArguments $team
$s = New-PSSession -ComputerName Server01 -SessionOption $TeamOption
Invoke-Command -Session $s {$PSSenderInfo.ApplicationArguments}

Name                 Value
----                 -----
Team                 IT
Use                  Testing
PSVersionTable       {CLRVersion, BuildVersion, PSVersion, WSManStackVersion...}

Invoke-Command -Session $s {
  if ($PSSenderInfo.ApplicationArguments.Use -ne "Testing") {
    .\logFiles.ps1
  }
  else {
    "Just testing."
  }
}

Just testing.

Il primo comando crea una tabella hash con due chiavi, Team e Usare. Il comando salva la tabella hash nella variabile $team. Per altre informazioni sulle tabelle hash, vedere about_Hash_Tables.

Successivamente, il cmdlet New-PSSessionOption, usando il parametro ApplicationArguments, crea un oggetto Session Option salvato nella variabile $team. Quando New-PSSessionOption crea l'oggetto opzione sessione, converte automaticamente la tabella hash nel valore del parametro ApplicationArguments in un PrimitiveDictionary in modo che i dati possano essere trasmessi in modo affidabile alla sessione remota.

Il cmdlet New-PSSession avvia una sessione nel computer Server01. Usa il parametro SessionOption per includere le opzioni nella variabile $teamOption.

Il cmdlet Invoke-Command dimostra che i dati nella variabile $team sono disponibili per i comandi nella sessione remota. I dati sono visualizzati nella ApplicationArguments proprietà della variabile automatica $PSSenderInfo.

Il Invoke-Command finale mostra come usare i dati.

Parametri

-ApplicationArguments

Specifica un PrimitiveDictionary inviato alla sessione remota. I comandi e gli script nella sessione remota, inclusi gli script di avvio nella configurazione della sessione, possono trovare questo dizionario nella proprietà ApplicationArguments della variabile automatica $PSSenderInfo. È possibile usare questo parametro per inviare dati alla sessione remota.

Per altre informazioni, vedere about_Hash_Tables, about_Session_Configurationse about_Automatic_Variables.

Tipo:PSPrimitiveDictionary
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-CancelTimeout

Determina per quanto tempo PowerShell attende il completamento di un'operazione di annullamento (CTRL+C) prima di terminarlo. Immettere un valore in millisecondi.

Il valore predefinito è 60000 (un minuto). Un valore di 0 (zero) indica che non si verifica alcun timeout; il comando continua a tempo indefinito.

Tipo:Int32
Alias:CancelTimeoutMSec
Posizione:Named
Valore predefinito:60000
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Culture

Specifica la cultura da utilizzare per la sessione. Immettere un nome delle impostazioni cultura in formato <languagecode2>-<country/regioncode2> (ad esempio ja-JP), una variabile contenente un oggetto CultureInfo, oppure un comando che ottiene un oggetto CultureInfo.

Il valore predefinito è $Nulle la cultura impostata nel sistema operativo viene usata nella sessione.

Tipo:CultureInfo
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-IdleTimeout

Determina per quanto tempo la sessione rimane aperta se il computer remoto non riceve alcuna comunicazione dal computer locale. Ciò include il segnale di battito cardiaco. Alla scadenza dell'intervallo, la sessione viene chiusa.

Il valore di timeout di inattività è di importanza significativa se si intende disconnettersi e riconnettersi a una sessione. È possibile riconnettersi solo se la sessione non è scaduta.

Immettere un valore in millisecondi. Il valore minimo è 60000 (1 minuto). Il valore massimo è il valore della proprietà MaxIdleTimeoutMs della configurazione della sessione. Il valore predefinito, -1, non imposta un timeout di inattività.

La sessione usa il timeout di inattività impostato nelle opzioni di sessione, se presenti. Se non è impostato nessuno (-1), la sessione usa il valore della proprietà IdleTimeoutMs di della configurazione della sessione o del valore di timeout della shell WSMan (WSMan:\<ComputerName>\Shell\IdleTimeout), a qualsiasi valore più breve.

Se il timeout di inattività impostato nelle opzioni di sessione supera il valore di MaxIdleTimeoutMs proprietà della configurazione della sessione, il comando per creare una sessione non riesce.

Il valore IdleTimeoutMs della configurazione di sessione predefinita di Microsoft.PowerShell è di 7200000 millisecondi (2 ore). Il valore MaxIdleTimeoutMs è 2147483647 millisecondi (>24 giorni). Il valore predefinito del timeout di inattività della shell WSMan (WSMan:\<ComputerName>\Shell\IdleTimeout) è 7200000 millisecondi (2 ore).

Il valore di timeout di inattività di una sessione può anche essere modificato durante la disconnessione da una sessione o la riconnessione a una sessione. Per altre informazioni, vedere Disconnect-PSSession e Connect-PSSession.

In Windows PowerShell 2.0 il valore predefinito del parametro IdleTimeout è 240000 (4 minuti).

Tipo:Int32
Alias:IdleTimeoutMSec
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-IncludePortInSPN

Includere il numero di porta nel Nome Principale del Servizio (SPN) utilizzato per l'autenticazione Kerberos, ad esempio HTTP://<ComputerName>:5985. Questa opzione consente a un client che usa un SPN non predefinito per autenticarsi su un computer remoto che utilizza l'autenticazione Kerberos.

L'opzione è progettata per le aziende in cui più servizi che supportano l'autenticazione Kerberos vengono eseguiti con account utente diversi. Ad esempio, un'applicazione IIS che consente l'autenticazione Kerberos può richiedere la registrazione del nome SPN predefinito in un account utente diverso dall'account computer. In questi casi, la comunicazione remota di PowerShell non può usare Kerberos per l'autenticazione perché richiede un SPN registrato sull'account del computer. Per risolvere questo problema, gli amministratori possono creare nomi SPN diversi, ad esempio usando Setspn.exe, registrati in account utente diversi e possono distinguerli includendo il numero di porta nel nome SPN.

Per ulteriori informazioni, vedere Panoramica di Setspn .

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-MaxConnectionRetryCount

Specifica il numero di tentativi che PowerShell tenta di stabilire una connessione a un computer di destinazione se il tentativo corrente non riesce a causa di problemi di rete. Il valore predefinito è 5.

Questo parametro è stato aggiunto per PowerShell versione 5.0.

Tipo:Int32
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-MaximumReceivedDataSizePerCommand

Specifica il numero massimo di byte che il computer locale può ricevere dal computer remoto in un singolo comando. Immettere un valore in byte. Per impostazione predefinita, non esiste alcun limite di dimensioni dei dati.

Questa opzione è progettata per proteggere le risorse nel computer client.

Tipo:Int32
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-MaximumReceivedObjectSize

Specifica le dimensioni massime di un oggetto che il computer locale può ricevere dal computer remoto. Questa opzione è progettata per proteggere le risorse nel computer client. Immettere un valore in byte.

In Windows PowerShell 2.0, se si omette questo parametro, non esiste alcun limite di dimensioni degli oggetti. A partire da Windows PowerShell 3.0, se si omette questo parametro, il valore predefinito è 209715200 byte (o 200MB).

Tipo:Int32
Posizione:Named
Valore predefinito:209715200
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-MaximumRedirection

Determina quante volte PowerShell reindirizza una connessione a un URI (Uniform Resource Identifier) alternativo prima che la connessione non riesca. Il valore predefinito è 5. Un valore di 0 (zero) impedisce tutto il reindirizzamento.

Questa opzione viene usata nella sessione solo quando il parametro AllowRedirection viene usato nel comando che crea la sessione.

Tipo:Int32
Posizione:Named
Valore predefinito:5
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-NoCompression

Disattiva la compressione dei pacchetti nella sessione. La compressione usa più cicli del processore, ma rende più veloce la trasmissione.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:False
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-NoEncryption

Disattiva la crittografia dei dati.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-NoMachineProfile

Impedisce il caricamento del profilo utente di Windows dell'utente. Di conseguenza, la sessione potrebbe essere creata più rapidamente, ma le impostazioni del Registro di sistema specifiche dell'utente, gli elementi come le variabili di ambiente e i certificati non sono disponibili nella sessione.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:False
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-OpenTimeout

Determina per quanto tempo il computer client attende che venga stabilita la connessione di sessione. Alla scadenza dell'intervallo, il comando per stabilire la connessione non riesce. Immettere un valore in millisecondi.

Il valore predefinito è 180000 (3 minuti). Un valore di 0 (zero) indica che non si verifica alcun timeout; il comando continua a tempo indefinito.

Tipo:Int32
Alias:OpenTimeoutMSec
Posizione:Named
Valore predefinito:180000 (3 minutes)
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-OperationTimeout

Determina il tempo massimo che WinRM attende per i test di connessione positivi da una connessione attiva prima di avviare un time-out della connessione. Per ulteriori informazioni su WinRM, vedere la documentazione di Gestione Remota di Windows.

operationTimeout non imporre un limite di tempo ai comandi o ai processi in esecuzione in una sessione remota e non influire su altri protocolli remoti come SSH.

Il valore predefinito è 180000 (3 minuti). Un valore di 0 (zero) indica che non è previsto alcun timeout.

Tipo:Int32
Alias:OperationTimeoutMSec
Posizione:Named
Valore predefinito:180000 (3 minutes)
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-OutputBufferingMode

Determina come gestire l'output dei comandi in sessioni disconnesse quando il buffer di output diventa pieno.

Se la modalità di buffering di output non è impostata nella sessione o nella configurazione della sessione, il valore predefinito è Block. Gli utenti possono anche modificare la modalità di buffering di output quando si disconnette la sessione.

Se si omette questo parametro, il valore di OutputBufferingMode nell'oggetto SessionOption è None. Un valore di Block o Drop sovrascrive l'opzione di trasporto della modalità di buffering di output impostata nella configurazione della sessione. I valori accettabili per questo parametro sono:

  • Block. Quando il buffer di output è pieno, l'esecuzione viene sospesa fino a quando il buffer non viene cancellato.
  • Drop. Quando il buffer di output è pieno, l'esecuzione continua. Quando viene salvato un nuovo output, l'output meno recente viene eliminato.
  • None. Non è specificata alcuna modalità di buffering di output.

Per ulteriori informazioni sull'opzione di trasporto in modalità di buffering dell'output, vedere New-PSTransportOption.

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Tipo:OutputBufferingMode
Valori accettati:None, Drop, Block
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ProxyAccessType

Determina quale meccanismo viene usato per risolvere il nome host. I valori accettabili per questo parametro sono:

  • IEConfig
  • WinHttpConfig
  • AutoDetect
  • NoProxyServer
  • None

Il valore predefinito è None.

Per informazioni sui valori di questo parametro, vedere Enumerazione ProxyAccessType.

Tipo:ProxyAccessType
Valori accettati:None, IEConfig, WinHttpConfig, AutoDetect, NoProxyServer
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ProxyAuthentication

Specifica il metodo di autenticazione utilizzato per la risoluzione del proxy. I valori accettabili per questo parametro sono:

  • Basic
  • Digest
  • Negotiate

Il valore predefinito è Negotiate.

Per ulteriori informazioni sui valori di questo parametro, consultare Enumerazione del Meccanismo di Autenticazione.

Tipo:AuthenticationMechanism
Valori accettati:Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos
Posizione:Named
Valore predefinito:Negotiate
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ProxyCredential

Specifica le credenziali da usare per l'autenticazione proxy. Immettere una variabile contenente un oggetto PSCredential o un comando che ottiene un oggetto PSCredential, ad esempio un comando Get-Credential. Se questa opzione non è impostata, non vengono specificate credenziali.

Tipo:PSCredential
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-SkipCACheck

Specifica che quando si connette tramite HTTPS, il client non convalida che il certificato del server sia firmato da un'autorità di certificazione attendibile .

Usare questa opzione solo quando il computer remoto è considerato attendibile usando un altro meccanismo, ad esempio quando il computer remoto fa parte di una rete fisicamente sicura e isolata o quando il computer remoto è elencato come host attendibile in una configurazione WinRM.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:False
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-SkipCNCheck

Specifica che il nome comune del certificato (CN) del server non deve corrispondere al nome host del server. Questa opzione viene usata solo nelle operazioni remote che usano il protocollo HTTPS.

Usare questa opzione solo per i computer attendibili.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:False
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-SkipRevocationCheck

Non convalida lo stato di revoca del certificato del server.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:False
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-UICulture

Specifica la cultura dell'interfaccia utente da usare per la sessione.

I valori validi includono:

  • Un nome di cultura nel formato <languagecode2>-<country/regioncode2>, ad esempio ja-JP
  • Una variabile che contiene un oggetto CultureInfo
  • Comando che ottiene un oggetto CultureInfo, ad esempio Get-Culture

Il valore predefinito è $nulle la cultura dell'interfaccia utente impostata nel sistema operativo al momento della creazione della sessione.

Tipo:CultureInfo
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-UseUTF16

Indica che questo cmdlet codifica la richiesta in formato UTF16 anziché in formato UTF8.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

Input

None

Non è possibile collegare oggetti a questo cmdlet tramite pipe.

Output

PSSessionOption

Note

Se il parametro SessionOption non viene usato in un comando per creare un PSSession, le opzioni di sessione vengono determinate dai valori delle proprietà della variabile di preferenza $PSSessionOption, se impostata. Per altre informazioni sulla variabile $PSSessionOption, vedere about_Preference_Variables.

Le proprietà di un oggetto di configurazione sessione variano in base alle opzioni impostate per la configurazione della sessione e ai valori di tali opzioni. Inoltre, le configurazioni di sessione che usano un file di configurazione di sessione hanno proprietà aggiuntive.