nagus
Goto Top

Ausgabe PS in einem Batch

Moin,

habe folgendes Problem:
Ich prüfe eine SAMID Liste gegen die Domäne und möchte den Display Namen als Ergebnis haben.
Das funktioniert soweit auch ganz fein mit dem folgenden Script:
for /F "tokens=* " %%i in (%userliste%) do dsquery user -samid %%i | dsget user -samid -display >>%~dp0check_liste.txt  

als Ergebnis erhalte ich folgende Ausgabe:
samid    display               
  XXX     Steven Hawkings  
dsget war erfolgreich

was ich jedoch haben möchte ist nur
  XXX     Steven Hawkings  

Ich weiß dass ich alles mit einer nachfolgenden For Schleife filtern kann , meine Frage wäre jedoch ob ich das nicht gleich bei der Ausgabe erledigen kann.

Wenn ich versucht habe die Ausgabe direkt über die PS zu steuern habe ich immer einen Fehler erhalten. Sowohl mit TEE als auch mit out-file. Wobei die Ausgabe mit TEE ja identisch zur Pipe ist.

Schon mal ein sonniges Wochenende!
Nagus

Content-Key: 434145

Url: https://administrator.de/contentid/434145

Printed on: April 26, 2024 at 18:04 o'clock

Member: erikro
erikro Mar 29, 2019 at 14:49:21 (UTC)
Goto Top
Moin,

Mit der Powershell:

foreach($user in $userlist) {

    get-aduser $user -Properties displayname | select Samaccountname, displayname | format-table -hidetableheaders | out-file datei.txt -append -encoding UTF8

}

hth

Erik
Member: rubberman
Solution rubberman Mar 29, 2019 at 14:52:19 (UTC)
Goto Top
Also, wenn du sowieso mit Batch arbeiten willst, dann Fackel das doch mit einem FINDST Aufruf ab. Ungefähr so:
(
  for /F "tokens=*" %%i in (%userliste%) do @dsquery user -samid %%i|dsget user -samid -display  
)|findstr /vb "samid\> dsget\>">"%~dp0check_liste.txt"  
Steffen
Member: Nagus
Nagus Mar 29, 2019 at 15:27:02 (UTC)
Goto Top
Hey Danke, schon mal

@rubberman
Okay - muss ich mir am Montag mal in Ruhe ansehen.
Gebe dann laut face-smile

@erikro
pur Powershell bin ich noch nicht so fit. Werde ich mir aber auch mal zu Gemüte führen face-wink
Member: Pjordorf
Pjordorf Mar 29, 2019 at 15:38:25 (UTC)
Goto Top
Hallo,

Zitat von @Nagus:
pur Powershell bin ich noch nicht so fit. Werde ich mir aber auch mal zu Gemüte führen face-wink
Das ist pur BATCH, nix Powershell...

Gruß,
Peter
Member: rubberman
rubberman Mar 29, 2019 at 16:33:24 (UTC)
Goto Top
Das ist pur BATCH, nix Powershell...
Nope. Das bezog sich nicht auf meinen Code.

Steffen
Mitglied: 138810
Solution 138810 Mar 29, 2019 updated at 18:11:51 (UTC)
Goto Top
Ausgabe PS in einem Batch
@echo off
Powershell -Executionpolicy ByPass -Command "(gc 'd:\userliste.txt') | %%{get-aduser $_ -Properties DisplayName | ft -hidetableheaders -AutoSize}"