Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Powershell, Lokales Ergebnis und Server Ergebnis unterschiedlich

Mitglied: trillian2002

trillian2002 (Level 1) - Jetzt verbinden

24.02.2010, aktualisiert 10:05 Uhr, 6884 Aufrufe, 4 Kommentare

Hallo,

ich hoffe ihr könnt mir helfen. Ich bin so langsam echt am verzweifeln...

Zu meinem Problem:
Ich soll für meinen Ausbilder ein Powershell Skript entwerfen dass den Freien Speicherplatz auf den Serverlaufwerken berechnet und ab einer bestimmten Grenze eine Email schickt.

Nun muss ich dazu sagen das ich noch ein absoluter Powershellneuling bin, aber ich hab alles hinbekommen so wie er es wollte.

Serverlaufwerke werden ausgelesen, Ergebnis in einer HTML Datei gespeichert, und wenn die Warngrenze erreicht wurde wird das HTML File als Email verschickt.

Mein Problem ist jetzt folgendes:

Wenn ich das Skript LOKAL ausführe bekomm ich wie gewollt als letzte Spalte in der Email die Prozentangabe des freien Speichers.

Auf dem Server (Windows Server 2003) jedoch nicht!

Weiss jemand woran das liegen könnte?!?

Hier mal mein Skript:

01.
  
02.
$Empfaenger = "bla@blabla.com" 
03.
$Absender = error@blabla.com" 
04.
$WarnLimit = "15" 
05.
 
06.
function sendmail($mail) 
07.
08.
$body = get-content "d:\log.html" 
09.
$SmtpServer = "10.1.1.105" 
10.
 
11.
$SmtpClient = new-object system.net.mail.smtpClient 
12.
$MailMessage = New-Object system.net.mail.mailmessage 
13.
$SmtpClient.Host = "$SmtpServer" 
14.
$mailmessage.from = "$Absender" 
15.
$mailmessage.To.add("$Empfaenger") 
16.
$mailmessage.Subject = “Serverlaufwerk fast voll!!!” 
17.
$MailMessage.IsBodyHtml = $true 
18.
$mailmessage.Body = $body 
19.
$smtpclient.Send($mailmessage) 
20.
21.
 
22.
$a = "<style>" 
23.
$a = $a + "BODY{background-color:peachpuff;}" 
24.
$a = $a + "TABLE{border-width: 1px;border-style: solid;border-color: black;border-collapse: collapse;}" 
25.
$a = $a + "TH{border-width: 1px;padding: 5px;border-style: solid;border-color: black;background-color:thistle}" 
26.
$a = $a + "TD{border-width: 1px;padding: 5px;border-style: solid;border-color: black;background-color:PaleGoldenrod}" 
27.
$a = $a + "</style>" 
28.
 
29.
$festplatten = gwmi win32_logicaldisk -filter "drivetype=3" | select SystemName,DeviceID,VolumeName,@{Name="Size";Expression={"{0:N1}" -f ($_.Size/1gb)}},@{Name="FreeSpace";Expression={"{0:N1}" -f ($_.FreeSpace/1gb)}},@{Name="Prozent";Expression={($_.FreeSpace / $_.Size)*100}} | convertto-html -property SystemName,DeviceID,VolumeName,FreeSpace,Prozent -head $a –body "<H2>Freier Speicher</H2>" | Out-File d:\log.html 
30.
$disks = gwmi win32_logicaldisk -filter "drivetype=3" | select Size,FreeSpace 
31.
 
32.
foreach ($disk in $disks) 
33.
34.
    $FreierSpeicher = ($disk.freespace / 1GB) 
35.
    $GesamtSpeicher = ($disk.Size / 1GB) 
36.
    $FreierSpeicherProzent = (($disk.freespace / $disk.Size)*100) 
37.
	 
38.
    if ($FreierSpeicherProzent -lt $WarnLimit) 
39.
40.
    $i++  
41.
    }    
42.
43.
 
44.
if ($i -gt 0) 
45.
{  
46.
sendmail $mail 
47.
}
Mitglied: lowbyte1
24.02.2010 um 21:59 Uhr
Hi

Ist auf dem Win2003 Server die Powershell installiert ?
Sonst fällt mir da so spontan auch nichs ein.


lowbyte
Bitte warten ..
Mitglied: trillian2002
25.02.2010 um 07:08 Uhr
Ja ist sie!

Er macht ja auch alles, nur das eben die Spalte mit der Prozentangabe in der Email fehlt wenn ichs auf dem Server ausführe.

Sehr seltsam das ganze ^^

trillian2002
Bitte warten ..
Mitglied: lowbyte1
25.02.2010 um 13:38 Uhr
Hi

Bin nicht gerade der Powershell liebhaber. Doch würde das ganze mal debugen ! Also schritt für schritt ausführen und gucken was sich tut ! Ansonsten müsste ich mir das genau anschauen.
Probier mal mit debugen ... das Problem würde mich auch intressieren !



