Kalenderfreigabe via Exchange Management Shell

Kai Exchange Leave a Comment

Um Kalenderfreigaben von z.B. Allgemeinen Postfächern durchzuführen, kann man das via Powershell tun.

add-MailboxFolderPermission -Identity user@domain:\Calendar -User NeuerUser@Domain -AccessRights Owner

 

Um die Berechtigung wieder zu entfernen lautet der Befehl:

remove-MailboxFolderPermission -Identity user@domain:\Calendar -User NeuerUser@Domain

 

Sollte es ein Deutsches Postfach sein muss Calendar durch Kalender ersteht werden.

also

add-MailboxFolderPermission -Identity user@domain:\Kalender-User NeuerUser@Domain -AccessRights Owner

remove-MailboxFolderPermission -Identity user@domain:\Kalender-User NeuerUser@Domain

 

Windows Updates werden gesucht… und gesucht…

Kai Allgemein Leave a Comment

Seit dem Release von Windows 10 dauern Windows Updates auf Client Betriebsysteme gefühlte Ewigkeiten.

Windows Update

Auf Windows Servern werden 2GB Updates in 15min installiert, während man bei Clients in den 15min noch nichtmal die Update Auswahl sieht.

Abhilfe schafft hier ein einzelnes Windows Update KB3112343, welches die Datei wuaueng.dll (%SYSTEMROOT%\wuaueng.dll) auf Version 7.6.7601.19016 hebt.

Detaillierte Infos gibt es direkt bei Microsoft

Das Update sollte direkt nach dem Windows Start installiert werden.

Für Windows 7 x64: [wpdm_package id=’79‘]

Für Windows 7 x86: –Download–

Nach der Installation bitte einen Neustart durchführen.

Inaktive User und Computer in Active Directory finden, verschieben und sperren

Kai Active Directory, Windows Server Leave a Comment

Hier ein kleines PowerShell Script um User und Computer Objekte in einem Active Directory zu suchen, verschieben und sperren.

#Wielange inaktiv in Tagen?
$daysinactive = 30

#Wo die User Suchen?
$userbase = "ou=Benutzer,dc=intra,dc=musterfirma,dc=tld"

#Wohin die User verschieben?
$userto = "OU=_Inaktiv,dc=intra,dc=musterfirma,dc=tld"

#Wo Clients suchen?
$clientbase = "OU=_Clients,dc=intra,dc=musterfirma,dc=tld"

#Wohin die Clients verschieben?
$clientto = "OU=_Deaktiviert_Clients,DC=intra,DC=musterfirma,DC=tld"

#MailServer
$smtpServer = "exchange.musterfirma.tld"

#Absender?
$smtpFrom = "admin@musterfirma.tld"

#Empfaenger?
$smtpTo = "admin@musterfirma.tld"

#E-Mail Betreff setzen
$messageSubject = "Deaktivierte Objekte"

#TXT File welches per E-Mail versendet wird
$helpfile = "c:\temp\deaktiviert.txt"

#--------------AB HIER NICHTS MEHR AENDERN-------------

#Zeitspanne setzen
$timespan = New-Timespan –Days $daysinactive
echo "---------------------------------------------------------USER---------------------------------------------------------" > $helpfile
#---------------------------------------------------------USER---------------------------------------------------------
#Suche alle AD User die X Tage nicht angemeldet waren in $userbase. Weitere Werte laden - Name, Abteilung, DN -> In Text Datei
Search-ADAccount –UsersOnly –AccountInactive -TimeSpan $timespan -SearchBase $userbase | Get-ADuser -Properties Department,Title | Select Name,Department,DistinguishedName >> $helpfile
#Verschiebe diese Nutzer in $userto
Search-ADAccount –UsersOnly –AccountInactive -TimeSpan $timespan -SearchBase $userbase | Move-ADObject -TargetPath $userto
#Deativiere alles in der OU Inaktiv,_ehemalige_Mitarbeiter
Search-ADAccount –UsersOnly –AccountInactive -TimeSpan $timespan -SearchBase $userto | Disable-ADAccount
#---------------------------------------------------------USER-----------------------------------------------------
echo "---------------------------------------------------------CLIENTS---------------------------------------------------------" >> $helpfile
#---------------------------------------------------------CLIENTS-----------------------------------------------------
#Suche alle AD Computer die X Tage nicht angemeldet waren in $clientbase. Weitere Werte laden - OS, Version, DC -> In Text Datei
Search-ADAccount -ComputersOnly -AccountInactive -TimeSpan $timespan -SearchBase $clientbase | Get-ADComputer -Property name,operatingSystemVersion,operatingSystem | Select Name,operatingSystem,DistinguishedName >> $helpfile
#Verschoene alle AD Computer die X Tage nicht angemeldet waren in $clientto
Search-ADAccount -ComputersOnly -AccountInactive -TimeSpan $timespan -SearchBase $clientbase | Move-ADObject -TargetPath $clientto
#Deaktiviere alles ind er OU $clientto
Search-ADAccount -ComputersOnly -AccountInactive -TimeSpan $timespan -SearchBase $clientto | Disable-ADAccount
#---------------------------------------------------------CLIENTS-----------------------------------------------------

