
77575
06.02.2010
Powersehll script per cmd aufrufen und wenn fertig beenden
Hallo,
der Titel klingt etwas verwirrend, wusste aber nicht wie ich es sonst kurz und kanpp formulieren sollte.
Jetzt zu meinem Anliegen.
ich habe eine cmd in der ich ein powershell script aufrufe um die mailbox größen unserer exchangeservers in ein logfile zuschreiben und anschließend per blat.exe an mich schicken will.
das ganze läuft als geplanter task.
das ps1 script funktioniert auch tadellos, nur wird nach abarbeitung des ps scripts nicht automatisch der rest des cmd ausgeführt.
das versenden per blat.exe funktioniert auch.
hier mein cmd und ps1 script
cmd:
mein ps script:
das ps script wird ausgeführt und bleibt dann in der powershell hängen. auch wenn ich in das ps script ein exit einbaue ändert sich nichts.
wenn ich das ganze zum testen manuell in einem cmd fenster start sehe ich das das ps script in der powershell hängen bleibt , wenn ich dann exit eingebe, springt es zurück zum cmd und verschickt das logfile mit blat.exe.
wie erreiche ich nun das ps script wenn es durch ist nicht in der shell hängen bleibt?
gruss 0101010
der Titel klingt etwas verwirrend, wusste aber nicht wie ich es sonst kurz und kanpp formulieren sollte.
Jetzt zu meinem Anliegen.
ich habe eine cmd in der ich ein powershell script aufrufe um die mailbox größen unserer exchangeservers in ein logfile zuschreiben und anschließend per blat.exe an mich schicken will.
das ganze läuft als geplanter task.
das ps1 script funktioniert auch tadellos, nur wird nach abarbeitung des ps scripts nicht automatisch der rest des cmd ausgeführt.
das versenden per blat.exe funktioniert auch.
hier mein cmd und ps1 script
cmd:
@echo off
setlocal EnableDelayedExpansion
Set eMailRCPT=ich@firma.de
set PFAD=D:\logfiles\Mailbox
set logfile=%PFAD%\%date:~-7,2%-%date:~-10,2%-%date:~-4%.log
C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe -PSConsoleFile "C:\Program Files\Microsoft\Exchange Server\bin\exshell.psc1" -noexit -command ". 'D:\test\Scripts\ExchangeMailboxSize.ps1'" >>%logfile%
"%programfiles%\Blat-Mailer\blat.exe" "%logfile%" -subject "Exchange Mailbox Groessen Log %Datum%" -to %eMailRCPT% -f admin@firma.de -server 192.168.0.200
mein ps script:
Get-MailboxStatistics -Server ExchSRV1 | Sort-Object TotalItemSize -Descending | ft DisplayName,@{label="TotalItemSize(MB)";expression={$_.TotalItemSize.Value.ToMB()}},ItemCount
Get-MailboxStatistics -Server ExchSRV2 | Sort-Object TotalItemSize -Descending | ft DisplayName,@{label="TotalItemSize(MB)";expression={$_.TotalItemSize.Value.ToMB()}},ItemCount
Get-MailboxStatistics -Server ExchSRV3 | Sort-Object TotalItemSize -Descending | ft DisplayName,@{label="TotalItemSize(MB)";expression={$_.TotalItemSize.Value.ToMB()}},ItemCount
das ps script wird ausgeführt und bleibt dann in der powershell hängen. auch wenn ich in das ps script ein exit einbaue ändert sich nichts.
wenn ich das ganze zum testen manuell in einem cmd fenster start sehe ich das das ps script in der powershell hängen bleibt , wenn ich dann exit eingebe, springt es zurück zum cmd und verschickt das logfile mit blat.exe.
wie erreiche ich nun das ps script wenn es durch ist nicht in der shell hängen bleibt?
gruss 0101010
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 135350
Url: https://administrator.de/forum/powersehll-script-per-cmd-aufrufen-und-wenn-fertig-beenden-135350.html
Ausgedruckt am: 28.04.2025 um 12:04 Uhr
3 Kommentare
Neuester Kommentar

Na wie heisst du denn jetzt 21 oder 42?
Das beschriebene Verhalten ist doch zu erwarten. Schau dir mal die Ausgabe von:
an. Tausch -noexit gegen -noninteractive und versuchs nochmal.
Gruß
LotPings
Das beschriebene Verhalten ist doch zu erwarten. Schau dir mal die Ausgabe von:
C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe /?
Gruß
LotPings