Normales Thema Script "Windows Serverbereinigung"; SMTP-Anmeldedaten (Gelesen: 4712 mal)
Ali@s
WSUS Junior Member
*
Offline


I love WSUS

Beiträge: 30
Standort: 37412 Herzberg am Harz
Mitglied seit: 10.01.06
Geschlecht: männlich
Script "Windows Serverbereinigung"; SMTP-Anmeldedaten
14.06.16 um 13:11:38
Beitrag drucken  
Hallo zusammen,
ich nutze schon seit geraumer Zeit das Script für die WSUS-Serverbereinigung. Nun hat sich aber der SMTP-Server geändert. Wie und wo kann ich in dem Script die notwendigen Anmeldedaten für den SMTP-Server angeben? Kann mir da jemand helfen? Vielen Dank im Voraus,

Frank
  
Zum Seitenanfang
 
Sunny
Microsoft MVP
*****
Offline



Beiträge: 15134
Mitglied seit: 11.02.07
Geschlecht: männlich
Re: Script "Windows Serverbereinigung"; SMTP-Anmeldedaten
Antwort #1 - 26.06.16 um 11:08:23
Beitrag drucken  
Welches Script genau hast Du denn im Einsatz? Am besten postest Du den Inhalt deines Scriptes in einem Code-Tag hier, dann sieht man weiter.
  
Zum Seitenanfang
 
Ali@s
WSUS Junior Member
*
Offline


I love WSUS

Beiträge: 30
Standort: 37412 Herzberg am Harz
Mitglied seit: 10.01.06
Geschlecht: männlich
Re: Script "Windows Serverbereinigung"; SMTP-Anmeldedaten
Antwort #2 - 27.06.16 um 08:17:54
Beitrag drucken  
Hallo Sunny,

hier mal das verwendete Script:

Code
# WSUS Connection Parameters:
[String]$WSUSServer = "WSUS-Server"
[Boolean]$useSecureConnection = $False
[Int32]$portNumber = 8530
[String]$LogFile = "C:\WSUS\MeinLogfile.txt" #Beispiel!
[String]$SMTPServer = "SMTP-IP"


# Windows PowerShell example to check 'If File Exists'
$FileExists = Test-Path $LogFile
If ($FileExists -eq $True) {
#Alte Logdatei vorsichtshalber löschen.
Remove-Item $LogFile
}

# Cleanup Parameters:
# Decline updates that have not been approved for 30 days or more, are not currently needed by any clients, and are superseded by an aproved update.
[Boolean]$supersededUpdates = $True
# Decline updates that aren't approved and have been expired my Microsoft.
[Boolean]$expiredUpdates = $True
# Delete updates that are expired and have not been approved for 30 days or more.
[Boolean]$obsoleteUpdates = $True
# Delete older update revisions that have not been approved for 30 days or more.
[Boolean]$compressUpdates = $True
# Delete computers that have not contacted the server in 30 days or more.
[Boolean]$obsoleteComputers = $False
# Delete update files that aren't needed by updates or downstream servers.
[Boolean]$unneededContentFiles = $True

#EndRegion VARIABLES

#Region SCRIPT

