ARGOMENTO Variabili di preferenza DESCRIZIONE BREVE Variabili che personalizzano il comportamento di Windows PowerShell DESCRIZIONE DETTAGLIATA In Windows PowerShell è disponibile un insieme di variabili che consentono di personalizzarne il comportamento. Queste "variabili di preferenza" funzionano come le opzioni nei sistemi basati su interfaccia utente grafica. Le variabili di preferenza interessano l'ambiente operativo di Windows PowerShell e tutti i comandi eseguiti nell'ambiente. In molti casi, i cmdlet dispongono di parametri utilizzabili per eseguire l'override del comportamento di preferenza per un comando specifico. Nella tabella seguente vengono elencati le variabili di preferenza e i relativi valori predefiniti. Variable Default Value -------- ------------- $ConfirmPreference High $DebugPreference SilentlyContinue $ErrorActionPreference Continue $ErrorView NormalView $FormatEnumerationLimit 4 $LogCommandHealthEvent False (not logged) $LogCommandLifecycleEvent False (not logged) $LogEngineHealthEvent True (logged) $LogEngineLifecycleEvent True (logged) $LogProviderLifecycleEvent True (logged) $LogProviderHealthEvent True (logged) $MaximumAliasCount 4096 $MaximumDriveCount 4096 $MaximumErrorCount 256 $MaximumFunctionCount 4096 $MaximumHistoryCount 64 $MaximumVariableCount 4096 $OFS (Space character (" ")) $OutputEncoding ASCIIEncoding object $ProgressPreference Continue $PSEmailServer (None) $PSSessionApplicationName WSMAN $PSSessionConfigurationName https://schemas.microsoft.com/powershell/microsoft.powershell $PSSessionOption (Vedere di seguito) $VerbosePreference SilentlyContinue $WarningPreference Continue $WhatIfPreference 0 In Windows PowerShell sono inoltre incluse le variabili di ambiente seguenti nelle quali sono archiviate le preferenze dell'utente. Per ulteriori informazioni sulle variabili di ambiente, vedere about_environment_variables. Variable -------- PSModulePath UTILIZZO DELLE VARIABILI DI PREFERENZA In questo documento vengono descritte le variabili di preferenza. Per visualizzare il valore corrente di una variabile di preferenza specifica, digitare il nome della variabile. In Windows PowerShell verrà fornito il valore. Ad esempio, il comando seguente visualizza il valore della variabile $ConfirmPreference. PS> $ConfirmPreference High Per modificare il valore di una variabile, utilizzare un'istruzione di assegnazione. Ad esempio, l'istruzione seguente assegna il valore "Medium" alla variabile $ConfirmPreference. PS> $ConfirmPreference = "Medium" Come tutte le variabili, i valori impostati sono specifici della finestra di Windows PowerShell corrente. Per renderli effettivi in tutte le finestre di Windows PowerShell, aggiungerli al profilo di Windows PowerShell. Per ulteriori informazioni, vedere about_profiles. UTILIZZO DI COMANDI IN MODALITÀ REMOTA Quando si eseguono comandi in un computer remoto, i comandi remoti sono interessati unicamente dalle preferenze impostate nel client di Windows PowerShell nel computer remoto. Ad esempio, quando si esegue un comando remoto, il valore della variabile $DebugPreferenc e nel computer remoto determina il modo in cui Windows PowerShell risponde ai messaggi di debug. Per ulteriori informazioni sui comandi remoti, vedere about_remote. $ConfirmPreference ------------------ Determina quali azioni del cmdlet richiedono automaticamente una conferma dell'utente prima che vengano eseguite. Quando il valore di $ConfirmPreference (High, Medium, Low, None) è maggiore o uguale al rischio dell'azione del cmdlet (High, Medium, Low, None), in Windows PowerShell viene automaticamente richiesta la conferma dell'utente prima che tale azione venga eseguita. È possibile utilizzare il parametro Confirm di un cmdlet per eseguire l'override della preferenza per un comando specifico. Valori validi: None: nessuna azione del cmdlet viene confermata automaticamente. Gli utenti devono utilizzare il parametro Confirm per richiedere conferma di comandi specifici. Low: vengono confermate automaticamente le azioni del cmdlet con un rischio minimo, medio o elevato. Per eliminare la conferma per un comando specifico, utilizzare -Confirm:$false. Medium: vengono confermate automaticamente le azioni del cmdlet con un rischio medio o elevato. Per abilitare la conferma per un comando specifico, utilizzare -confirm. Per eliminare la conferma per un comando specifico, utilizzare confirm:$false. High vengono automaticamente confermate le azioni del (predefinito): cmdlet con un rischio elevato. Per abilitare la conferma per un comando specifico, utilizzare -confirm. Per eliminare la conferma per un comando specifico, utilizzare -confirm:$false. SPIEGAZIONE DETTAGLIATA Quando un'azione del cmdlet influisce in modo significativo sul sistema, ad esempio eliminando dati o utilizzando una quantità considerevole di risorse del sistema, in Windows PowerShell viene automaticamente richiesto di confermarla prima di procedere. Ad esempio, PS> remove-item pref2.txt Confirm Eseguire l'operazione? Esecuzione dell'operazione "Remove File" sulla destinazione "C:\pref2.txt". [S] Sì [A] Sì a tutti [N] No [U] No a tutti [O] Sospendi [?] Guida (il valore predefinito è "S"): La valutazione del rischio fa parte del cmdlet noto come "ConfirmImpact". Non è possibile apportarvi modifiche. I cmdlet che potrebbero costituire un rischio per il sistema dispongono di un parametro Confirm che è possibile utilizzare per richiedere o eliminare la conferma per un comando specifico. Poiché la maggior parte dei cmdlet utilizza il valore di rischio predefinito Medium e il valore predefinito di $ConfirmPreference è High, la richiesta automatica della conferma è alquanto rara. Tuttavia, è possibile attivare la conferma automatica impostando il valore di $ConfirmPreference su Medium o Low. ESEMPI In questo esempio viene illustrato l'effetto prodotto dal valore predefinito di $ConfirmPreference. Il valore High conferma unicamente le azioni del cmdlet con rischio elevato. Poiché la maggior parte delle azioni presenta un rischio medio, non vengono confermate automaticamente, sebbene sia possibile utilizzare il parametro Confirm del cmdlet per richiedere la conferma per un comando specifico. PS> $confirmpreference # Ottenere il valore High corrente della variabile PS> remove-item temp1.txt # Eliminazione di un file PS> # Eliminato senza conferma PS> remove-item temp2.txt -confirm # Use the Confirm parameter Confirm Eseguire l'operazione? Esecuzione dell'operazione "Remove File" sulla destinazione "C:\temp2.txt". [S] Sì [A] Sì a tutti [N] No [U] No a tutti [O] Sospendi [?] Guida (il valore predefinito è "S"): In questo esempio viene illustrato l'effetto prodotto dall'impostazione del valore di $ConfirmPrefernce su Medium. Poiché la maggior parte delle azioni del cmdlet presenta un rischio medio, vengono confermate automaticamente ed è necessario utilizzare il parametro Confirm del cmdlet con il valore $false per eliminare il prompt di conferma per un comando specifico. PS> $confirmpreference = "Medium" # Modifica del valore di $ConfirmPreference PS> remove-item temp2.txt # L'eliminazione di un file attiva la conferma Confirm Eseguire l'operazione? Esecuzione dell'operazione "Remove File" sulla destinazione "C:\temp2.txt". [S] Sì [A] Sì a tutti [N] No [U] No a tutti [O] Sospendi [?] Guida (il valore predefinito è "S"): PS> remove-item temp3.txt -confirm:$false #Utilizzo del parametro Confirm per eliminare la conferma PS> $DebugPreference ------------------ Determina la modalità di risposta di Windows PowerShell ai messaggi di debug generati da uno script, cmdlet o provider o da un comando Write-Debug alla riga di comando. Alcuni cmdlet visualizzano messaggi di debug, in genere messaggi molto tecnici destinati ai programmatori e ai professioni del supporto tecnico. Per impostazione predefinita, i messaggi di debug non vengono visualizzati. È tuttavia possibile visualizzarli modificando il valore di $DebugPreference. È inoltre possibile utilizzare il parametro comune Debug di un cmdlet per visualizzare o nascondere i messaggi di debug per un comando specifico. Per ulteriori informazioni, digitare: "get-help about_commonparameters". Valori validi: Stop: viene visualizzato il messaggio di debug e l'esecuzione viene arrestata. Viene scritto un errore nella console. Inquire: viene visualizzato il messaggio di debug e viene richiesto se continuare o meno. Continue: viene visualizzato il messaggio di debug e l'esecuzione continua. SilentlyContinue nessun effetto. Il messaggio di debug (Default): non viene visualizzato e l'esecuzione continua senza interruzione. ESEMPI Negli esempi seguenti viene illustrato l'effetto prodotto dalla modifica dei valori di $DebugPreference quando viene immesso un comando Write-Debug alla riga di comando. La modifica interessa tutti i messaggi di debug, inclusi quelli generati da cmdlet e script. Negli esempi viene inoltre illustrato l'utilizzo del parametro comune Debug che consente di visualizzare o nascondere i messaggi di debug correlati a un singolo comando. In questo esempio viene illustrato l'effetto del valore predefinito "SilentlyContinue". Il messaggio di debug non viene visualizzato e l'elaborazione continua. Il comando finale utilizza il parametro Debug per eseguire l'override della preferenza per un singolo comando. PS> $debugpreference # Ottenere il valore corrente di SilentlyContinue $DebugPreference PS> write-debug "Hello, World" PS> # Il messaggio di debug non viene visualizzato. PS> write-debug "Hello, World" -Debug # Utilizzo del parametro DEBUG: Hello, World # Il messaggio di debug Debug viene richiesto Confirm? Continuare? [S] Sì [A] Sì a tutti [I] Interrompi comando [O] Sospendi [?] Guida (il valore predefinito è "S"): In questo esempio viene illustrato l'effetto del valore "Continue". Il comando finale utilizza il parametro Debug con il valore $false per eliminare il messaggio per un singolo comando. PS> $debugpreference = "Continue" # Modifica del valore in "Continue" PS> write-debug "Hello, World" DEBUG: Hello, World # Il messaggio di debug PS> viene visualizzato e l'elaborazione continua. PS> write-debug "Hello, World" -Debug:$false # Utilizzo del parametro Debug con il valore false. PS> # Il messaggio di debug non viene visualizzato. In questo esempio viene illustrato l'effetto del valore "Stop". Il comando finale utilizza il parametro Debug con il valore $false per eliminare il messaggio per un singolo comando. PS> $debugpreference = "Stop" # Modifica del valore in "Stop" PS> write-debug "Hello, World" DEBUG: Hello, World Write-Debug: l'esecuzione del comando è stata arrestata perché la variabile della shell "DebugPreference" è impostata su Stop. At line:1 char:12 + write-debug <<<< "Hello, World" PS> write-debug "Hello, World" -Debug:$false # Utilizzo del parametro Debug con $false PS> # Il messaggio di debug non viene visualizzato e l'elaborazione non viene arrestata. In questo esempio viene illustrato l'effetto del valore "Inquire". Il comando finale utilizza il parametro Debug con il valore $false per eliminare il messaggio per un singolo comando. PS> $debugpreference = "Inquire" PS> write-debug "Hello, World" DEBUG: Hello, World Confirm Continuare? [S] Sì [A] Sì a tutti [I] Interrompi comando [O] Sospendi [?] Guida (il valore predefinito è "S"): PS> write-debug "Hello, World" -Debug:$false # Utilizzo del parametro Debug con $false PS> # Il messaggio di debug non viene visualizzato e l'elaborazione continua senza interruzione. $ErrorActionPreference ---------------------- Determina la modalità di risposta di Windows PowerShell a un errore non fatale (un errore che non comporta l'arresto dell'elaborazione del cmdlet) alla riga di comando o in uno script, cmdlet o provider, ad esempio gli errori generati dal cmdlet Write-Error. È inoltre possibile utilizzare il parametro comune ErrorAction di un cmdlet per eseguire l'override della preferenza per un comando specifico. Per ulteriori informazioni, digitare: "get-help about_commonparameters". Valori validi: Stop: viene visualizzato il messaggio di errore e l'esecuzione viene arrestata. Inquire: viene visualizzato il messaggio di errore e viene richiesto se continuare o meno. Continue: viene visualizzato il messaggio di errore e l'esecuzione continua. SilentlyContinue nessun effetto. Il messaggio di errore non (valore predefinito): viene visualizzato e l'esecuzione continua senza interruzione. Né $ErrorActionPreference né il parametro comune ErrorAction influiscono sulla modalità di risposta di Windows PowerShell agli errori fatali (quelli che comportano l'interruzione dell'elaborazione del cmdlet). Per ulteriori informazioni sul parametro comune ErrorAction, digitare "get-help about_commonparameters". ESEMPI In questi esempi vengono illustrati gli effetti dei diversi valori di $ErrorActionPreference e l'utilizzo del parametro comune ErrorAction per eseguire l'override della preferenza per un singolo comando. Il parametro ErrorAction dispone degli stessi valori validi della variabile $ErrorActionPreference. In questo esempio viene illustrato l'effetto del valore Continue, ovvero il valore predefinito. PS> $erroractionpreference Continue # Visualizzazione del valore della preferenza. PS> write-error "Hello, World" # Generazione di un errore non fatale. write-error "Hello, World" : Hello, World # Viene visualizzato il messaggio di errore e l'esecuzione continua. PS> write-error "Hello, World" -ErrorAction:SilentlyContinue # Utilizzo del parametro ErrorAction con il valore "SilentlyContinue". PS> # Il messaggio di errore non viene visualizzato e l'esecuzione continua. In questo esempio viene illustrato l'effetto del valore SilentlyContinue. PS> $ErrorActionPreference = "SilentlyContinue" # Modifica del valore della preferenza. PS> write-error "Hello, World" # Generazione di un messaggio di errore. PS> # Il messaggio di errore viene eliminato. PS> write-error "Hello, World" -erroraction:continue # Utilizzo del parametro ErrorAction con il valore "Continue". write-error "Hello, World" -erroraction:continue : Hello, World # Viene visualizzato il messaggio di errore e l'esecuzione continua. In questo esempio viene illustrato l'effetto di un errore reale. In questo caso, il comando ottiene un file inesistente, nofile.txt. Nell'esempio viene inoltre utilizzato il parametro comune ErrorAction per eseguire l'override della preferenza. PS> $erroractionpreference SilentlyContinue # Visualizzazione del valore della preferenza. PS> get-childitem -path nofile.txt PS> # Il messaggio di errore viene eliminato. PS> $ErrorActionPreference = "Continue" # Modifica del valore su Continue. PS> get-childitem -path nofile.txt Get-ChildItem : Impossibile trovare il percorso 'C:\nofile.txt' perché non esiste. At line:1 char:4 + get-childitem <<<< nofile.txt PS> get-childitem -path nofile.txt -erroraction SilentlyContinue # Utilizzo del parametro ErrorAction PS> # Il messaggio di errore viene eliminato. PS> $ErrorActionPreference = "Inquire" # Modifica del valore su Inquire. PS> get-childitem -path nofile.txt Confirm Impossibile trovare il percorso 'C:\nofile.txt' perché non esiste. [S] Sì [A] Sì a tutti [I] Interrompi comando [O] Sospendi [?] Guida (il valore predefinito è "S"): s Get-ChildItem : Impossibile trovare il percorso 'C:\nofile.txt' perché non esiste. At line:1 char:4 + get-childitem <<<< nofile.txt PS> $ErrorActionPreference = "Continue" # Modifica del valore su Continue. PS> Get-Childitem nofile.txt -erroraction "Inquire" # Utilizzo del parametro ErrorAction per eseguire l'override del valore della preferenza. Confirm Impossibile trovare il percorso 'C:\nofile.txt' perché non esiste. [S] Sì [A] Sì a tutti [I] Interrompi comando [O] Sospendi [?] Guida (il valore predefinito è "S"): $ErrorView ---------- Determina il formato di visualizzazione dei messaggi di errore in Windows PowerShell. Valori validi: NormalView Visualizzazione dettagliata progettata (valore per la maggior parte degli utenti. predefinito): Comprende una descrizione dell'errore, il nome dell'oggetto interessato dall'errore e le frecce (<<<<) dirette alle parole nel comando che ha causato l'errore. CategoryView: visualizzazione strutturata e abbreviata progettata per gli ambienti di produzione. Il formato è:{Category}: ({TargetName}: {TargetType}):[{Activity}], {Reason} Per ulteriori informazioni sui campi in CategoryView, vedere la classe ErrorCategoryInfo in Windows PowerShell SDK. ESEMPI In questo esempio viene illustrato l'effetto dei valori ErrorView. In questo esempio viene illustrato il modo in cui viene visualizzato un errore quando $ErrorView è impostato sul valore NormalView. In questo caso, viene utilizzato il comando Get-ChildItem per trovare un file inesistente. PS> $ErrorView # Verifica del valore. NormalView PS> get-childitem nofile.txt # Trovare un file inesistente. Get-ChildItem : Impossibile trovare il percorso 'C:\nofile.txt' perché non esiste. At line:1 char:14 + get-childitem <<<< nofile.txt In questo esempio viene illustrato il modo in cui viene visualizzato lo stesso errore quando $ErrorView è impostato sul valore CategoryView. PS> $ErrorView = "CategoryView" # Modifica del valore in CategoryView PS> get-childitem nofile.txt ObjectNotFound: (C:\nofile.txt:String) [Get-ChildItem], ItemNotFoundException In questo esempio viene dimostrato che il valore di ErrorView influisce solo sulla visualizzazione dell'errore, non sulla struttura dell'oggetto errore archiviata nella variabile automatica $error. Per informazioni sulla variabile automatica $error, vedere about_automatic_variables. Questo comando accetta l'oggetto ErrorRecord associato all'errore più recente nella matrice dell'errore (elemento 0) e formatta tutte le proprietà dell'oggetto errore in un elenco. PS> $error[0] | format-list -property * -force Exception : System.Management.Automation.ItemNotFoundException: Impossibile trovare il percorso 'C:\nofile.txt' perché non esiste. in System.Management.Automation. SessionStateInternal.GetChildItems(String path, Boolean recurse, CmdletProviderContext context) in System.Management.Automation.ChildItemCmdletProvider Intrinsics.Get(String path, Boolean recurse, CmdletProviderContext context) in Microsoft.PowerShell. Commands.GetChildItemCommand. ProcessRecord() : C:\nofile.txt CategoryInfo : ObjectNotFound: (C:\nofile.txt: String) [Get-ChildItem], ItemNotFoundException FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildIt emCommand : InvocationInfo : System.Management.Automation.InvocationInfo $FormatEnumerationLimit ----------------------- Determina il numero di elementi enumerati inclusi in una visualizzazione. Questa variabile non influisce sugli oggetti sottostanti, ma solo sulla visualizzazione. Se il valore di $FormatEnumerationLimit è inferiore al numero di elementi enumerati, in Windows PowerShell vengono aggiunti dei puntini di sospensione (...) per indicare gli elementi non visualizzati. Valori validi: numeri interi (Int32) Valore predefinito: 4 ESEMPI In questo esempio viene illustrato come utilizzare la variabile $FormatEnumerationLimit per migliorare la visualizzazione degli elementi enumerati. Il comando in questo esempio genera una tabella in cui tutti i servizi in esecuzione nel computer sono elencati in due gruppi, uno per i servizi in esecuzione, l'altro per quelli arrestati. Utilizza un comando Get-Service per ottenere tutti i servizi, quindi invia i risultati attraverso la pipeline al cmdlet Group-Object, il quale raggruppa i risultati in base allo stato del servizio. La visualizzazione risultante è una tabella in cui sono elencati lo stato nella colonna Name e i processi con quello stato nella colonna Group. (Per modificare le etichette delle colonne, utilizzare una tabella hash. Per ulteriori informazioni, vedere gli esempi in "get-help format-table -examples".) Nella colonna Group sono elencati al massimo 4 servizi per ogni stato. Per aumentare il numero di elementi elencati, aumentare il valore di $FormatEnumerationLimit a 1000. Nella visualizzazione risultante l'elenco nella colonna Group è ora limitato dalla lunghezza di riga. Nel comando finale nell'esempio utilizzare il parametro Wrap di Format-Table per visualizzare tutti i processi in ogni gruppo Status. PS> $formatenumerationlimit # Trovare il valore corrente 4 PS> get-service | group-object -property status # Elenco di tutti i servizi raggruppati in base allo stato Count Name Group ----- ---- ----- 60 Running {AdtAgent, ALG, Ati HotKey Poller, AudioSrv...} 41 Stopped {Alerter, AppMgmt, aspnet_state, ATI Smart...} # L'elenco viene troncato dopo 4 elementi. PS> $formatenumerationlimit = 1000 # Aumento del limite a 1000. PS> get-service | group-object -property status # Ripetizione del comando. Count Name Group ----- ---- ----- 60 Running {AdtAgent, ALG, Ati HotKey Poller, AudioSrv, BITS, CcmExec... 41 Stopped {Alerter, AppMgmt, aspnet_state, ATI Smart, Browser, CiSvc... PS> get-service | group-object -property status | format-table -wrap # Aggiunta del parametro Wrap. Count Name Group ----- ---- ----- 60 Running {AdtAgent, ALG, Ati HotKey Poller, AudioSrv, BITS, CcmExec, Client for NFS, CryptSvc, DcomLaunch, Dhcp, dmserver, Dnscache, ERSvc, Eventlog, EventSystem, FwcAgent, helpsvc, HidServ, IISADMIN, InoRPC, InoRT, InoTask, lanmanserver, lanmanworkstation, LmHosts, MDM, Netlogon, Netman, Nla, NtLmSsp, PlugPlay, PolicyAgent, ProtectedStorage, RasMan, RemoteRegistry, RpcSs, SamSs, Schedule, seclogon, SENS, SharedAccess, ShellHWDetection, SMT PSVC, Spooler, srservice, SSDPSRV, stisvc, TapiSrv, TermService, Themes, TrkWks, UMWdf, W32Time, W3SVC, WebClient, winmgmt, wscsvc, wuauserv, WZCSVC, zzInterix} 41 Stopped {Alerter, AppMgmt, aspnet_state, ATI Smart, Browser, CiSvc, ClipSrv, clr_optimization_v2.0.50727_32, COMSysApp, CronService, dmadmin, FastUserSwitchingCompatibility, HTTPFilter, ImapiService, Mapsvc, Messenger, mnmsrvc, MSDTC, MSIServer, msvsmon80, NetDDE, NetDDEdsdm, NtmsSvc, NVSvc, ose, RasAuto, RDSessMgr, RemoteAccess, RpcLocator, RSVP, SCardSvr, SwPrv, SysmonLog, TlntSvr, upnphost, UPS, VSS, WmdmPmSN, Wmi, WmiApSrv, xmlprov} $Log*Event ---------- Le variabili di preferenza Log*Event determinano i tipi di eventi scritti nel registro eventi di Windows PowerShell nel Visualizzatore eventi. Per impostazione predefinita, vengono registrati solo gli eventi del provider e del modulo, tuttavia è possibile utilizzare le variabili di preferenza Log*Event per personalizzare il registro, ad esempio la registrazione degli eventi relativi ai comandi. Di seguito sono elencate le variabili di preferenza Log*Event: $LogCommandHealthEvent: registra gli errori e le eccezioni nell'inizializzazione e nell'elaborazione dei comandi. Default = $false (nessuna registrazione). $LogCommandLifecycleEvent: registra l'avvio e l'arresto di comandi e di pipeline dei comandi e le eccezioni di sicurezza nell'individuazione dei comandi. Default = $false (nessuna registrazione). $LogEngineHealthEvent: registra gli errori delle sessioni. Default = $true (registrazione). $LogEngineLifecycleEvent: registra l'apertura e la chiusura delle sessioni. Default = $true (registrazione). $LogProviderHealthEvent: registra gli errori del provider, ad esempio gli errori di lettura e scrittura, di ricerca e di chiamata. Default = $true (registrazione). $LogProviderLifecycleEvent: registra l'aggiunta e la rimozione dei provider di Windows PowerShell. Default = $true (registrazione). (Per informazioni sui provider di Windows PowerShell, digitare: "get-help about_provider". Per abilitare un Log*Event, digitare la variabile con il valore $true, ad esempio: $LogCommandLifeCycleEvent - oppure $LogCommandLifeCycleEvent = $true Per disabilitare un tipo di evento, digitare la variabile con il valore $false, ad esempio: $LogCommandLifeCycleEvent = $false Gli eventi che vengono abilitati valgono unicamente per la console corrente di Windows PowerShell. Per applicare la configurazione a tutte le console, salvare le impostazioni della variabile nel profilo di Windows PowerShell. $MaximumAliasCount ------------------ Determina il numero di alias consentiti in una sessione di Windows PowerShell. Il valore predefinito, 4096, dovrebbe essere sufficiente nella maggior parte delle situazioni, tuttavia è possibile regolarlo in base alle esigenze specifiche. Valori validi: 1024 - 32768 (Int32) Valore predefinito: 4096 Per contare gli alias nel sistema, digitare: (get-alias).count $MaximumDriveCount ------------------ Determina il numero di unità di Windows PowerShell consentite in una determinata sessione. Sono inclusi le unità del file system e gli archivi dati esposti dai provider di Windows PowerShell e che vengono visualizzati come unità, ad esempio le unità Alias: e HKLM:. Valori validi: 1024 - 32768 (Int32) Valore predefinito: 4096 Per contare gli alias nel sistema, digitare: (get-psdrive).count $MaximumErrorCount ------------------ Determina il numero di errori salvati nella cronologia degli errori relativa alla sessione. Valori validi: 256 - 32768 (Int32) Valore predefinito: 256 Gli oggetti che rappresentano ogni errore mantenuto vengono archiviati nella variabile automatica $Error. Questa variabile contiene una matrice di oggetti record di errore, una per ogni errore. L'errore più recente è il primo oggetto nella matrice ($Error[0]). Per contare gli errori nel sistema, utilizzare la proprietà Count della matrice $Error. Digitare: $Error.count Per visualizzare un errore specifico, utilizzare la notazione di matrice per visualizzare l'errore. Ad esempio, per visualizzare l'errore più recente, digitare: $Error[0] Per visualizzare l'errore mantenuto meno recente, digitare: $Error[($Error.Count -1] Per visualizzare le proprietà dell'oggetto ErrorRecord, digitare: $Error[0] | format-list -property * -force In questo comando il parametro Force esegue l'override della formattazione speciale degli oggetti ErrorRecord e ripristina il formato convenzionale. Per eliminare tutti gli errori dalla cronologia, utilizzare il metodo Clear della matrice degli errori. PS> $Error.count 17 PS> $Error.clear() PS> PS> $Error.count 0 Per trovare tutti i metodi e le proprietà di una matrice degli errori, utilizzare il cmdlet Get-Member con il parametro InputObject relativo. Quando si reindirizza una raccolta di oggetti a Get-Member, quest'ultimo visualizza le proprietà e i metodi degli oggetti nella raccolta. Quando si utilizza il parametro InputObject di Get-Member, quest'ultimo visualizza le proprietà e i metodi della raccolta. $MaximumFunctionCount ------------------ Determina il numero di funzioni consentite in una determinata sessione. Valori validi: 1024 - 32768 (Int32) Valore predefinito: 4096 Per visualizzare le funzioni nella sessione, utilizzare l'unità Function: di Windows PowerShell esposta dal provider Function di Windows PowerShell. (Per ulteriori informazioni sul provider Function, digitare "get-help function"). Per elencare le funzioni nella sessione corrente, digitare: get-childitem function: Per contare le funzioni nella sessione corrente, digitare: (get-childitem function:).count $MaximumHistoryCount ------------------ Determina il numero di comandi salvati nella cronologia dei comandi relativa alla sessione corrente. Valori validi: 1 - 32768 (Int32) Valore predefinito: 64 Per determinare il numero di comandi salvati nella cronologia dei comandi, digitare: (get-history).count Per visualizzare il comando salvato nella cronologia della sessione, utilizzare il cmdlet Get-History. Per ulteriori informazioni, digitare: "get-help about_history". $MaximumVariableCount ------------------ Determina il numero di variabili consentite in una determinata sessione, incluse le variabili automatiche, le variabili di preferenza e le variabili create in comandi e script. Valori validi: 1024 - 32768 (Int32) Valore predefinito: 4096 Per visualizzare le variabili nella sessione, utilizzare il cmdlet Get-Variable e le funzionalità dell'unità Variable: e del provider Variable di Windows PowerShell. Per informazioni sul provider Variable, digitare "get-help variable". Per trovare il numero corrente di variabili nel sistema, digitare: (get-variable).count $OFS ---- Separatore dei campi di output. Specifica il carattere che separa gli elementi di una matrice quando quest'ultima viene convertita in una stringa. Valori validi: qualsiasi stringa. Valore predefinito: spazio Per impostazione predefinita, la variabile $OFS non esiste e il separatore del file di output è uno spazio, tuttavia è possibile aggiungere questa variabile e impostarla su qualsiasi stringa. ESEMPI In questo esempio viene illustrato l'utilizzo di uno spazio per separare i valori quando una matrice viene convertita in una stringa. In questo caso, una matrice di valori interi viene archiviata in una variabile, dopodiché viene eseguito il cast di tale variabile in una stringa. PS> $array = 1,2,3 # Archiviazione di una matrice di valori interi. PS> [string]$array # Cast della matrice in una stringa. 1 2 3 # Gli spazi separano gli elementi Per cambiare il separatore, aggiungere la variabile $OFS assegnando ad essa un valore. Per un funzionamento corretto, la variabile deve essere denominata $OFS. PS> $OFS = "+" # Creazione della variabile $OFS e assegnazione del valore "+" PS> [string]$array # Ripetizione del comando 1+2+3 # I segni più separano gli elementi Per ripristinare il comportamento predefinito, è possibile assegnare uno spazio (" ") al valore di $OFS oppure eliminare la variabile. Questo comando elimina la variabile, quindi verifica che il separatore sia uno spazio. PS> Remove-Variable OFS # Eliminazione della variabile $OFS PS> PS> [string]$array # Ripetizione del comando 1 2 3 # Gli spazi separano gli elementi $OutputEncoding --------------- Determina il metodo di codifica dei caratteri utilizzato da Windows PowerShell quando viene inviato del testo ad altre applicazioni. Se, ad esempio, vengono restituite stringhe Unicode a Windows PowerShell, potrebbe essere necessario modificare il valore per l'invio corretto dei caratteri. Valori validi: oggetti derivati da una classe di codifica, ad esempio ASCIIEncoding, SBCSCodePageEncoding, UTF7Encoding, UTF8Encoding, UTF32Encoding e UnicodeEncoding. Valore predefinito: oggetto ASCIIEncoding (System.Text.ASCIIEn coding) ESEMPI In questo esempio viene illustrato come far funzionare il comando FINDSTR di Windows in Windows PowerShell in un computer localizzato in una lingua che utilizza caratteri Unicode, ad esempio la lingua cinese. Il primo comando trova il valore di $OutputEncoding. Poiché il valore è un oggetto di codifica, visualizzare unicamente la sua proprietà EncodingName. PS> $OutputEncoding.EncodingName # Trovare il valore corrente US-ASCII In questo esempio viene utilizzato un comando FINDSTR per cercare due caratteri cinesi presenti nel file Test.txt. Quando questo comando FINDSTR viene eseguito al prompt dei comandi di Windows (Cmd.exe), i caratteri cinesi vengono trovati nel file di testo. Tuttavia, quando lo stesso comando FINDSTR viene eseguito in Windows PowerShell, i caratteri non vengono trovati perché Windows PowerShell li invia a FINDSTR in testo ASCII, non in Unicode. PS> findstr <caratteri-Unicode> # Utilizzo di findstr per la ricerca. PS> # Nessun carattere trovato. Per far funzionare il comando in Windows PowerShell, impostare il valore di $OutputEncoding sul valore della proprietà OutputEncoding della console, che è basata sulle impostazioni locali selezionate per Windows. Poiché OutputEncoding è una proprietà statica della console, utilizzare due caratteri due punti (::) nel comando. PS> $OutputEncoding = [console]::outputencoding PS> # Impostazione del valore sulla proprietà OutputEncoding della console. PS> $OutputEncoding.EncodingName OEM United States # Trovare il valore risultante. In seguito a questa modifica, il comando FINDSTR troverà i caratteri. PS> findstr <caratteri-Unicode> test.txt: <caratteri-Unicode> # Utilizzo del comando findstr per la ricerca. I caratteri vengono trovati nel file di testo. $ProgressPreference ------------------- Determina la modalità di risposta di Windows PowerShell agli aggiornamenti dello stato generati da uno script, cmdlet o provider, ad esempio gli indicatori di stato generati dal cmdlet Write-Progress. Il cmdlet Write-Progress crea indicatori di stato che rappresentano lo stato di un comando. Valori validi: Stop: l'indicatore di stato non viene visualizzato. Viene invece visualizzato un messaggio di errore e l'esecuzione viene arrestata. Inquire: l'indicatore di stato non viene visualizzato. Per continuare, viene richiesta l'autorizzazione. Se si risponde con Y o A, l'indicatore di stato viene visualizzato. Continue l'indicator e di stato viene visualizzato e (valore predefinito): l'esecuzione continua. SilentlyContinue: il comando viene eseguito, ma l'indicatore di stato non viene visualizzato. $PSEmailServer -------------- Specifica il server di posta elettronica predefinito utilizzato per l'invio dei messaggi di posta elettronica. Questa variabile di preferenza viene utilizzata dai cmdlet che inviano i messaggi di posta elettronica, ad esempio il cmdlet Send-MailMessage. $PSSessionApplicationName --------------------------- Specifica il nome di applicazione predefinito di un comando remoto che utilizza la tecnologia Gestione remota Windows (WS-Management). Il nome di applicazione predefinito di sistema è WSMAN, tuttavia è possibile utilizzare questa variabile di preferenza per modificare questo valore predefinito. Il nome di applicazione è l'ultimo nodo in un URI di connessione. Ad esempio, il nome di applicazione nell'URI di esempio seguente è WSMAN. http://Server01:8080/WSMAN Il nome di applicazione predefinito viene utilizzato quando il comando remoto non specifica un URI di connessione o un nome di applicazione. Il servizio Gestione remota Windows utilizza il nome di applicazione per selezionare un listener per la gestione della richiesta di connessione. Il valore di questo parametro deve corrispondere al valore della proprietà URLPrefix di un listener nel computer remoto. Per eseguire l'override delle impostazioni predefinite del sistema e del valore di questa variabile, quindi selezionare un nome di applicazione diverso per una determinata sessione, utilizzare il parametro ConnectionURI o ApplicationName del cmdlet New-PSSession, Enter-PSSession o Invoke-Command. Questa variabile di preferenza viene impostata nel computer locale, ma specifica un listener nel computer remoto. Se il nome di applicazione specificato non esiste nel computer remoto, il comando per stabilire la sessione ha esito negativo. $PSSessionConfigurationName --------------------------- Specifica la configurazione di sessione predefinita utilizzata per le sessioni PSSession create nella sessione corrente. Questa variabile di preferenza viene impostata nel computer locale, ma specifica una configurazione di sessione presente nel computer remoto. Il valore della variabile $PSSessionConfigurationName è un URI di risorsa completo. Valore predefinito: https://schemas.microsoft.com/powershell/microsoft.powershell indica la configurazione di sessione Microsoft.PowerShell nel computer remoto. Se si specifica unicamente un nome di configurazione, viene anteposto l'URI di schema seguente: https://schemas.microsoft.com/powershell/ È possibile eseguire l'override del valore predefinito e selezionare una configurazione di sessione diversa per una determinata sessione mediante il parametro ConfigurationName del cmdlet New-PSSession, Enter-PSSession o Invoke-Command. Il valore di questa variabile può essere modificato in qualsiasi momento. Quando si decide di apportare tale modifica, ricordare che la configurazione di sessione selezionata deve essere presente nel computer remoto. In caso contrario, il comando di creazione di una sessione che utilizza la configurazione di sessione avrà esito negativo. Questa variabile di preferenza non determina le configurazioni di sessione locali utilizzate dagli utenti remoti per creare una sessione per la connessione a questo computer. È tuttavia possibile utilizzare le autorizzazioni affinché le configurazioni di sessione locali possano determinare quali utenti potranno utilizzarle. $PSSessionOption ---------------- Stabilisce i valori predefiniti per le opzioni utente avanzate in una sessione remota. Queste preferenze di opzione eseguono l'override dei valori predefiniti di sistema per le opzioni di sessione. È inoltre possibile impostare opzioni personalizzate per una determinata sessione remota mediante il parametro SessionOption nei cmdlet che creano una sessione, ad esempio New-PSSession, Enter-PSSession e Invoke-Command. Il valore del parametro SessionOption ha la precedenza sui valori predefiniti di sistema sui valori predefiniti impostati in questa variabile. La variabile $PSSessionOption contiene un oggetto PSSessionOption (System.Management.Automation.Remoting.PSSessionObject). Ogni proprietà dell'oggetto rappresenta un'opzione di sessione. La proprietà NoCompression, ad esempio, comporta la disattivazione della compressione dati durante la sessione. Per creare la variabile di preferenza $PSSessionOption, utilizzare il cmdlet New-PSSessionOption. Salvare l'output in una variabile denominata $PSSessionOption. Ad esempio, $PSSessionOption = New-PSSessionOption -NoCompression Per utilizzare la variabile di preferenza $PSSessionOption in ogni sessione di Windows PowerShell, aggiungere un comando New-PSSessionOption per la creazione della variabile $PSSessionOption al profilo di Windows PowerShell. Per ulteriori informazioni sul cmdlet New-PSSessionOption, vedere l'argomento della Guida relativo a New-PSSessionOption. Per ulteriori informazioni sulle sessioni e sui comandi remoti, vedere about_Remote e about_PSSessions. Per ulteriori informazioni sull'utilizzo di un profilo, vedere about_Profiles. $VerbosePreference ------------------ Determina la modalità di risposta di Windows PowerShell ai messaggi dettagliati generati da uno script, cmdlet o provider, ad esempio i messaggi generati dal cmdlet Write-Verbose. Nei messaggi dettagliati vengono in genere descritte le azioni eseguite per eseguire un comando. Per impostazione predefinita, i messaggi dettagliati non vengono visualizzati. È tuttavia possibile modificare questo comportamento modificando il valore di $VerbosePreference. È inoltre possibile utilizzare il parametro comune Verbose di un cmdlet per visualizzare o nascondere i messaggi dettagliati per un comando specifico. Per ulteriori informazioni, digitare: "get-help about_commonparameters". Valori validi: Stop: vengono visualizzati un messaggio dettagliato e un messaggio di errore e l'esecuzione viene arrestata. Inquire: viene visualizzato il messaggio dettagliato, dopodiché viene visualizzato un prompt che chiede se continuare o meno. Continue: viene visualizzato il messaggio dettagliato e l'esecuzione continua. SilentlyContinue il messaggio dettagliato non viene visualizzato. (valore predefinito): L'esecuzione continua. ESEMPI In questi esempi vengono illustrati gli effetti dei diversi valori di $VerbosePreference e l'utilizzo del parametro comune Verbose per eseguire l'override del valore della preferenza. In questo esempio viene illustrato l'effetto del valore SilentlyContinue, ovvero il valore predefinito. PS> $VerbosePreference # Trovare il valore corrente. SilentlyContinue PS> Write-Verbose "Test messaggio dettagliato." PS> # Scrittura di un messaggio dettagliato. # Il messaggio non viene visualizzato. PS> Write-Verbose "Test messaggio dettagliato." -verbose VERBOSE: Test messaggio dettagliato. # Utilizzo del parametro Verbose. In questo esempio viene illustrato l'effetto prodotto dal valore Continue. PS> $VerbosePreference = "Continue" # Modifica del valore su Continue. PS> Write-Verbose "Test messaggio dettagliato." # Scrittura di un messaggio dettagliato. VERBOSE: Test messaggio dettagliato. # Il messaggio viene visualizzato. PS> Write-Verbose "Test messaggio dettagliato." -verbose:$false # Utilizzo del parametro Verbose con il valore $false. PS> # Il messaggio non viene visualizzato. In questo esempio viene illustrato l'effetto prodotto dal valore Stop. PS> $VerbosePreference = "Stop" # Modifica del valore su Stop. PS> Write-Verbose "Test messaggio dettagliato." # Scrittura di un messaggio dettagliato. VERBOSE: Test messaggio dettagliato. Write-Verbose: l'esecuzione del comando viene arrestata perché la variabile della shell "VerbosePreference" è impostata su Stop. At line:1 char:14 + Write-Verbose <<<< "Test messaggio dettagliato." PS> Write-Verbose "Test messaggio dettagliato." -verbose:$false # Utilizzo del parametro Verbose con il valore $false # Il messaggio non viene visualizzato. In questo esempio viene illustrato l'effetto prodotto dal valore Inquire. PS> $VerbosePreference = "Inquire" # Modifica del valore su Inquire. PS> Write-Verbose "Test messaggio dettagliato." VERBOSE: Test messaggio dettagliato. # Scrittura di un messaggio dettagliato. Confirm Continuare? [S] Sì [A] Sì a tutti [I] Interrompi comando [O] Sospendi [?] Guida (il valore predefinito è "S"): s PS> Write-Verbose "Test messaggio dettagliato." -verbose:$false # Utilizzo del parametro Verbose. PS> # Il messaggio non viene visualizzato. $WarningPreference ------------------ Determina la modalità di risposta di Windows PowerShell ai messaggi di avviso generati da uno script, cmdlet o provider, ad esempio i messaggi generati dal cmdlet Write-Warning. Per impostazione predefinita, i messaggi di avviso vengono visualizzati e l'esecuzione continua. È tuttavia possibile modificare questo comportamento modificando il valore di $WarningPreference. È inoltre possibile utilizzare il parametro comune WarningAction di un cmdlet per determinare la risposta di Windows PowerShell agli avvisi risultanti da un particolare comando. Per ulteriori informazioni, digitare: "get-help about_commonparameters". Valori validi: Stop: vengono visualizzati il messaggio di avviso e un messaggio di errore e l'esecuzione viene arrestata. Inquire: viene visualizzato il messaggio di avviso, quindi viene richiesta l'autorizzazione per continuare. Continue (valore predefinito): viene visualizzato il messaggio di avviso e l'esecuzione continua. SilentlyContinue: il messaggio di avviso non viene visualizzato. L'esecuzione continua. ESEMPI In questi esempi vengono illustrati gli effetti dei diversi valori di $WarningPreference e l'utilizzo del parametro comune WarningAction per eseguire l'override del valore della preferenza. In questo esempio viene illustrato l'effetto del valore Continue, ovvero il valore predefinito. PS> $WarningPreference # Trovare il valore corrente. Continue # Scrittura di un messaggio di avviso. PS> Write-Warning "L'azione può eliminare i dati." WARNING: L'azione può eliminare i dati. # Utilizzo del parametro WarningAction su Write-Warning PS> Write-Warning "L'azione può eliminare i dati." -warningaction silentlycontinue In questo esempio viene illustrato l'effetto del valore SilentlyContinue. PS> $WarningPreference = "SilentlyContinue" # Modifica del valore su SilentlyContinue. PS> Write-Warning "L'azione può eliminare i dati." PS> # Scrittura di un messaggio di avviso. PS> Write-Warning "L'azione può eliminare i dati." -warningaction stop # Utilizzo del parametro WarningAction per arrestare l'elaborazione # quando questo comando genera un messaggio di avviso # Warning WARNING: L'azione può eliminare i dati. Write-Warning: l'esecuzione del comando è stata interrotta perché la variabile della shell "WarningPrefere nce" è impostata su Stop. At line:1 char:14 + Write-Warning <<<< "L'azione può eliminare i dati." -warningaction stop In questo esempio viene illustrato l'effetto prodotto dal valore Inquire. PS> $WarningPreference = "Inquire" # Modifica del valore su Inquire. PS> Write-Warning "L'azione può eliminare i dati." # Scrittura di un messaggio di avviso. WARNING: L'azione può eliminare i dati. Confirm Continuare? [S] Sì [A] Sì a tutti [I] Interrompi comando [O] Sospendi [?] Guida (il valore predefinito è "S"): s PS> Write-Warning "L'azione può eliminare i dati." -warningaction silentlycontinue PS> # Utilizzo del parametro WarningAction per modificare la # risposta a un avviso per il comando corrente. In questo esempio viene illustrato l'effetto prodotto dal valore Stop. PS> $WarningPreference = "Stop" # Modifica del valore su Stop. PS> Write-Warning "L'azione può eliminare i dati." # Scrittura di un messaggio di avviso. WARNING: L'azione può eliminare i dati. Write-Warning: l'esecuzione del comando è stata interrotta perché la variabile della shell "WarningPreference" è impostata su Stop. At line:1 char:14 + Write-Warning <<<< "L'azione può eliminare i dati." PS> Write-Warning "L'azione può eliminare i dati." -warningaction inquire WARNING: L'azione può eliminare i dati. Confirm Continuare? [S] Sì [A] Sì a tutti [I] Interrompi comando [O] Sospendi [?] Guida (il valore predefinito è "S"): # Utilizzo del parametro WarningAction per modificare la risposta # a un avviso per il comando corrente. $WhatIfPreference ------------------ Determina se WhatIf viene abilitato automaticamente per ogni comando che lo supporta. Se WhatIf è abilitato, il cmdlet segnala l'effetto previsto del comando, ma non lo esegue. Valori validi: 0: WhatIf non viene abilitato automaticamente. (predefinito) Per abilitarlo manualmente, utilizzare il parametro WhatIf del comando. 1: WhatIf viene abilitato automaticamente per qualsiasi comando che lo supporta. Gli utenti possono utilizzare il comando WhatIf con il valore False per disabilitarlo manualmente (WhatIf:$false). SPIEGAZIONE DETTAGLIATA Se un cmdlet supporta WhatIf, segnala l'effetto previsto del comando, anziché eseguirlo. Ad esempio, anziché eliminare il file test.txt in risposta a un comando Remove-Item, in Windows PowerShell viene segnalato l'elemento che verrebbe eliminato. Un comando Get-Childitem successivo confermerà che il file non è stato eliminato. PS> remove-item test.txt What if: Esecuzione dell'operazione "Remove-Item" sulla destinazione "Item: C:\test.txt PS> get-childitem test.txt Directory: Microsoft.PowerShell.Core\FileSystem::C: Mode LastWriteTime Length Name ---- ------------- ------ ---- -a--- 29/7/2006 19.15 84 test.txt ESEMPI In questi esempi viene illustrato l'effetto dei diversi valori di $WhatIfPreference. Viene inoltre illustrato come utilizzare il parametro del cmdlet WhatIf per eseguire l'override del valore della preferenza per un comando specifico. In questo esempio viene illustrato l'effetto del valore 0 (non abilitato), ovvero il valore predefinito. PS> $whatifpreference 0 # Verifica del valore corrente. PS> get-childitem test.txt | format-list FullName FullName : C:\test.txt # Verifica dell'esistenza del file. PS> remove-item test.txt PS> # Eliminazione del file. PS> get-childitem test.txt | format-list -property FullName # Verifica dell'eliminazione del file. Get-ChildItem : Impossibile trovare il percorso 'C:\test.txt' perché non esiste. At line:1 char:14 + get-childitem <<<< test.txt | format-list fullname In questo esempio viene illustrato l'effetto dell'utilizzo del parametro WhatIf quando il valore di $WhatIfPreference è 0. PS> get-childitem test2.txt | format-list -property FullName FullName : C:\test2.txt # Verifica dell'esistenza del file. PS> remove-item test2.txt -whatif What if: Esecuzione dell'operazione "Remove File" sulla destinazione "C:\test2.txt". # Utilizzo del parametro WhatIf. PS> get-childitem test2.txt | format-list -property FullName FullName : C:\test2.txt # Verifica del fatto che il file non è stato eliminato In questo esempio viene illustrato l'effetto prodotto dal valore 1 (WhatIf abilitato). Quando si utilizza Remove-Item per eliminare un cmdlet, viene visualizzato il percorso del file che verrebbe eliminato, ma l'eliminazione non viene eseguita. PS> $whatifpreference = 1 PS> $whatifpreference 1 # Modifica del valore. PS> remove-item test.txt What if: Esecuzione dell'operazione"Remove File" sulla destinazione "C:\test.txt". # Tentativo di eliminazione di un file. PS> get-childitem test.txt | format-list FullName FullName : C:\test.txt # Verifica dell'esistenza del file. In questo esempio viene illustrato come eliminare un file quando il valore di $WhatIfPreference è 1. Il parametro WhatIf viene utilizzato con il valore $false. PS> remove-item test.txt -whatif:$false # Utilizzo del parametro WhatIf with $false. In questo esempio viene dimostrato che non tutti i cmdlet supportano il comportamento di WhatIf. In questo esempio, dove il valore di $WhatIfPreference è 1 (abilitato), viene eseguito un comando Get-Process che non supporta WhatIf, ma il comportamento di WhatIf viene eseguito da un comando Stop-Process. È possibile eseguire l'override del comportamento di WhatIf del comando Stop-Process mediante il parametro WhatIf con il valore $false. PS> $whatifpreference = 1 # Modifica del valore su 1. PS> get-process winword # Completamento del comando Get-Process. Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName ------- ------ ----- ----- ----- ------ -- ----------- 234 8 6324 15060 154 0.36 2312 WINWORD PS> stop-process -name winword What if: Esecuzione dell'operazione "Stop-Process" sulla destinazione "WINWORD (2312)". # Un comando Stop-Process utilizza WhatIf. PS> stop-process -name winword -whatif:$false PS> # WhatIf:$false esegue l'override della preferenza. PS> get-process winword Get-Process : C Impossibile trovare un processo con nome 'winword'. Verificare il nome del processo e chiamare di nuovo il cmdlet. At line:1 char:12 + get-process <<<< winword # Verifica dell'arresto del processo. VEDERE ANCHE about_Automatic_Variables about_CommonParameters about_Environment_Variables about_Profiles about_Remote about_Scopes about_Variables