#Sende Mail-------->

#E-Mail Body leeren
[string]$messagebody = ""
$logs = Get-Content $helpfile
#Nach jedem eintrag einen Zeilenumbruch
foreach ($log in $logs)
{
$messagebody = $messagebody + $log + "`r`n"
}
#Mail an SMTP Server senden
$smtp = New-Object Net.Mail.SmtpClient($smtpServer)
$smtp.Send($smtpFrom,$smtpTo,$messagesubject,$messagebody)
#Ende Mail<-----------

#Textdateien entfernen.
Remove-Item $helpfile

 

Der Zielprinzipialname ist falsch

Kai Active Directory, Windows Server Leave a Comment

Dieser Fehler wird ausgegeben wenn die Replikationen mehrerer Domain Controller eine längere Zeit nicht funktioniert haben.

Um diesen Fehler zu beheben gehen wir folgendermasen vor:

auf einem Domain Controller

netdom query fsmo
ausführen.

netdomfsmo

Wir brauchen hier den aktuellen PDC (hier SRV-SBS)

Auf allen anderen Domain Controllern müssen wir den Dienst „Kerberos-Schlüssungsverteilungscenter“ Stoppen und auf „deaktiviert“

KDC_Dienst

Nun muss der Server neu gestartet werden.

Nachdem neustart können wir das „Gerätekennwort“ des Fehlerhaften DCs am PDC zurücksetzen.

An dem Fehlerhaften DC führen wir folgenden Befehl aus:

CMD / Powershell unbedingt als Admin Starten, ansonsten bekommen wir ein Zugriff Verweigert zurück

netdom resetpwd /server:<PDC> /userd:<DomainAdmin> /passwordd:<DomainAdminPassword>

Als Antwort erhalten wir

resetpwdok

Jetzt starten wir den Server erneut neu.

Nach dem Neustart stellen wir den Dienst „Kerberos-Schlüssungsverteilungscenter“ wieder auf Automatisch und starten Ihn.

Nun sollten alle Replikationen wieder funktionieren.

MVRP – Vlan auf mehrere Switches Replizieren

Kai Alcatel Lucent OmniSwitch Leave a Comment

Jeder sollte es kennen, ein neues VLAN ohne MVRP und erstmal tippt man auf allen Switches erstmal immer das selbe.

Alternativ gibt es hier auch MVRP, es steht für Multiple VLAN Registration Protokol.

Es repliziert alle VLANS eines Switches über einen angegebene Port bzw. mehrere angegebene Ports auf einen anderen Switch. Somit entfällt das lästige getippe auf x Switches im Unternehmen.

Der bridge mode muss hier zwingend auf flat stehen, ansonsten funktioniert es nicht.

Unter AOS6 funktioniert das wie folgt.

bridge mode flat

Danach können wir MVRP aktivieren mit

mvrp enable

Nun geben wir den Port an, über den wir die VLANs replizieren. (hier Port 1/26)

mvrp port 1/26 enable

Der Befehlssyntax bei V8 sieht etwas anders aus.

