Benutzer mit den meisten Antworten
Powershell Logging

Frage
-
Hallo
ich möchte gerne ein Log erstellen, welche Daten verarbeitet wurden.
wo und wie müsste ich das einbauen - vor der letzten Klammer?
und anscheinend ist der Import in einem anderen Format. Da der Import funktioniert, möchte ich hier das Encoding nicht ändern. Bei out-file gibt es keine -Encoding Property?$import = import-csv \\server\data\Dir.txt $import | foreach{Set-AdUser -Identity $_.UserID -replace @{extensionAttribute1 = $_.ScanDir} | out-file $_.UserID -append c:\temp\x.log}
Error:
ut-File : Cannot validate argument on parameter 'Encoding'. The argument "c:\temp\x.log" does not belong to the set
"unknown,string,unicode,bigendianunicode,utf8,utf7,utf32,ascii,default,oem" specified by the ValidateSet attribute. Supply an argument that is in the set and then try the command again
Chris
- Bearbeitet -- Chris -- Mittwoch, 7. Dezember 2016 14:37
Antworten
-
Hallo,
den Parameter -encoding kennt out-file schon du musst dahinter aber auch einen Encoding Typ angeben z.b: ascii, uft32 usw. Laut der Fehlermeldung ist das nicht passiert, deshalb hat er den Dateinamen als Typ genommen ...
Beste Gruesse
brima- Bearbeitet brima Mittwoch, 7. Dezember 2016 14:54
- Als Antwort markiert Denniver ReiningMVP, Moderator Samstag, 10. Dezember 2016 02:18
-
> stimmt der Aufbau für logging - also innerhalb der foreach schleife? Dann müsste ja $_.UserID >>test.log auch gehen. Im Log sollte jeder Set-ADUser drinnen stehtDer Aufruf ist so nicht möglich - Out-File akzeptiert das, was Du in die Datei schreiben willst, nur per Pipeline, da gibt es keinen Parameter dafür :-))So sollte es klappen:$import | foreach{Set-AdUser -Identity $_.UserID -replace @{extensionAttribute1 = $_.ScanDir}$_.UserID | Out-file c:\temp\x.log -append}> Martin@ "sind positional..." heißt was auf deutsch? Man darf nicht beide gemeinsam verwenden.Reihenfolge... Parameter ohne Namen werden in ihrer angegebenen Reihenfolge "einsortiert". Der erste landet in FilePath, der zweite in Encoding. Da Append nur ein Switch ist, landet Dein Dateiname im Encoding.
- Als Antwort markiert -- Chris -- Mittwoch, 7. Dezember 2016 16:59
Alle Antworten
-
Hallo,
den Parameter -encoding kennt out-file schon du musst dahinter aber auch einen Encoding Typ angeben z.b: ascii, uft32 usw. Laut der Fehlermeldung ist das nicht passiert, deshalb hat er den Dateinamen als Typ genommen ...
Beste Gruesse
brima- Bearbeitet brima Mittwoch, 7. Dezember 2016 14:54
- Als Antwort markiert Denniver ReiningMVP, Moderator Samstag, 10. Dezember 2016 02:18
-
> $import | foreach{Set-AdUser -Identity $_.UserID -replace @{extensionAttribute1 = $_.ScanDir} | out-file $_.UserID -append c:\temp\x.log}Falscher Aufruf...Out-File [-FilePath] <String> [[-Encoding] <String>] [-Append ] [-Confirm ] [-Force ] [-InputObject <PSObject>] [-NoClobber ] [-NoNewline ] [-WhatIf ] [-Width <Int32>] [<Allgemeine Parameter>]FilePath und Encoding sind positional, deshalb landet Dein Dateiname im -Encoding.
-
das Property -Encoding wurde in der ISE gar nicht angeboten.
stimmt der Aufbau für logging - also innerhalb der foreach schleife? Dann müsste ja $_.UserID >>test.log auch gehen. Im Log sollte jeder Set-ADUser drinnen steht
Martin@ "sind positional..." heißt was auf deutsch? Man darf nicht beide gemeinsam verwenden.
Chris
-
> stimmt der Aufbau für logging - also innerhalb der foreach schleife? Dann müsste ja $_.UserID >>test.log auch gehen. Im Log sollte jeder Set-ADUser drinnen stehtDer Aufruf ist so nicht möglich - Out-File akzeptiert das, was Du in die Datei schreiben willst, nur per Pipeline, da gibt es keinen Parameter dafür :-))So sollte es klappen:$import | foreach{Set-AdUser -Identity $_.UserID -replace @{extensionAttribute1 = $_.ScanDir}$_.UserID | Out-file c:\temp\x.log -append}> Martin@ "sind positional..." heißt was auf deutsch? Man darf nicht beide gemeinsam verwenden.Reihenfolge... Parameter ohne Namen werden in ihrer angegebenen Reihenfolge "einsortiert". Der erste landet in FilePath, der zweite in Encoding. Da Append nur ein Switch ist, landet Dein Dateiname im Encoding.
- Als Antwort markiert -- Chris -- Mittwoch, 7. Dezember 2016 16:59