In Powershell, qual è la differenza tra -Property e -ExpandProperty?


2

Eseguendo i cmdlet, le uscite sono leggermente diverse e sto solo cercando di capire la differenza tra i due cmdlet e il motivo per cui dovresti utilizzarli l'uno sull'altro.

Esempio:

Get-Date | Select -Property DayOfWeek

Produzione:

DayOfWeek
---------
Saturday


Get-Date | Select -ExpandProperty DayOfWeek

Saturday

Grazie per l'aiuto. Ho provato diverse ricerche formulandole in diversi modi cercando di ottenere informazioni su quei comandi e non sono riuscito a trovare nulla. Mi hai appena dato un'intera fonte di informazioni per domande future che potrei avere anche io, quindi ancora grazie! Sono grato: D
Laura,

Risposte:


2

Intro

È possibile ispezionare qualsiasi oggetto in Powershell inserendolo nel cmdlet Format-List :

PS> Get-Date | Format-List

DisplayHint : DateTime
Date        : 2018-10-21 0:00:00
Day         : 21
DayOfWeek   : Sunday
DayOfYear   : 294
Hour        : 18
Kind        : Local
Millisecond : 28
Minute      : 38
Month       : 10
Second      : 36
Ticks       : 636757439160281486
TimeOfDay   : 18:38:36.0281486
Year        : 2018
DateTime    : 21 жовтня 2018 р. 18:38:36

Quindi, è possibile modificare l'oggetto, ad es. crea il nuovo oggetto con un sottoinsieme di proprietà dell'oggetto originale. A tale scopo, utilizzare il cmdlet Select-Object e con l'elenco delle proprietà richieste nel -Propertyparametro.

Select-Objectha un alias predefinito Select, ma suggerisco che durante l'apprendimento di Powershell e lo scambio del codice con parti esterne, ad es. Superuser.com non usi alias, ma solo nomi completi di cmdlet per motivi di chiarezza

Risposta

  • Get-Date | Select-Object -Property DayOfWeekcreerà un oggetto che ha una sola proprietà DayOfWeekdell'oggetto restituito da Get-Date

  • Get-Date | Select-Object -ExpandProperty DayOfWeekrestituirà la stringa con il contenuto della DayOfWeekproprietà


1
Questi due parametri selectsono spiegati di più anche qui docs.microsoft.com/en-us/powershell/module/…
Pimp Juice IT

1
@PimpJuiceIT grazie, anche questo sarà utile. Osservando questa domanda, ho ricordato che queste cose "ovvie" come la differenza tra situazioni in cui il comando restituisce una stringa con qualcosa rispetto al ritorno di un oggetto dall'aspetto semplice non sono chiaramente descritte nei tutorial e ho dovuto attraversare una curva di apprendimento molto non intuitiva fino a quando tutto vieni al suo posto.
maoizm,

Capito, a volte la formulazione delle spiegazioni e cose del genere può essere difficile da interpretare. Entrare e correre, confrontare e leggere sembra funzionare bene per me, ma una spiegazione più chiara e concisa non guasta mai.
Pimp Juice IT
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.