lowbyte
Bitte warten ..
Mitglied: trillian2002
25.02.2010 um 15:32 Uhr
habs gefunden...

Zeile 29

$festplatten = gwmi win32_logicaldisk -filter "drivetype=3"....

geändert in

$disks = gwmi win32_logicaldisk -filter "drivetype=3"....

dann gings (gleichzeitig hab ich das Prozentergebnis noch auf 2 Stellen nach dem Komma runden lassen)

so sieht die zeile jetzt aus, und funktioniert bestens ;)

01.
$disks = gwmi win32_logicaldisk -filter "drivetype=3" | select SystemName,DeviceID,VolumeName,@{Name="Size";Expression={"{0:N1}" -f ($_.Size/1gb)}},@{Name="FreeSpace";Expression={"{0:N1}" -f ($_.FreeSpace/1gb)}},@{Name="Prozent";Expression={[Math]::Round(($_.FreeSpace / $_.Size)*100 ,2)}} | convertto-html -property SystemName,DeviceID,VolumeName,FreeSpace,Prozent -head $a –body "<H2>Freier Speicher</H2>" | Out-File d:\log.html
danke trotzdem für eure tips
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Unterschiedliche Darstellung von stdout in Powershell und Batch

Frage von mqlmannBatch & Shell3 Kommentare

Hallo, mit Powershell3 rufe ich ein Kommandozeilentool auf, dass mir auf stdout eine Fortschritts-Info in Prozenten gibt. Das Problem ...

Batch & Shell

Powershell: Select-String erzeugt nicht das gewünschte Ergebnis

gelöst Frage von MuHMuHBatch & Shell7 Kommentare

Hallo Zusammen, ich suche schon seit zwei Tagen, komme aber leider nicht auf die Lösung. Ich würde gerne folgenden ...

Batch & Shell

PowerShell: Installation mit lokalen Adminrechten

Frage von teslajrBatch & Shell12 Kommentare

Hallo Leute Gibt es eine Möglichkeit mit Powershell remote eine Software zu installieren und dass der angemeldeter User dafür ...

Batch & Shell

Powershell: Lokaler DTC Eigenschaften setzen?

gelöst Frage von 121747Batch & Shell2 Kommentare

Guten Morgen liebe Powershell-Gurus, ich hätte da mal eine Frage. Ich möchte auf meinen Maschinen die Eigenschaften vom lokalen ...

Neue Wissensbeiträge
Windows 10

Neue Sicherheitslücke in Windows 10 (Version 1709) durch Google öffentlich geworden

Information von kgborn vor 9 StundenWindows 10

Vor ein paar Tagen haben Googles Sicherheitsforscher vom Projekt Zero eine Sicherheitslücke im Edge-Browser publiziert. Jetzt wurde eine weitere ...

iOS
IOS 11.2.6 verfügbar
Information von sabines vor 14 StundeniOS

Mit dem Update soll der Bug behoben werden, bei dem eine bestimmte Zeichenkette IOS zum Absturz gebracht hat.

Sicherheit
Sicherheitsrisiko: Die Krux mit 7-Zip
Information von kgborn vor 1 TagSicherheit8 Kommentare

Bei vielen Anwendern ist das Tool 7-Zip zum Entpacken von Archivdateien im Einsatz. Die Software ist kostenlos und steht ...

Internet

Datendealing im WWW Tracking Methoden immer brutaler

Information von sabines vor 1 TagInternet

Interessanter Artikel zum Thema Tracking im WWW und die immer "besseren" Methoden des Trackings. Professor Arvind Narayanan (Princeton-Universität) betreibt ...

Heiß diskutierte Inhalte
Router & Routing
LANCOM VPN CLIENT einrichten
Frage von Finchen961988Router & Routing27 Kommentare

Hallo, ich habe ein Problem und hoffe ihr könnt mir helfen, wir haben einen Kunden der hat einen Speedport ...

Windows Server
AD DS findet Domäne nicht, behebbar?
Frage von schapitzWindows Server25 Kommentare

Guten Tag, ich habe bei einem Kunden ein Problem mit den AD DS. Umgebung ist folgende: Windows Server 2016 ...

LAN, WAN, Wireless
VPN Cisco ASA5505 PaloAlto PA-200
gelöst Frage von YannoschLAN, WAN, Wireless22 Kommentare

Hallo zusammen, ich würde gerne ein Site-to-Site VPN zwischen den beiden Standorten aufbauen. PaloAlto PA200 Internetanschluss Deutsche Telekom GK ...

Visual Studio
Singletone Objekt in Datei speichern
gelöst Frage von it4baerVisual Studio13 Kommentare

Hallo, ist es möglich ein Singleton-Objekt zu "serialisieren" und dann in eine Datei zu speichern um es später wieder ...