Monatliches Archiv:Oktober 2014

Computername kann nicht verändert werden

Beschreibung

Der Computername ist richtig, aber es kommt die Fehlermeldung

„Bei dem Versuch den Computernamen in „meinPC“ zu ändern, ist der folgende Fehler aufgetreten:
Das Konto existiert bereits.“

Windows 7 change computername and domain/group

Ursache

Der Domänen-Controller kennt den Computer. Es gibt einen entsprechenden Eintrag in der Active Directory.

Lösung

Durch das Löschen des Eintrags in der Active Directory kann der Computer den entsprechenden Namen wieder annehmen und der Eintrag wird im AD neu generiert.

Herunterfahren mit offenen Fenstern

Beschreibung

(Beim Herunterfahren von Windows offene Fenster speichern, bzw. bei einem erneuten Start wieder aufrufen).

Lösung

Mithilfe des CMD-Befehls

shutdown –h

kann der Computer heruntergefahren werden und alle offenen Fenster werden gespeichert. Windows wird hiermit aber sozusagen im Betrieb angehalten und bei Herauffahren, zeigt das Betriebssystem „Windows wird fortgesetzt“ an.

Quelle

Get-Counter in Variable

Damit verschiedene Werte von Get-Counter in eine Variable gepackt werden können, müssen diese isoliert werden.

$a = (Get-Counter „\\meinserver\Memory\Available MBytes“).CounterSamples.CookedValue;
Write-Host $a


Quelle

E-Mails versenden

Um E-Mails zu versenden, kann man dies natürlich als Funktion aufrufen. Damit die Parameter richtig übergeben werden, muss der Befehl richtig formatiert werden, wie es das nachfolgende Beispiel ist:

sendmail “$computer_name@test.com” “john.doe@test.com” “Server-Neustart” “Der Server $computer_name wurde neu gestaret.”;

Alternativ dazu kann man es natürlich auch im Script direkt mit

$sender = „john.doe@test.com“
$receiver = „john.doe@test.com“
$subject = „Test“
$body = „Meine spitzenklasse E-Mail.“

aufrufen. Der SMTP-Server sollte direkt im Skript definiert werden, da sich dieser für gewöhnlich nur sehr selten verändert, aber dies liegt im eigenen ermessen.

$global:SMTP_Server = „meinmailserver“

Was auf jeden Fall in der Funktion stehen muss, ist der nachfolgende Code. Dieser ist das Kernstück und versendet die E-Mail wirklich, auf Wunsch auch mit einem Anhang.

$SmtpClient = new-object system.net.mail.smtpClient
$MailMessage = New-Object system.net.mail.mailmessage
$SmtpClient.Host = $global:SMTP_Server
$mailmessage.from = $sender
$mailmessage.To.add($receiver)
$mailmessage.Subject = $subject
$MailMessage.IsBodyHtml = $true
$mailmessage.Body = $body
$smtpclient.Send($mailmessage)


Quelle

Dateien kopieren

Der folgende Befehl kopiert alle Unterordner und -dateien eines Ordners an den gewünschten Pfad.

Copy-Item [SOURCE] [DESTINATION] -recurse

Der Aufruf innerhalb der Powershell könnte dann z.B. so aussehen:

Copy-Item c:\scripts c:\test -recurse

Allerdings möchte ich noch darauf hinweisen, dass die Pfade ein Leerzeichen enthalten können z.B. „C:\Program Files“. Das wird dann durch Anführungszeichen geregelt. Nachfolgend nochmal ein Beispiel:

Copy-Item „C:\Program Files“ „c:\test der zweite“ -recurse

Der Parameter „recurse“ heißt, dass bei einer Angabe eines Ordners nicht nur der Ordner, sondern auch alle Unterordner mitsamt Dateien kopiert werden.


Quelle
http://technet.microsoft.com/de-de/library/hh849793%28v=wps.620%29.aspx