Zum Inhalt wechseln


Foto

Befehl im Script mit Variable auf einer csv Datei


  • Bitte melde dich an um zu Antworten
11 Antworten in diesem Thema

#1 DrHigh

DrHigh

    Newbie

  • 10 Beiträge

 

Geschrieben 27. Januar 2017 - 11:49

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, 27. Januar 2017 - 11:54.


#2 testperson

testperson

    Board Veteran

  • 3.873 Beiträge

 

Geschrieben 27. Januar 2017 - 12:00

Bleib doch in einem Thread: http://www.mcseboard...ern-per-script/


Good morning, that's a nice TNETENNBA!

#3 DrHigh

DrHigh

    Newbie

  • 10 Beiträge

 

Geschrieben 27. Januar 2017 - 12:04

Bleib doch in einem Thread: http://www.mcseboard...ern-per-script/

 

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, 27. Januar 2017 - 12:05.


#4 MurdocX

MurdocX

    Member

  • 265 Beiträge

 

Geschrieben 27. Januar 2017 - 12:22

Du könntest dir den Befehl

 

"Import-CSV"

https://technet.micr...ror=-2147217396

 

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


MCSA


#5 testperson

testperson

    Board Veteran

  • 3.873 Beiträge

 

Geschrieben 27. Januar 2017 - 12:25

BTW. dürfte der Export auf e$ Probleme machen, da "Exchange Trusted Subsystem" AFAIK keine Berechtigungen darauf hat.


Good morning, that's a nice TNETENNBA!

#6 NorbertFe

NorbertFe

    Expert Member

  • 29.495 Beiträge

 

Geschrieben 27. Januar 2017 - 13:09

Wenns der Exchange oder fsw ist schon ;)

Make something i***-proof and they will build a better i***.


#7 DrHigh

DrHigh

    Newbie

  • 10 Beiträge

 

Geschrieben 30. Januar 2017 - 05:51

Du könntest dir den Befehl

 

"Import-CSV"

https://technet.micr...ror=-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



#8 MurdocX

MurdocX

    Member

  • 265 Beiträge

 

Geschrieben 30. Januar 2017 - 09:15

Über Google hättest du sicher was gutes gefunden  ;)

 

Schau mal hier, dort gibts einige schöne Beispiele:

 

PowerShell ForEach und ForEach-Object

http://www.admin-sou...-foreach-object


MCSA


#9 DrHigh

DrHigh

    Newbie

  • 10 Beiträge

 

Geschrieben 01. Februar 2017 - 05:43

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



#10 Dukel

Dukel

    Board Veteran

  • 8.939 Beiträge

 

Geschrieben 01. Februar 2017 - 07:16

$($row.User) beim Filepath.


Stop making stupid people famous.


#11 DrHigh

DrHigh

    Newbie

  • 10 Beiträge

 

Geschrieben 01. Februar 2017 - 14:56

$($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.



#12 tesso

tesso

    Board Veteran

  • 2.128 Beiträge

 

Geschrieben 01. Februar 2017 - 15:16

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.