# Load .NET assembly
[void][reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration");

# Connect to WSUS Server
$wsusParent = [Microsoft.UpdateServices.Administration.AdminProxy]::getUpdateServer($WSUSServer,$useSecureConnection,$portNumber);

# Log the date first
date | out-file -filepath $LogFile -append -noClobber;

# Perform Cleanup
$WSUSServer | out-file -filepath $LogFile -append -noClobber;
$CleanupManager = $wsusParent.GetCleanupManager();
$CleanupScope = New-Object Microsoft.UpdateServices.Administration.CleanupScope($supersededUpdates,$expiredUpdates,$obsoleteUpdates,$compressUpdates,$obsoleteComputers,$unneededContentFiles);
$CleanupManager.PerformCleanup($CleanupScope) | out-file -filepath $LogFile -append -noClobber;
#EndRegion SCRIPT

# Der nachfolgende Teil ist von hier kopiert: http://gallery.technet.microsoft.com/scriptcenter/90ca6976-d441-4a10-89b0-30a7103d55db#content
# Mail the report...
$message = new-object Net.Mail.MailMessage
$mailer = new-object Net.Mail.SmtpClient($SMTPServer)

$message.From = "WSUS-E-Mail"
$message.To.Add("Empfänger-E-Mail")
$MeinText = "WSUS - Server CleanUp Bericht " + $WSUSServer
$message.Subject = $MeinText
$message.Body = [string]::join([environment]::NewLine, (get-content $logfile))
$mailer.Send($message)

#Logdatei löschen.
Remove-Item $LogFile 

  
Zum Seitenanfang
 
Sunny
Microsoft MVP
*****
Offline



Beiträge: 15134
Mitglied seit: 11.02.07
Geschlecht: männlich
Re: Script "Windows Serverbereinigung"; SMTP-Anmeldedaten
Antwort #3 - 27.06.16 um 13:26:05
Beitrag drucken  
Ah OK, ich verstehe. In blog.stefanrehwald.de/2013/06/04/powershell-07-e-mail-versenden-mitohne-dateianh
ang-authentifizierung/ findest Du ein Beispielscript zum Einbinden von Usernamen und PW. Notfalls Stück für Stück probieren und erst dann den wichtigen Teil mit übernehmen.
  
Zum Seitenanfang
 
Ali@s
WSUS Junior Member
*
Offline


I love WSUS

Beiträge: 30
Standort: 37412 Herzberg am Harz
Mitglied seit: 10.01.06
Geschlecht: männlich
Re: Script "Windows Serverbereinigung"; SMTP-Anmeldedaten
Antwort #4 - 27.06.16 um 14:12:17
Beitrag drucken  
Vielen Dank Sunny.
Ich werde das die Tage mal testen und melde mich.
  
Zum Seitenanfang
 
Sunny
Microsoft MVP
*****
Offline



Beiträge: 15134
Mitglied seit: 11.02.07
Geschlecht: männlich
Re: Script "Windows Serverbereinigung"; SMTP-Anmeldedaten
Antwort #5 - 30.06.16 um 08:32:00
Beitrag drucken  
Bist Du schon zum Test gekommen?
  
Zum Seitenanfang
 
Ali@s
WSUS Junior Member
*
Offline


I love WSUS

Beiträge: 30
Standort: 37412 Herzberg am Harz
Mitglied seit: 10.01.06
Geschlecht: männlich
Re: Script "Windows Serverbereinigung"; SMTP-Anmeldedaten
Antwort #6 - 30.06.16 um 15:54:12
Beitrag drucken  
Hallo Sunny,
ich bin nebenbei noch am Basteln mit verschiedenen Beispielscripten aus dem Netz. Von deinem Tipp verlinkt.
Leider hat bis jetzt keines zum gewünschten Ergebnis bis auf Fehlermeldungen geführt.
Werde mich leider erst nächste Woche wieder verstärkt drum kümmern können und berichte.

Gruß
Frank
  
Zum Seitenanfang
 
Sunny
Microsoft MVP
*****
Offline



Beiträge: 15134
Mitglied seit: 11.02.07
Geschlecht: männlich
Re: Script "Windows Serverbereinigung"; SMTP-Anmeldedaten
Antwort #7 - 30.06.16 um 16:09:07
Beitrag drucken  
Was ist daran so schwierig? Weshalb kommen Fehlermeldungen?

Aus dem o.g. Blog hier das richtige Beispiel:

Code (SQL)
$smtp = New-Object System.Net.Mail.SmtpClient
$MailMessage = New-Object system.net.mail.mailmessage
$attfile = "C:\Users\stefan.rehwald\Desktop\homehoffice_arbeit.docx"
$attatchment = New-Object System.Net.Mail.Attachment($attfile)
$smtp.Host = "mail.gmx.net" #DNS oder IP
$MailMessage.From = "stefan.rehwald@gmx.de"
$MailMessage.To.Add("stefan.rehwald@stefanrehwald.de")
$MailMessage.Subject = "PowerShell Email with attatchemnt"
$MailMessage.Body ="This is a email from powershell with attatchments"
$MailMessage.IsBodyHtml = $false
$MailMessage.Attachments.Add($attatchment)
#Auth
$SmtpUser = New-Object System.Net.NetworkCredential
$SmtpUser.UserName = "stefan.rehwald@gmx.de"
$SmtpUser.Password = "********************"
$smtp.Credentials = $SmtpUser
$smtp.Send($MailMessage)
 



Ersetze C:\Users\stefan.rehwald\Desktop\homehoffice_arbeit.docx durch ein Testdokument oder eine Textdatei.

Testest Du das in der Powershell ISE? Wenn ja, dort kannst Du sog. Haltepunkte setzen und mit F11 zeilenweise durch den Code laufen und auch durch draufzeigen mit der Maus die Inhalte der Variablen lesen.

Aber ein unverschlüsseltes PW in einer PS-Datei ist ganz schlecht, weshalb geht es denn nicht mehr so wie bisher?
  
Zum Seitenanfang
 
Bookmarks: Facebook Google Google+ Linked in Twitter Yahoo
 



Nutzungsbedingungen | Datenschutz
Kontakt | RSS | Feedback | Impressum
Facebook | News einsenden