Aracılığıyla paylaş


Geniş Görünüm Oluşturma

Geniş bir görünüm, görüntülenen her bir nesne için tek bir değer görüntüler. Görünen değer bir .NET nesne özelliğinin değeri veya bir betiğin değeri olabilir. Varsayılan olarak, bu görünüm için etiket veya üstbilgi yok.

Geniş bir görünüm görüntüsü

aşağıdaki örnek, kendi çıktısı biçim genelindeki cmdlet 'e yöneltmediğinde Get-Process cmdlet 'i tarafından döndürülen System. Diagnostics. Process nesnesinin nasıl Windows PowerShell görüntüleneceğini gösterir. (Varsayılan olarak, Get-Process cmdlet 'i bir tablo görünümü döndürür.) Bu örnekte, döndürülen her nesne için işlemin adını göstermek üzere iki sütun kullanılır. Nesnenin özelliğinin adı gösterilmez, yalnızca özelliğin değeridir.

Get-Process | format-wide
AEADISRV                     agrsmsvc
Ati2evxx                     Ati2evxx
audiodg                      CCC
CcmExec                      communicator
Crypserv                     csrss
csrss                        DevDtct2
DM1Service                   dpupdchk
dwm                          DxStudio
EXCEL                        explorer
GoogleToolbarNotifier        GrooveMonitor
hpqwmiex                     hpservice
Idle                         InoRpc
InoRT                        InoTask
ipoint                       lsass
lsm                          MOM
MSASCui                      notepad
...                          ...

Geniş görünümü tanımlama

Aşağıdaki XML, System. Diagnostics. Process nesnesinin geniş görünüm şemasını gösterir.

View>
  <Name>process</Name>
  <ViewSelectedBy>
    <TypeName>System.Diagnostics.Process</TypeName>
  </ViewSelectedBy>
  <GroupBy>...</GroupBy>
  <Controls>...</Controls>
  <WideControl>
    <WideEntries>
      <WideEntry>
        <WideItem>
          <PropertyName>ProcessName</PropertyName>
        </WideItem>
      </WideEntry>
    </WideEntries>
  </WideControl>
</View>

Aşağıdaki XML öğeleri geniş bir görünüm tanımlamak için kullanılır:

  • Görünüm öğesi, geniş görünümün üst öğesidir. (Bu, tablo, liste ve özel denetim görünümleri için aynı üst öğedir.)

  • Name öğesi görünümün adını belirtir. Bu öğe tüm görünümler için gereklidir.

  • Viewselectedby öğesi, görünümü kullanan nesneleri tanımlar. Bu öğe gereklidir.

  • GroupBy öğesi yeni bir nesne grubu görüntülendiğinde tanımlar. Belirli bir özellik veya betiğin değeri değiştiğinde yeni bir grup başlatılır. Bu öğe isteğe bağlıdır.

  • Controls öğeleri, geniş görünüm tarafından tanımlanan özel denetimleri tanımlar. Denetimler, verilerin nasıl görüntülendiğini daha fazla belirtmek için bir yol sağlar. Bu öğe isteğe bağlıdır. Bir görünüm kendi özel denetimlerini tanımlayabilir veya biçimlendirme dosyasındaki herhangi bir görünüm tarafından kullanılabilen ortak denetimleri kullanabilir. Özel denetimler hakkında daha fazla bilgi için bkz. özel denetimler oluşturma.

  • Widecontrol öğesi ve onun alt öğeleri görünümde neyin görüntülendiğini tanımlar. Yukarıdaki örnekte, görünümü System. Diagnostics. Process. ProcessName özelliğini görüntüleyecek şekilde tasarlanmıştır.

Basit bir geniş görünümü tanımlayan bir bütün biçimlendirme dosyası örneği için bkz. Wide View (Basic).

Geniş görünümlerinizin tanımlarını sağlama

Geniş görünümler, Widecontrol öğesinin alt öğelerini kullanarak bir veya daha fazla tanım sağlayabilir. Genellikle, bir görünüm yalnızca bir tanıma sahip olur. Aşağıdaki örnekte, görünümü System. Diagnostic. Process. ProcessName özelliğinin değerini görüntüleyen tek bir tanım sağlar. Geniş bir görünüm bir özelliğin değerini veya bir komut dosyası değerini görüntüleyebilir (örnekte gösterilmez).

<WideControl>
  <AutoSize/>
  <ColumnNumber></ColumnNumber>
  <WideEntries>
    <WideEntry>
      <WideItem>
        <PropertyName>ProcessName</PropertyName>
      </WideItem>
    </WideEntry>
  </WideEntries>
</WideControl>

Aşağıdaki XML öğeleri, geniş bir görünüm için tanımlar sağlamak üzere kullanılabilir:

  • Widecontrol öğesi ve onun alt öğeleri görünümde neyin görüntülendiğini tanımlar.

  • AutoSize öğesi, sütun boyutunun ve sütun sayısının, verilerin boyutuna göre ayarlanacağını belirtir. Bu öğe isteğe bağlıdır.

  • ColumnNumber öğesi, geniş görünümde görüntülenecek sütun sayısını belirtir. Bu öğe isteğe bağlıdır.

  • Wideentries öğesi görünümün tanımlarını sağlar. Çoğu durumda, bir görünüm yalnızca bir tanıma sahip olur. Bu öğe gereklidir.

  • Wideentry öğesi görünümün tanımını sağlar. En az bir Wideentry gereklidir; Ancak, ekleyebileceğiniz öğe sayısı için üst sınır yoktur. Çoğu durumda, bir görünüm yalnızca bir tanıma sahip olur.

  • Entryselectedby öğesi, belirli bir tanım tarafından görüntülenen nesneleri belirtir. Bu öğe isteğe bağlıdır ve yalnızca farklı nesneleri görüntüleyen birden çok Wideentry öğesi tanımladığınızda gereklidir.

  • Wideitem öğesi görünüm tarafından görüntülenen verileri belirtir. Diğer görünüm türlerinin aksine, geniş bir denetim yalnızca bir öğe görüntüleyebilir.

  • PropertyName öğesi, değeri görünüm tarafından görüntülenecek olan özelliği belirtir. Bir özellik veya betik belirtmeniz gerekir, ancak her ikisini de belirtemezsiniz.

  • ScriptBlock öğesi, değeri görünüm tarafından görüntülenecek olan betiği belirtir. Bir betik ya da özellik belirtmelisiniz, ancak ikisini birden belirtemezsiniz.

  • FormatString öğesi, verileri göstermek için kullanılan bir model belirtir. Bu öğe isteğe bağlıdır.

Geniş bir görünüm tanımını tanımlayan bir bütün biçimlendirme dosyası örneği için bkz. Wide View (Basic).

Geniş görünümü kullanan nesneleri tanımlama

Hangi .NET nesnelerinin geniş görünümü kullanması gerektiğini tanımlamanın iki yolu vardır. Görünümün tüm tanımları tarafından görüntülenebilen nesneleri tanımlamak için Viewselectedby öğesini kullanabilir veya bir görünümün belirli bir tanımına göre hangi nesnelerin görüntülendiğini tanımlamak Için entryselectedby öğesini kullanabilirsiniz. Çoğu durumda, bir görünüm yalnızca bir tanıma sahiptir, bu yüzden nesneler genellikle Viewselectedby öğesi tarafından tanımlanır.

Aşağıdaki örnek, Viewselectedby ve TypeName öğelerini kullanarak geniş görünüm tarafından görüntülenen nesnelerin nasıl tanımlanacağını gösterir. Belirtebileceğiniz TypeName öğelerinin sayısı için bir sınır yoktur ve bunların sırası önemli değildir.

<View>
  <Name>System.ServiceProcess.ServiceController</Name>
  <ViewSelectedBy>
    <TypeName>System.Diagnostics.Process</TypeName>
  </ViewSelectedBy>
  <WideControl>...</WideControl>
</View>

Aşağıdaki XML öğeleri, geniş görünüm tarafından kullanılan nesneleri belirtmek için kullanılabilir:

  • Viewselectedby öğesi, geniş görünüm tarafından hangi nesnelerin görüntülendiğini tanımlar.

  • TypeName öğesi görünüm tarafından görüntülenen .NET öğesini belirtir. Tam nitelikli .NET türü adı gereklidir. Görünüm için en az bir tür veya seçim kümesi belirtmelisiniz, ancak belirtime izin verilen en fazla öğe sayısı yok.

Biçimlendirme dosyasının tamamını bir örnek için bkz. Wide View (Basic).

Aşağıdaki örnek, Viewselectedby ve selectionsetname öğelerini kullanır. Aynı nesneler için geniş bir görünüm ve tablo görünümü tanımladığınızda olduğu gibi, birden çok görünüm kullanılarak görüntülenen ilgili bir nesne kümesine sahip olduğunuz seçim kümelerini kullanın. Seçim kümesi oluşturma hakkında daha fazla bilgi için bkz. seçim kümelerini tanımlama.

<View>
  <Name>System.ServiceProcess.ServiceController</Name>
  <ViewSelectedBy>
    <SelectionSetName>.NET Type Set</SelectionSetName>
  </ViewSelectedBy>
  <WideControl>...</WideControl>
</View>

Aşağıdaki XML öğeleri, geniş görünüm tarafından kullanılan nesneleri belirtmek için kullanılabilir:

  • Viewselectedby öğesi, geniş görünüm tarafından hangi nesnelerin görüntülendiğini tanımlar.

  • Selectionsetname öğesi, görünüm tarafından görüntülenebilen bir nesne kümesi belirtir. Görünüm için en az bir seçim kümesi veya tür belirtmeniz gerekir, ancak belirtime en fazla sayıda öğe yok.

Aşağıdaki örnek, bir geniş görünümün belirli bir tanımı tarafından gösterilecek nesneleri Entryselectedby öğesi kullanılarak nasıl tanımlanacağını gösterir. Bu öğeyi kullanarak, nesnenin .NET tür adını, bir nesne seçim kümesini veya tanımın ne zaman kullanıldığını belirten bir seçim koşulunu belirtebilirsiniz. Seçim koşulları oluşturma hakkında daha fazla bilgi için bkz. verileri görüntülemek Için koşulları tanımlama.

<WideEntry>
  <EntrySelectedBy>
    <TypeName>.NET Type</TypeName>
  </EntrySelectedBy>
</WideEntry>

Aşağıdaki XML öğeleri, geniş görünümün belirli bir tanımı tarafından kullanılan nesneleri belirtmek için kullanılabilir:

  • Entryselectedby öğesi, tanım tarafından hangi nesnelerin görüntülendiğini tanımlar.

  • TypeName öğesi, tanım tarafından görüntülenen .NET öğesini belirtir. Bu öğe kullanılırken tam .NET tür adı gereklidir. Tanım için en az bir tür, seçim kümesi veya seçim koşulu belirtmeniz gerekir, ancak belirtilebileceğiniz en fazla sayıda öğe yok.

  • Selectionsetname öğesi (gösterilmez), bu tanım tarafından görüntülenebilen bir nesne kümesi belirtir. Tanım için en az bir tür, seçim kümesi veya seçim koşulu belirtmeniz gerekir, ancak belirtilebileceğiniz en fazla sayıda öğe yok.

  • Selectioncondition öğesi (gösterilmez) Bu tanım için kullanılması gereken bir koşulu belirtir. Tanım için en az bir tür, seçim kümesi veya seçim koşulu belirtmeniz gerekir, ancak belirtilebileceğiniz en fazla sayıda öğe yok. Seçim koşullarını tanımlama hakkında daha fazla bilgi için bkz. verileri görüntülemek Için koşulları tanımlama.

Nesnelerin gruplarını geniş bir görünümde görüntüleme

Geniş görünüm tarafından görüntülenen nesneleri gruplar halinde ayırabilirsiniz. bu, bir grubu tanımladığınız anlamına gelmez; yalnızca belirli bir özellik veya betik değeri değiştiğinde Windows PowerShell yeni bir grup başlatır. Aşağıdaki örnekte, System. ServiceProcess. ServiceController. ServiceType özelliğinin değeri değiştiğinde yeni bir grup başlatılır.

<GroupBy>
  <Label>Service Type</Label>
  <PropertyName>ServiceType</PropertyName>
</GroupBy>

Aşağıdaki XML öğeleri, bir grubun ne zaman başlatıldığını tanımlamak için kullanılır:

  • GroupBy öğesi, yeni grubu Başlatan özelliği veya betiği tanımlar ve grubun nasıl görüntülendiğini tanımlar.

  • PropertyName öğesi, değeri her değiştiğinde yeni bir grup Başlatan özelliği belirtir. Grubu başlatmak için bir özellik veya betik belirtmeniz gerekir, ancak her ikisini de belirtemezsiniz.

  • ScriptBlock öğesi, değeri her değiştiğinde yeni bir grup Başlatan betiği belirtir. Grubu başlatmak için bir betik veya özellik belirtmeniz gerekir, ancak ikisini birden belirtemezsiniz.

  • Label öğesi, her grubun başlangıcında görüntülenen bir etiketi tanımlar. bu öğe tarafından belirtilen metnin yanı sıra, Windows PowerShell yeni grubu tetikleyen değeri görüntüler ve etiketten önce ve sonra boş bir satır ekler. Bu öğe isteğe bağlıdır.

  • CustomControl öğesi, verileri göstermek için kullanılan bir denetimi tanımlar. Bu öğe isteğe bağlıdır.

  • Customcontrolname öğesi, verileri görüntülemek için kullanılan ortak veya görünüm denetimini belirtir. Bu öğe isteğe bağlıdır.

Grupları tanımlayan bir bütün biçimlendirme dosyasına bir örnek için bkz. Wide View (GroupBy).

Biçim dizelerini kullanma

Biçimlendirme dizeleri, verilerin nasıl görüntülendiğini daha ayrıntılı bir şekilde tanımlamak için geniş bir görünüme eklenebilir. Aşağıdaki örnek, özelliğinin değeri için bir biçimlendirme dizesinin nasıl tanımlanacağını gösterir StartTime .

<WideItem>
  <PropertyName>StartTime</PropertyName>
  <FormatString>{0:MMM} {0:DD} {0:HH}:{0:MM}</FormatString>
</WideItem>

Aşağıdaki XML öğeleri bir biçim deseninin belirtilmesi için kullanılabilir:

  • Wideitem öğesi görünüm tarafından görüntülenen verileri belirtir.

  • PropertyName öğesi, değeri görünüm tarafından görüntülenecek olan özelliği belirtir. Bir özellik veya betik belirtmeniz gerekir, ancak her ikisini de belirtemezsiniz.

  • FormatString öğesi, özelliğin veya betik değerinin görünümde nasıl görüntülendiğini tanımlayan bir biçim deseninin olduğunu belirtir

  • ScriptBlock öğesi (gösterilmez), değeri görünüm tarafından gösterilen betiği belirtir. Bir betik ya da özellik belirtmelisiniz, ancak ikisini birden belirtemezsiniz.

Aşağıdaki örnekte, ToString yöntemi betiğin değerini biçimlendirmek için çağırılır. Betikler, bir nesnenin herhangi bir yöntemini çağırabilir. Bu nedenle, bir nesnesi gibi bir yöntemi varsa (örneğin ToString , biçimlendirme parametrelerine sahiptir) betik, betiğin çıkış değerini biçimlendirmek için bu yöntemi çağırabilir.

<WideItem>
  <ScriptBlock>
    [String]::Format("{0,-10} {1,-8}", $_.LastWriteTime.ToString("d"), $_.LastWriteTime.ToString("t"))
  </ScriptBlock>
</WideItem>

Aşağıdaki XML öğesi yöntemi çağırmak için kullanılabilir ToString :

  • Wideitem öğesi görünüm tarafından görüntülenen verileri belirtir.

  • ScriptBlock öğesi (gösterilmez), değeri görünüm tarafından gösterilen betiği belirtir. Bir betik ya da özellik belirtmelisiniz, ancak ikisini birden belirtemezsiniz.

Ayrıca Bkz.

Geniş Görünüm (Temel)

Geniş Görünüm (GroupBy)

PowerShell Biçimlendirme Dosyası Yazma