2017-12-05 11 views
1

ヘッダ名とダッシュを取り除く方法はありますか?Powershellにダッシュを付けたヘッダ

write-output $DataAdapter.Fill($Dataset) | Out-null 

私は考えた:たとえば、代わりに

Display Name 
------------- 
Test, Directory 

を有しているとそれだけで、これは私が私の書き込み出力に持っているものであり、最初と最後の名前のテスト、ディレクトリ

を表示していましたout-nullはそれを処理しますが、そうしませんでした。

誰かが私に助けてくれますか?

ありがとうございます。

+1

これらはPowerShellの出力フォーマッタによって出力されます。なぜあなたはそれらを取り除く必要がありますか? –

+0

または、$ DataAdapter.Fill($ Dataset)|を使用できます。 Format-Table -HideTableHeaders' – Hackerman

+0

これは、F nameとL Nameの下の結果をデータセットではない値として表示しようとしているからです。 – CarlD

答えて

0

この特定の例では、表示するプロパティを指定してExpandPropertyパラメータを使用してSelect-Objectを使用します。

この例としては、(拡張なし)である:

[1] PS G:\> Get-ADUser -Filter * | Select Name 

Name   
----   
Administrator 
Joe Bloggs 
... 

・拡大と:

[2] PS G:\> Get-ADUser -Filter * | Select-Object -ExpandProperty Name 
Administrator 
Joe Bloggs 
... 

私はここに本当のフォローアップの質問は、しかし、 "なぜ?" ですね

これにより、PowerShellを強力にするオブジェクトベースのパラダイムが取り除かれます。今はちょうどあなたに一連の文字列を与えています。

+0

コンテキストなしでは、実際には 'Select-Object -ExpandProperty'が最適です。以下の私の答えを見てください。これはオブジェクトの配列に対しても機能します。 –

0

PowerShellはデータをテキストとして扱いません。データはオブジェクトです。オブジェクトにはプロパティがあり、オブジェクトを出力パイプに送ると、デフォルトのプロセッサがテキストへの変換を処理します。

この変換は、オブジェクトに関する情報をその能力の最大限に保ちます。これは、たとえば、オブジェクトのプロパティの値にプロパティの名前をラベリングすることを意味します。

$DataAdapter.Fill($Dataset)で指定されたオブジェクトには、というプロパティがあります。デフォルトの出力プロセッサWrite-Outputは、プロパティ名がDisplay Nameのデータにラベルを付けることで情報を保持しようとし、ヘッダーが表示されます。

これを解消するには、あなたが出力されていないオブジェクト全体に必要がありますが、特定のプロパティの値はあなたが興味のある:こと

Write-Output ($DataAdapter.Fill($Dataset)).'Display Name' 

注 - あなたはそれを管理している - 一部としてスペースを持ちます一般的には不慣れであると考えられています。

+0

私は カラム1の下に結果を表示しようとしています。------- はデータセットではなく値として表示されます。 – CarlD

関連する問題