Das muss auf beiden / allen Switches durchgeführt werden.
Wenn jetzt ein VLAN auf einer Seite angelegt und einem Port zugewiesen wird, taucht es automatisch auf allen mvrp aktivierten Switches auf. Man kann erkennen, dass unter show vlan – type mvrp angegeben wird.
Wird das VLAN auf dem „Master“ gelöscht, verschwindet es auch auf allen anderen.

mvrp

Beispielkonfig:

Switch 1

bridge mode flat
mvrp enable
mvrp port 1/26
vlan 2 name TestMVRP
vlan 2 802.1q 1/26

Switch 2:

bridge mode flat
mvrp enable
mvrp port 1/26

Ab jetzt, werden alle VLANs die auf dem Master angelegt werden, auf die aktivierten Switches „repliziert“.

Dies sollte uns doch einiges an Konfigurationsaufwand ersparen 😉

Achtung ist jedoch geboten, wenn nicht alle VLANs auf allen Switches aktiv sein sollen. Dann muss das in der Konfiguration bedacht werden.

VLAN über Uplink Port

Kai Alcatel Lucent OmniSwitch Leave a Comment

Nehmen wir an wir haben zwei Switches, die über einen Uplink miteinander verbunden sind und das VLAN über Uplink gefahren werden soll. (Egal ob Kupfer oder LWL)
Wir haben auf beiden Switches ein weiteres VLAN (VLAN id 2 – untagged) zum Standard VLAN (VLAN id 1 – untagged)
Der Uplink läuft über Port 1/50 auf beiden Seiten.
Nun sollten wir beiden Swiches klar machen, dass das VLAN auch auf den anderen Switch transportiert werden muss.
Das erledigen wir mit:

vlan 2 802.1q 1/50

Wichtig hier: Falls das WLAN als untagged dem Port zugewiesen ist, kann man es nicht als tagged zuweisen.

VLAN untagged vs tagged

Kai Alcatel Lucent OmniSwitch Leave a Comment

Wo liegt der Unterschied zwischen VLAN untagged und VLAN tagged (802.1q)? – VLAN untagged vs tagged

Kurz und Knapp:

untagged

untagged bedeutet, dass der komplette switchport dem VLAN angehört.
Egal welches gerät Angeschlossen wird, wird automatisch im definierten VLAN landen.

tagged (802.1q)

tagged bedeutet, dass sich das Gerät mit dem VLAN tag melden muss um in dem VLAN zu landen.
Ist z.B. ein Switchport als VLAN5 untagged und VLAN10 tagged konfiguriert würde ein nicht konfigurierter PC im VLAN5 landen. Konfiguriert man den VLAN tag 10 auf dem PC landet er im VLAN 10. Den Tag kann man im Wireshark sehen (im Bild VLAN 1)

VLAN untagged vs tagged

SSH vom MAC auf ARM geräte

Kai Alcatel Lucent OmniSwitch Leave a Comment

Seit dem Update auf El Capitano gibt es Probleme auf einen Switch via SSH zu verbinden.
Es erscheint lediglich die Meldung

ssh_packet_read: message authentication code incorrect.

 

Um den Fehler zu beheben, müssen wir eine Zeile in der ssh_config via „vi“ anpassen.
Wir starten das Terminal und bearbeiten die Datei /etc/ssh/ssh_config

sudo vi /etc/ssh/ssh_config

Wir suchen die Zeile

#MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160

indem wir in vi einfach „/hmac-md5“ eintippen und Enter drücken.
Als nächstes entfernen wir die Raute, damit die Zeile in der Config berücksichtigt wird.
Wir navigieren hierzu genau hinter die Raute und drücken „I“

Nun kann die Raute entfernt werden (Backspace). Nach dem entfernen drücken wir Escape („ESC“), tippen „:wq“ und bestätigen mit Enter.

Nun sollte die Verbindung funktionieren.

Grundkonfiguration Omniswitch AOS6

Kai Alcatel Lucent OmniSwitch Leave a Comment

Grundkonfiguration Omniswitch AOS6

Grundkonfiguration Omniswitch AOS6 - os6350

 

 

 

 

Grundkonfiguration Omniswitch AOS6.

