Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Powershell Ausgabe in CSV

Frage Entwicklung

Mitglied: vcxy80

vcxy80 (Level 1) - Jetzt verbinden

06.07.2009, aktualisiert 12:44 Uhr, 13436 Aufrufe, 7 Kommentare

Halli Hallo,

ich versuche ein Script zu basteln, welches für alle Server in einem Textfile der OS ermittelt und anschliessend das Ergebnis in einem CSV-File ausgibt. Folgendes hab ich erstellt:


function get-os ($file) {
$names = get-content $file
foreach ($name in $names) {
$name
gmwi win32_OperatingSystem -prop Caption -comp $name
}
}

get-os C:\srvnames.txt ¦ export-csv "C:\srv-os.txt


Leider erhalte ich kein Textfile mit dem Ergebnis - habt Ihr ne Idee was ich da falsch mache?

Danke + Gruss
Mitglied: TsukiSan
06.07.2009 um 14:21 Uhr
Hallo,

lösche bitte mal das Anführungszeichen vor C:\srv-os.txt
01.
get-os C:\srvnames.txt ¦ export-csv C:\srv-os.txt

Gruß
Tsuki
Bitte warten ..
Mitglied: vcxy80
06.07.2009 um 14:48 Uhr
Grüss Dich,

also so oder:

function get-os ($file) {
$names = get-content $file
foreach ($name in $names) {
$name
gwmi win32_OperatingSystem -prop Caption -comp $name
}
}

$a = get-os
$a ¦ select-object ¦ export-csv -path C:\srv-os.txt


passiert leider nichts...

Wenn ichs manuell in PS-Windows tippsle passiert folgendes:

PS C:\Documents and Settings\userID> function get-os ($file) {
$names = get-content $file
foreach ($name in $names) {
$name
gwmi win32_OperatingSystem -prop Caption -comp $name
}
}
PS C:\Documents and Settings\userID> $a = get-os
Get-Content : Cannot bind argument to parameter 'Path' because it is null.
At line:2 char:25

$names = get-content <<<< $file

Get-WmiObject : Cannot validate argument because it is null.
At line:5 char:55

gwmi win32_OperatingSystem -prop Caption -comp <<<< $name

PS C:\Documents and Settings\userID>
Bitte warten ..
Mitglied: TsukiSan
06.07.2009 um 15:26 Uhr
Also,Schritt für Schritt.

Welchen Pfad hast du "$File" zugewiesen?
Beispiel:
$File = Get-Content "C:\Test.log"
Da scheint mir in deiner Fehlerausgabe das Problem zu liegen, das Powershell NULL ausgibt. Bitte mal prüfen!
Den Rest schaue ich mal weiter.

Gruß
Tsuki
Ps.: In der Zwischenzeit mal was zum testen
01.
$Proz = get-process 
02.
$Proz | select-object Name,Path,Company | Export-csv -path C:\Prozesse.csv
Bitte warten ..
Mitglied: vcxy80
07.07.2009 um 09:14 Uhr
....aaaaaaaaaaaaaalso ich hatte wohl einen Anflug von Blindheit hatte das falsche Zeichen fürs pipen verwendet - lol // damit hat sich mein Grundproblem erledigt, aber eine Frage hab ich noch, nochmal zum Code:

  1. Also hier die Funktion

PS C:\Documents and Settings\userID> function get-os ($file) {
$names = get-content $file
foreach ($name in $names) {
$name
gwmi win32_operatingsystem -prop caption -comp $name
}
}

  1. Dann der Aufruf der Funktion mit der Angabe des Sourcefiles für $file

get-os C:\srvnames.txt

  1. Soweit funkt das, dann will ich eben den Inhalt in ein CSV-File exportieren

get-os C:\srvnames.txt | Select-Object Caption | export-csv C:\export.txt

  1. Aber natürlich bringt mir "Caption" allein wenig - ich sollte noch den Servernamen dazu anzeigen lassen - blos wie funkt das?

Das geht nicht:

get-os C:\srvnames.txt | Select-Object Name,Caption | export-csv C:\export.txt

Bzw. das auch nicht:

get-os C:\srvnames.txt | Select-Object $Name,Caption | export-csv C:\export.txt

Danke vielmals für die Hilfe!
Bitte warten ..
Mitglied: TsukiSan
07.07.2009 um 10:35 Uhr
Hi,

ersetze mal das KOMMA durch ein Leerzeichen:
01.
get-os C:\srvnames.txt | Select-Object Name Caption | export-csv C:\export.txt
kann jetzt auf die Schnelle nicht testen, aber in meinem Schnipsel habe ich die "Überschriften" für das CSV-File auch nicht durch Komma vom "........object Name,Patth,Company" getrennt.

Gruß
Tsuki

Ps.: ich bin jetzt aber auch blind. Du mlchtest doch anstelle "Caption" den Servernamen haben
probier mal "SET-Caption = XXXX"
ich muss wech. Sorry!
Bitte warten ..
Mitglied: TsukiSan
07.07.2009 um 10:45 Uhr
...also, noch schnell einen Kaffee
01.
 
02.
$Caption = "Servername" ' den aus der Datei holen! 
03.
get-os C:\srvnames.txt | Select-Object $Caption | export-csv C:\export.txt 
04.
 
dann müßte "Caption auch beschrieben sein.

Probier mal

Nun aber wirklich wech.
Bis später
Tsuki
Bitte warten ..
Mitglied: vcxy80
07.07.2009 um 12:31 Uhr
Hoi - hat sich bereits erledigt. Hatte zuvor Probleme hier die Lösung zu posten bzw. war schon alles richtig lag an mir - ich Vollnase hatte das falsche zeichen zum pipen verwendet (kommt davon wenn man ein ungewohntes tastaturlayout einsetzt) - also so funkt es (aber vielen Dank für Deine Unterstützung):

function get-os ($file) {
$names = get-content $file
foreach ($name in $names) {
$name
gwmi win32_OperatingSystem -prop Caption,CSName -comp $name
}
}


get-os C:\srvnames.txt | Select-Object CSName,Caption | export-csv C:\export.csv
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Powershell - Ausgabe des Codes als Text (9)

Frage von internet2107 zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell Ausgabe in Messagebox (1)

Frage von Peterz zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell - Ausgabe gruppieren - gleichzeitig Werte in anderer Spalte addieren (9)

Frage von Affkopf89 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Server-Hardware
Einem Stromausfall entgegen wirken (22)

Frage von OIOOIOOIOIIOOOIIOIIOIOOO zum Thema Server-Hardware ...

Festplatten, SSD, Raid
PC stellt nach dem Bios ab (20)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...

Windows 7
Freeware MSI Tool (13)

Frage von uridium69 zum Thema Windows 7 ...

DSL, VDSL
gelöst Ständige Störungen - Internet (12)

Frage von gamerff zum Thema DSL, VDSL ...