Jump to content
Melde dich an, um diesen Inhalt zu abonnieren  
DrHigh

Befehl im Script mit Variable auf einer csv Datei

Empfohlene Beiträge

Hallo zusammen,

 

versuche gerade eine Batch oder ein script zu schreiben,

wo ich werte aus eine csv Datei hoeln möcht und diese dann als Variable im Befehl verwenden möchte.

 

Hintergrund:

Möchte gerne Exchange Postfächer in PST Dateien exportieren.

In der CSV Datei gibt es nur eine Spalte mit den entsprechenden Namen.

 

Nun mein Vorhaben:

 

Script soll aus der csv Datei Spalte 1 Zeile 1 den ersten Namen auslesen und deiner Variablen ("UserName") zuweisen.

Im Anschluss soll dann der nachfolgende Befehl ausgeführt werden.

 

New-MailboxExportRequest -Mailbox UserName -FilePath \\Servername\e$\UserName_YYYY_MM_DD.pst

Dies soll solange geschehen, bis die komplette csv Datei ausgelesen worden ist.

 

Danke im Voraus.

Schöne Grüße

Sascha

bearbeitet von DrHigh

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

 

Danke für den Hinweis,

aber laut Boardregeln, gehört dieser Thread ja hier rein und nicht unter Exchange.

Daher habe ich hier auch noch mal ein Thread geöffnet.

Hast Du denn schon mal so ein Script geschrieben Board Veteran oder weiß Du wo ich sowas änliches bekommen kann?

 

Danke im Voraus.

bearbeitet von DrHigh

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Du könntest dir den Befehl

 

"Import-CSV"

https://technet.microsoft.com/de-de/library/ee176874.aspx?f=255&MSPPError=-2147217396

 

genauer ansehen. Dann mit ForEach-Object oder einer ForEach - Schleife die Daten verarbeiten. 

Danke für den Tipp,

aber ich weiss nicht ganz recht, wie ich den ForEach-Object Befehl verwenden muss.

Kannst Du da eventuell ein Beispiel bringen?

 

Danke im Voraus.

 

Gruß

Sascha

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Eine kleine Lösung habe ich schon,

$dataset =Import-Csv("C:\test.csv")foreach($row in $dataset){New-MailboxExportRequest-Mailbox $row.User -FilePath \\Servername\e$\$row.User _YYYY_MM_DD.pst}

Aber jetzt wird mir der Dateiname mit diesen zusätzlichen Zeichen '@{User= }.User' versehen.

Vielleicht hat ja jemand noch einen Tipp.

 

Schöne Grüße

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

$($row.User) beim Filepath.

Schade, hat nicht den gewollten Erfolg gebracht, die unnötigen Zeichen die auch nicht in der CSV vorhanden, werden wie von geisterhand munter weiter dargestellt und im Dateinamen verwendet.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Ein paar mehr Informationen darfst du schon bringen.

 

Was steht in der csv und wie genau sieht der Dateiname nun aus?


Schade, hat nicht den gewollten Erfolg gebracht, die unnötigen Zeichen die auch nicht in der CSV vorhanden, werden wie von geisterhand munter weiter dargestellt und im Dateinamen verwendet.

Doch so funktioniert es

$dataset =Import-Csv("C:\temp\test.csv")
foreach($row in $dataset){Write-Host $row.User  \\Servername\e$\$($row.User) _YYYY_MM_DD.pst}

Das Leerzeichen im Namen irritiert mich allerdings etwas.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte überlege Dir, ob es nicht sinnvoller ist ein neues Thema zu erstellen.

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
Melde dich an, um diesen Inhalt zu abonnieren  

×