AOS6 wird momentan auf folgenden Geräten eingesetzt:

  • 6450er Serie
  • 6350er Serie
  • 6250er Serie

Ein grober Überblick der benötigten Infos:

  • Switch Informationen
    • Name
    • Ort
    • Kontakt
    • Datum / Uhrzeit
  • Consolen Prefix
  • IP Adresse
  • Benutzername / Passwort

Nachdem wir uns die Informationen zusammengetragen haben gehts ans konfigurieren.
Wir verbinden uns über SSH mit dem Swtich.

Die Standard Zugangsdaten lauten

Benutzername: admin
Passwort: switch

Als nächstes prüfen wir in welchem verzeichniss wir uns befinden (working oder certified)

Dies wird durch den Befehl erreicht:

show running-directory

 

Als Antwort bekommen wir die folgende Ausgabe:

CONFIGURATION STATUS
Running CMM              : PRIMARY,
CMM Mode                 : MONO CMM,
Current CMM Slot         : 1,
Running configuration    : WORKING,
Certify/Restore Status   : CERTIFIED
SYNCHRONIZATION STATUS
Running Configuration    : SYNCHRONIZED,

 

Wichtig ist, dass unter „Running configuration“ „WORKING,“ steht.

Sollte hier „CERTIFIED“ stehen müssen wir zuerst in eine schreibbare Konfiguration wechseln.

reload working no rollback-timeout

Nachdem der Switch neugestartet ist, können wir mit der Konfiguration beginnen.

Der Switch heißt: Switch1

system name Switch1

Steht im Buero1-EG

system location Buero1-EG

Zeitzone ist CET

system timezone CET

Sommer/Winterzeit ist aktiv

system daylight savings time enable

Verbindungen auf den Switch sind zugelassen über ftp, ssh, https

ip service ftp
ip service ssh
ip service secure-http

Verboten ist: http, telnet da unverschlüsselt

no ip service telnet
no ip service http

Zudem aktivieren wir udp-relay und NTP (network-time) und snmp

ip service udp-relay
ip service network-time
ip service snmp

Anmeldung werden alle gegen die lokale Datenbank gemacht

aaa authentication default local

Der Switch meldet die Consolensitzung nach 3600sek ab (1h)

session timeout cli 3600

Das Konsolenprefix soll „Switch1->“ sein

session prompt default "Switch1->"

Der Switch bekommt die IP 192.168.1.200, das Interface heißt „Management“

ip interface "Management" address 192.168.1.200 mask 255.255.255.0 vlan 1

alternativ funktioniert auch:

ip interface "Management" address 192.168.1.200/24 vlan 1

Nun definieren wir noch das Standardgateway (angenommen 192.168.1.1)

ip static-route 0.0.0.0 mask 0.0.0.0 gateway 192.168.1.1

alternativ funktioniert auch hier

ip static-route 0.0.0.0/0 gateway 192.168.1.1

hiermit wäre die Grundkonfiguration abgeschlossen.

Die konfiguration wird gesichert mit

write memory flash-synchro

 

Anbei die Grundkonfiguration:

system name Switch1
system location Buero1-EG
system timezone CET
system daylight savings time enable
ip service ftp
ip service ssh
ip service secure-http
no ip service telnet
no ip service http
ip service udp-relay
ip service network-time
ip service snmp
aaa authentication default local
session timeout cli 3600
session prompt default "Switch1->"
ip interface "Management" address 192.168.1.200/24 vlan 1
ip static-route 0.0.0.0/0 gateway 192.168.1.1
write memory flash-synchro

 

 

Nachdem Speichern bekommen wir als Rückmeldung:

File /flash/working/boot.cfg replaced.
This file may be overwritten if "takeover" is executed before "certify"
Setting CERTIFY Timeout for 800 seconds
from /flash/working to /flash/certified
Copying boot.cfg                             ....................          completed

CERTIFY process completed successfully
+++ == CSM == Stack 1 Certify process Completed

 

Links:
http://enterprise.alcatel-lucent.com/?product=OmniSwitch6450&page=overview
http://enterprise.alcatel-lucent.com/?product=OmniSwitch6350&page=overview