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-Key: 3593524862

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

Printed on: April 23, 2024 at 07:04 o'clock

Mitglied: 3479126418
Solution 3479126418 Aug 09, 2022 at 10:01:56 (UTC)
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
Member: Cedwee
Cedwee Aug 09, 2022 at 16:28:31 (UTC)
Goto Top
Vielen Dank es funktioniert.