none
export-CSVで出力されるデータがstring型になっていしまう RRS feed

  • 質問

  • お世話になります。

    現在ADのOUとユーザーグループの整備を行っていまして、

    「Get-ADGroupMembe(任意のOU)| export-csv -encoding default -path d:\Get-ADGroupMember.csv 

    という形でCSVに出力しようとしますが、出力されるCSVのデータがなぜか

    #TYPE System.String
    Length
    17

     となっており、同じコマンドを別OUに続けてやると 

    「追加されるオブジェクトに、次の列に対応するプロパティがありません::Length。」と表示されししまいエラーになっています。

    おそらく出力の型が違うためだと思いますが、どのあたりを調整すればいいのでしょうか?

    Get-ADGroupMember自体はコンソールに出力されますので問題ないと思います。

    お手数ですが、ご教示いただければ幸いです。

    2019年5月10日 8:34

回答

  • -Delimiter で区切り文字を明示するか -UseCulture で既定の区切り文字を利用するよう明示するとどのような出力になるでしょう?
    また追記していくなら -NoTypeInformation を付けても良いかもしれません。

    Hebikuzure aka Murachi Akira

    • 回答としてマーク onsenikitai 2019年5月13日 4:54
    2019年5月11日 1:30
  • Get-ADGroupMember(任意のOU)|Get-Member

    としたときに、TypeNameは何と表示されていますか?

    また、(任意のOU)に、エスケープする必要のある文字が含まれていたりはしませんか?


    • 回答としてマーク onsenikitai 2019年5月13日 4:56
    2019年5月11日 1:51
    モデレータ
  • こんにちは

    AD OUのグループメンバーを取得するために「get-adgroupmember」コマンドレットを使用できるとは思われません。 特定のOUのグループを取得するには「Get-AdGroup」コマンドレットを使用します。

    次にグループメンバー情報を取得するにはパイプラインを使用する必要があります。

    例えば:

    Get-ADGroup -SearchBase "OU=shutdown,DC=lee,DC=com" -Filter * | Get-ADGroupMember |  export-csv -encoding default -path d: \ Get-ADGroupMember.csv

    get-member」コマンドレットを試してください。

    例えば:

    PS C:\windows\system32> Get-ADGroup -SearchBase "OU=shutdown,DC=lee,DC=com" -Filter * | Get-ADGroupMember | gm

       TypeName: Microsoft.ActiveDirectory.Management.ADPrincipal

    どうぞよろしくお願いいたします

    Fan


    Please remember to mark the replies as an answers if they help. If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com

    • 回答としてマーク onsenikitai 2019年5月13日 4:56
    2019年5月13日 2:46
    モデレータ

すべての返信

  • こんにちは

    export-CSVにつきまして下記リンクの内容を参照ください。

    https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/export-csv?view=powershell-6

    また上記のエラーにつきまして、こちらまた研究しててからまた返信させていただきます。

    どうぞよろしくお願いいたします

    Fan


    Please remember to mark the replies as an answers if they help. If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com

    2019年5月10日 10:20
    モデレータ
  • -Delimiter で区切り文字を明示するか -UseCulture で既定の区切り文字を利用するよう明示するとどのような出力になるでしょう?
    また追記していくなら -NoTypeInformation を付けても良いかもしれません。

    Hebikuzure aka Murachi Akira

    • 回答としてマーク onsenikitai 2019年5月13日 4:54
    2019年5月11日 1:30
  • Get-ADGroupMember(任意のOU)|Get-Member

    としたときに、TypeNameは何と表示されていますか?

    また、(任意のOU)に、エスケープする必要のある文字が含まれていたりはしませんか?


    • 回答としてマーク onsenikitai 2019年5月13日 4:56
    2019年5月11日 1:51
    モデレータ
  • こんにちは

    AD OUのグループメンバーを取得するために「get-adgroupmember」コマンドレットを使用できるとは思われません。 特定のOUのグループを取得するには「Get-AdGroup」コマンドレットを使用します。

    次にグループメンバー情報を取得するにはパイプラインを使用する必要があります。

    例えば:

    Get-ADGroup -SearchBase "OU=shutdown,DC=lee,DC=com" -Filter * | Get-ADGroupMember |  export-csv -encoding default -path d: \ Get-ADGroupMember.csv

    get-member」コマンドレットを試してください。

    例えば:

    PS C:\windows\system32> Get-ADGroup -SearchBase "OU=shutdown,DC=lee,DC=com" -Filter * | Get-ADGroupMember | gm

       TypeName: Microsoft.ActiveDirectory.Management.ADPrincipal

    どうぞよろしくお願いいたします

    Fan


    Please remember to mark the replies as an answers if they help. If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com

    • 回答としてマーク onsenikitai 2019年5月13日 4:56
    2019年5月13日 2:46
    モデレータ
  • ご丁寧な回答ありがとうございます、こちらでコマンドを確認したころ、
    そのあとに追加している構文に誤りがあり、それがもとでエラーを引き起こしていました。
    現在は正常に出力されているため、自己解決ということでご了承ください。

    お手数おかけいたしました。
    2019年5月13日 4:57
  • ご丁寧な回答ありがとうございます、こちらでコマンドを確認したころ、
    そのあとに追加している構文に誤りがあり、それがもとでエラーを引き起こしていました。
    現在は正常に出力されているため、自己解決ということでご了承ください。

    お手数おかけいたしました。
    2019年5月13日 4:57
  • ご丁寧な回答ありがとうございます、こちらでコマンドを確認したころ、
    そのあとに追加している構文に誤りがあり、それがもとでエラーを引き起こしていました。
    現在は正常に出力されているため、自己解決ということでご了承ください。

    お手数おかけいたしました。
    2019年5月13日 4:57