2012-06-18 12 views
5

Mam następujący powershell skrypt, który skanuje lokalizację i dodaje szczegóły plików do pliku xml,wziąć powershell obiekt Zapisz jako XML i obciążenia w C#

Get-ChildItem -recurse c:\DATA | Select-Object * , @{Name="Kbytes";Expression={ "{0:N0}" -f ($_.Length/1Kb) }},@{Name="Age";Expression={ (((Get-Date) - $_.CreationTime).Days) }} | Export-Clixml c:\DATA\Final.xml 

O ile rozumiem, to powinno być przedmiotem w środowisku .net, zakładając zestaw danych? co chciałbym zrobić, to załadować ten obiekt do aplikacji C# i użyć go jako zestawu danych.

Jak załadować obiekt do zestawu danych w języku C#?

+0

Korzystając eksportuj -CliX ML ty seriealizujesz dane. więc, gdy deserializujesz to, nie będzie to obiekt na żywo. Wszystkie metody dostępne na obiekcie zostaną utracone. – ravikanth

Odpowiedz

5
  1. Dodać odniesienie do zespołu System.Management.Automation.dll.
  2. Tworzenie PowerShell Runspace
  3. Otwórz Runspace
  4. Tworzenie PowerShell Pipeline obiekt z komendą w Import-CliXml
  5. powołać się Pipeline
  6. Zamknij Runspace

    var rs = RunspaceFactory.CreateRunspace(); 
        rs.Open(); 
        var pl = rs.CreatePipeline(@"Import-CliXml c:\DATA\Final.xml;"); 
        var result = pl.Invoke(); 
        rs.Close();