cedwee
Goto Top

Per Skript Datei umbenennen und verschicken

Guten Tag,

Ich habe bereits ein funktionierndes Skript darin möchte ich aber noch eine Änderung vornehmen.
Bei dem Skript geht es darum Zip Datein aus einem Ordner automatisiert zu versenen und diese Datein dann in einem anderen Ordner abzulegen.
Ich möchte jetzt aber gerne auch das noch vor dem Senden der Anhang, die ZIP Datei, umbenannt wird.

Die Datei ist folgendermaßen aufgebaut:

Alarmdruck BRA_xKOORDINATEyKOORDINATE_Stichwort Adresse

Es gibt zwei mögliche Optionen die in Frage kommen.
Entweder die Koordinaten und die Unterstriche ( _ ) weg zu lassen oder alles ab dem 1. Unterstrich (inklusive Unterstrich)

Ich habe da schon was mit "Rename-Item" ausprobiert, das hat jedoch nicht geklappt. Habe da wahrscheinlich was Falsch gemacht.


Vielleicht kann mir auch jemand beim 2. Problem helfen.
Ich wollte das Script auch für freenet nutzen, allerding meckert er dann wegen dem Port. Gibt es eine Möglichkeit, das ich den Port auch händisch eintragen kann?

Script:

<#

Author     : 

	
Version    : 1.0
                 

#>
[cmdletbinding()]
Param(
    [Parameter(Position=1)]
    [string]$sourcepath="C:\Users\\Versenden\",  
    [Parameter(Position=2)]
    [string]$archivepath="C:\Users\\Versendet\",  
    [Parameter(Position=3)]
    [string]$filetype="*.zip",  
    [Parameter(Position=10)]
    [string]$SmtpServer="mail.gmx.de",  
    [Parameter(Position=17)]
	[string]$From="nameVersender@gmx.de",  
    [Parameter(Position=18)]
	[string]$To="Email Empfänger",  
    [Parameter(Position=22)]
    [switch]$SmtpAuth=$True,
    [Parameter(Position=23)]
    [string]$smtppw="Passwort",  
    [Parameter(Position=24)]
    [string]$smtpuser="Benutzername Email Account"  

)

IF ($SmtpAuth) {
  Write-Debug "Using SMTP Auth"  
  $password = ConvertTo-SecureString $smtppw -AsPlainText -Force
  $cred = New-Object System.Management.Automation.PSCredential ($smtpuser, $password)
  }


$sources = Get-ChildItem $sourcepath -Filter $filetype -Depth 0

ForEach ( $source in $sources) 
{
$file = $source.FullName

$Name = $source.Name

#Datei Namen Splitten 
$CharArray = $Name.Split("_")  

#Info Alarmnummer,Stichwort,Ort
$Info = $CharArray[2]

#Koordinaten für Alamos
$Cords = $CharArray[1]


#Datei Namen auf Alarmdruck mit Stichwort und Adresse 

 
Send-MailMessage  -To $To -From $From -Subject $Info -SmtpServer $SmtpServer -Attachments $file -body $Cords -Credential $cred -UseSsl #}


Move-Item -Path $file -Destination $archivepath
#Zufall Zahl für die Zeit festlegen 
$Zufall = Get-Random -Minimum 10 -Maximum 30
#Script schlafen lassen für Zufall Sekunden
Start-Sleep -seconds $Zufall
}



Ich hoffe mir kann vielleicht jemand helfen.

MfG

CeWe

Content-ID: 3593524862

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

Ausgedruckt am: 24.11.2024 um 01:11 Uhr

3479126418
Lösung 3479126418 09.08.2022 um 12:01:56 Uhr
Goto Top
$file = $source | move-item -Destination {"D:\Zielordner\$(($_.Basename -replace '_.*') + $_.Extension)"} -PassThru  
Send-MailMessage  -To $To -From $From -Subject $Info -SmtpServer $SmtpServer -Attachments $file.Fullname -body $Cords -Credential $cred -UseSsl
Ich wollte das Script auch für freenet nutzen, allerding meckert er dann wegen dem Port.
Send-Mailmessage ................................. -Port 587
Cedwee
Cedwee 09.08.2022 um 18:28:31 Uhr
Goto Top
Vielen Dank es funktioniert.