dipps
Goto Top

PowerShell Script Anpassen

PowerShell Script Anpassen

Anbei mein Script Es schaut welche Dateien sich am TAg geändert haben oder Neuerstellt wurden sind und generiert eine Email.
Nun sind es auch Viele PDF DATEIEN DIE tÄGLICH DAZU KOMMEN DESHALB IST DER wUNSCH das nur noch der Letzte Ordner Angezeigt wird in dem Änderungen Vorgenommen wurden.
Sprich
UnterOrnder1\Unterordner11\Unterornder113\ zB.
Was muss ich da ändern? Bzw wie kann ich dem Such befehl sagen das er nur Ordner ausspukten soll (Mode d)

$SmtpClient  = New-Object System.Net.Mail.SmtpClient;
$MailMessage = New-Object System.Net.Mail.MailMessage;

$Path				= "D:\Ordner";  
$SmtpClient.Host		= "Server";  
$MailMessage.From		= "mail@domaine.de";  
$MailMessage.Subject		= "Änderungen";  
$SmtpClient.Credentials		= New-Object System.Net.NetworkCredential("user", "passwort");  

$MailMessage.To.Add("newmail@dom.de");  


$MailMessage.IsBodyHTML 	= $false;
$Length				= $Path.Length + 1;

$C1 = 0;
$C2 = 0;

$Temp = "Neue Dateien`n";  
Get-ChildItem -Recurse -Path  $Path | foreach {
                if ($_.CreationTime.ToShortDateString().CompareTo((Get-Date).ToShortDateString()) -eq 0) {
			$Temp += $_.FullName.Remove(0, $Length)+"`n";  
			$C1 += 1; 
                } 
              }
if ($C1 -gt 0)
{
	$Text+=$Temp;
}

$Temp = "`n`nGeänderte Dateien`n";  
Get-ChildItem -Recurse -Path $Path | foreach {
                if ($_.LastAccessTime.ToShortDateString().CompareTo((Get-Date).ToShortDateString()) -eq 0) {
			$Temp += $_.FullName.Remove(0, $Length)+"`n";  
			$C2 += 1;
                } 
              }

if ($C2 -gt 0)
{
	$Text+=$Temp;
}

if (($C1 -gt 0) -or ($C2 -gt 0))
{
	$MailMessage.Body = $text;
	Write-Host($text);
	$SmtpClient.Send($MailMessage);
}

Content-Key: 176102

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

Ausgedruckt am: 29.03.2024 um 00:03 Uhr

Mitglied: mexx
mexx 11.11.2011 um 11:15:57 Uhr
Goto Top
Ich hoffe, es geht auch anderen so, aber ich verstehe Dich nicht. Erstens möchte ich Dich bitten, im Rahmen Deiner Tätigkeit als IT-Fachkraft und im Rahmen des Qualitätserhaltes dieses Forums, Deine Anfrage grammatikalisch entsprechend Deinen Anforderungen richtig zu stellen. Groß und Kleinschreibung ist völlig durcheinander. Es gibt kein Satzanfang und Ende und wenn wir Dich verstehen sollen, beginnt es doch mindestens bei einer vernünftigen Schreibweise. Zweitens besteht Dein Wunsch in 7 Worten. "das nur noch der Letzte Ordner Angezeigt". Das verstehe ich nicht. Was hat das mit den PDF zu tun? Erkläre noch mal, warum der letzte Ordner angezeigt werden soll.
Mitglied: Dipps
Dipps 11.11.2011 um 16:58:44 Uhr
Goto Top
solche dummen komentare sind typisch für administrator.de lass es einfach sein wenn du ahnung hättest würdest du es anhand des scriptes erkennen!

Ihr könnt es Vergessen habe es unterdessen selber gelöst!
Mitglied: mexx
mexx 11.11.2011 um 17:13:19 Uhr
Goto Top
Parameter -Last mit einer schicken Pipe und einer Select oder Where Anweisung vielleicht? Ich weis sehr wohl wie Powershell funktioniert und Dein Script, aber ich wünschte, das Beitrag-Niveau würde bei solchen "Hilf mir mal schnell"-Leuten wie Dir, etwas steigen. Vielleicht gibst Du Dir das nächste mal etwas mehr Mühe und bekommst dann sogar Hilfe!
Mitglied: mrtux
mrtux 12.11.2011 um 02:11:16 Uhr
Goto Top
Hi !

Zitat von @Dipps:
solche dummen komentare sind typisch für administrator.de lass es einfach sein wenn du ahnung hättest würdest du es

Und alle Mitglieder auf Administrator.de über einen Kamm zu scheren ist absolut genauso dumm, denn damit machst Du dir ganz bestimmt keine Freunde. Du willst doch Hilfe haben? Man sieht sich immer zweimal (oder mehrmals) im Leben! Bin mal gespannt, ob Du in Zukunft hier überhaupt noch mal Antworten bekommst....

mrtux
Mitglied: mexx
mexx 14.11.2011 um 08:02:15 Uhr
Goto Top
Danke mrtux, besser hätte ich es nicht ausdrücken können.
Mitglied: Biber
Biber 14.11.2011 um 08:23:33 Uhr
Goto Top
Dem schliesse ich mich an - und werde den Beitrag in keinen anderen Bereich verschieben, sondern genau so stehen lassen.

Grüße
Biber