Batch Batch für Exchangeserver

fLuChTzW3rG

Commander
Registriert
Juli 2003
Beiträge
2.060
Alloha,

also ich habe eine Batch zum Erstellen von Postfächern im Exchangen 2010 geschrieben. Ich lese mit einer for Schleife eine Datei mit Namen aus und erstelle mir das Command was ungefähr so aussieht: New-Mailbox -Name "bla" usw.
Mit einem echo wird der Befehlt auch korrekt ausgegeben, wenn ich jedoch das Echo wegnehme und den Befehl ausführen will geht dies nicht über die Batch und er sagt er kann die Funktion nicht finden oder sie ist nicht vorhanden. Wenn ich jetzt jedoch den Befehl so wie er im for erstellt wird, kopiere und ausführe dann geht es. Nur eben in der for-Schleife nicht. Die Datei ist eine normale .bat welche ich in der Exchange Powerschell aufrufe.

Was mache ich falsch oder was kann ich probieren?

Schöne Grüße und vielen Dank
 
for %%i IN (test.txt) Do
(
New-Mailbox -Name "%%i" -Firstname "%%~ni" Lastname "%%~xi" und weitere Parameter
)

Das war es auch schon, nen kleiner zweizeiler. Kann nachher noch den richtigen "Code" posten, bin leider grad unterwegs...
Ergänzung ()

@echo off
for /f "delims=. tokens=1-2" %%a in (test.txt) do echo New-Mailbox -Name "%%a.%%b" -OrganizationalUnit "Test" -Alias "%%a.%%b" -UserPrincipalName "%%a.%%b@Test" -FirstName "%%a" -LastName "%%b" -Password (ConvertTo-SecureString "hallo155!" -AsPlainText -Force) -ResetPasswordOnNextLogon $true

Das ist der komplette Inhalt der Datei :/
 
Exchange 2010 hat eine PowerShell-API. Ein herkömmliches Batch-File funktioniert da nicht.

Auf die Schnelle nur mal ein paar Links, die dir aber hoffentlich ein wenig weiter helfen:
Bei TechNet gibts viele Artikel zum Thema. Und im PowerShell Cookbook gibts außerdem noch viel Standard-Code (z. B. Datei lesen etc.).
 
Ich kenne Exchange nicht, daher erstmal die Frage ob "New-Mailbox" ein Kommandozeilenprogramm ist?

Wenn ja, dann ist zumindest der Ansatz mit der Batch schonmal richtig.

Wenns kein Kommandozeilentool ist, welches der Exchange Server mitbringt, dann musst du aus dem Code ein ps1 Powershell Script machen.
 
Zurück
Oben