blog.icewolf.ch

Let's talk about IT!
posts - 527, comments - 71, trackbacks - 0

Sunday, February 05, 2012

Remove PST from Outlook Profile by VBS Script

Hallo zusammen,

Vor einiger Zeit habe ich mal ein VBS Script geschrieben, welches die PST Files im Outlook Profil erkennt und entfernen kann. Dieses Script kann beispielsweise ins Logonscript eingebaut werden.

Das entfernen von PST's funktioniert aber nur bei der ersten PST - sobald mehrere PST Dateien vorhanden sind, wird die schlaufe beim entfernen irgendwie verlassen - habe mich da aber nicht weiter darum gekümmert. Bin aber für Feedback dazu dankbar.

Ich habe also ein Outlook Profil mit zwei PST Dateien angelegt

Und so sieht das Script dann aus.

Diese Informationen können natürlich auch verwendet werden um ein Inventar der PST Dateien im Netzwerk anzulegen indem diese Infos im Loginscript erhoben werden und in ein File geschrieben werden.

'###############################################################################
'# Remove PST from Outlook
'# Uses Outlook to remove PST Files from Profile
'# 29.10.2011 Andres Bohren / www.icewolf.ch
'###############################################################################

Option Explicit

ListPST
ShowIdentity

Dim oWshShell
Set oWshShell = WScript.CreateObject("WScript.Shell")
'oWshShell.Popup "Removed PST Files from your Profile", 2, "RemovePST", 64

Public Sub ListPST()
    'On Error resume next
    Dim objOutlook 'As Outlook.Application
    Dim Session 'As Outlook.NameSpace
    Dim Store 'As Outlook.Store
    Dim Stores 'As Outlook.Stores
    Dim objFolder 'As Outlook.Folder
    Dim Report 'As String
    Dim strPrompt 'As String
   
    Set objOutlook = CreateObject("Outlook.Application")
    Set Session = objOutlook.Session
    'Set Session2 = objOutlook.Session      
    Set Stores = Session.Stores
   
    For Each Store In Stores
   
     If Store.ExchangeStoreType = 3 then
      Report = ""
        Report = Report & Store.DisplayName & vbCrLf
        Report = Report & "Location : " & Store.FilePath & vbCrLf
        Report = Report & "Is Cached Exchange : " & Store.IsCachedExchange & vbCrLf
        Report = Report & "Is Data File Store : " & Store.IsDataFileStore & vbCrLf
        Report = Report & "Is Instant Search Enabled : " & Store.IsInstantSearchEnabled & vbCrLf
        Report = Report & "Is Open : " & Store.IsOpen & vbCrLf
        Report = Report & "Class : " & Store.Class & vbCrLf
        Report = Report & "Exchange Store Type : " & Store.ExchangeStoreType & vbCrLf
        Report = Report & "Store ID : " & Store.StoreID & vbCrLf & vbCrLf
        msgbox "Report: " & Report
       
        set objfolder = nothing
        Set objFolder = store.GetRootFolder
               
    strPrompt = "Remove PST file? " & Store.DisplayName & vbcrlf & Store.FilePath & vbcrlf & "Folder: " & objFolder
      
      If MsgBox(strPrompt, vbYesNo + vbQuestion) = vbYes Then
         Session.RemoveStore objFolder
      End If
       
     End If
   
    Next

End Sub

Sub ShowIdentity
 Dim WshNetwork
 Set WshNetwork = WScript.CreateObject("WScript.Network")
 Msgbox "Hostname: " & WshNetwork.ComputerName & " User: " & WshNetwork.UserDomain  & "\" & WshNetwork.UserName
End sub

Das VBS File kann auch heruntergeladen werden.

Grüsse
Andres Bohren

posted @ Sunday, February 05, 2012 3:42 PM | Feedback (0) | Filed Under [ Office ]

eseutil

Hallo zusammen,

Das eseutil.exe Kommandozeilentool dient zur Überprüfung und Reparatur von Exchange Datenbanken. Für Exchange 2010 habe ich auf Technet keine spezielle Seite gefunden. Für Exchange 2007 gibts eineEseutil Technet Dokumentation.

Das Eseutil liegt im Exchange Programmverzeichnis

cd C:\Program Files\Microsoft\Exchange Server\V14\Bin
eseutil.exe /?

Check

Das Tool kann nur angewendet werden wenn die Datenbank dismounted ist. Ich habe deshalb mal die MDB03 dismouted und führe das Esetuil mit dem Parameter /mh aus um die Kopfzeilen der DB anzuzeigen.

eseutil.exe /mh [Path to Database]

eseutil.exe /mh D:\MDB03\MDB03.edb

Da die Datenbank normal dismounted wurde ist die DB im "Clean Shutdown" state.

Wir können nun mit dem Parameter /ml die Logfiles Prüfen.

eseutil /ml D:\MDB03\[Logprefix]]

eseutil /ml D:\MDB03\E03

In diesem Fall ist alles okay - alle Logfiles wurden gefunden.

Löschen wir doch mal das Logfile E0300000087.log und führen den Logfile Check nochmals aus

eseutil /ml D:\MDB03\E03

Das Fehlende Logfile wird also erkennt.

Es ist auch möglich die Kopfdaten des .chk Files anzuzeigen

eseutil /mk [Path to chk File]
eseutil /mk D:\MDB03\E03.chk

Recovery

Nachdem das fehlende Logfile wieder zurückkopiert ist, mache ich mal ein recovery. Das sollte aber nur im Falle eines Fehlers angewendet werden und nicht "nur so aus spass".

Eseutil /r <Log Prefix> /l [Path of the log files] /d [Path of the database]
Eseutil /r E03 /l D:\MDB03\ /d D:\MDB03\MDB03.edb

Repair

Ein Repair sollte nur dann ausgeführt werden, wenn die DB im "Dirty Shutdown" state und die Logfiles nicht mehr verfügbar sind. Ein Database Repair hat einen Datenverlust zur Folge - deshalb wird auch eine Warung ausgegeben.

Eseutil /p [Path to Database] /t [Path to Temporary Databasefile]
Eseutil /p D:\MDB03\MDB03.edb /t D:\MDB03\temp_MDB03.edb

Grüsse
Andres Bohren

posted @ Sunday, February 05, 2012 3:30 PM | Feedback (0) | Filed Under [ Exchange ]

Exchange 2010 Database Files

Hallo zusammen,

Bei Exchange Server sind verschiedene Dateien für die Exchange Datenbanken beteiligt. Einge gute übersicht dazu gibts in diesem BuchExchange Server 2010 Administrator's Pocket Consultant Seite 77.

Im grossen und ganzen bestehen die Mailbox Datenbanken aus der Datenbank (database.edb) und den dazugehörigen Transaction Logs (E##.log, E##00000001.log...) sowie den Reserve Logfiles (E##00000001.log,...E##0000000A.log)

Im Windows Explorer sieht das dann so aus

Und hier die Beschreibungen der einzelnen Files

 

Datei Funktion Beschreibung
E03.chk Checkpoint File In diesem File wird gespeichert, welche Transaktionen der Logfiles bereits commited sind.
E03.log Actual Exchange Logfile Aktuelle Transaktionen welche änderungen an der Datenbank vornehmen
E0300000001.log,E0300000002.log... Secundary Exchange Logfiles Weitere Logfiles werden erstellt. Es können bis zu einer Billion Logfiles zu einer Mailbox Datenbank erstellt werden.
E03res00001.jrs,...E03res0000A.jrs Reserve Logfiles Reserve Logfiles, falls das Log volläuft
E03tmp.log Temporary Logfile Temporäres Logfile
MDB03.edb Exchange Database Exchange Mailbox Datenbank
tmp.edb Tempory Transactions Temporärer Speicherplatz für Transaktionen
Grüsse
Andres Bohren

 

posted @ Sunday, February 05, 2012 2:16 PM | Feedback (0) | Filed Under [ Exchange ]

Thursday, February 02, 2012

Microsoft introduces PST Capture

Hallo zusammen,

Wie im Juni angekündigt, wurde gestern auf dem Exchange Team Blog das PST Capture Tool vorgestellt. Das Tool kann hier heruntergeladen werden. Ebenfalls ist eine PST Capture Dokumentatation auf Technet verfügbar.

Architektur

Die Architektur ist Agentenbasiert. Sprich es gibt einen Server welcher mit den Agenten auf den Clients kommuniziert um die PST Dateien zu suchen und auf den PST Capture Server zu übertragen.

PST Capture Server

Prerequisits auf dem PST Capture Server

  • Dotnet 3.5
  • Outlook 2010 x64
  • Serviceaccount ist Local Mitglied der lokalen Administratoren Gruppe auf dem PST Capture Server
  • Der Serviceaccount hat eine Mailbox
  • Serviceaccount ist Mitglied der Rolle "Public Folder Management"

Der Serviceaccount muss in die Lokale Administratoren Gruppe des PST Capture Servers hinzugefügt werden

Der Serviceaccount muss eine Mailbox haben

Der Serviceaccount muss zur Rolle "Public Folder Management" hinzugefügt werden.

Installation PST Capture Server

Hier die Screenshots des PST Capture Servers

 

Installation PST Capture Agent

Hier die Screenshots des PST Capture Agents

Den Client kann man auch Silent installieren

msiexec /i \\<share>\PSTCaptureAgent.msi /q CENTRALSERVICEHOST=<server> SERVICEPORT=6674

Die Konfiguration wird in der Registry abgelegt

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Exchange\PST Capture\DiscoveryAgent]
"CentralServiceHost"="icesrv04.corp.icewolf.ch"
"CentralServicePort"=dword:00001a12
"CheckConfigInterval"=dword:0000003c

Outlook mit PST

In Outlook habe ich nun ein PST erstellt

Das sieht dann etwa so aus

PST Capture Console

Und das ist nun die PST Capture Console

Es lohnt sich sicher einen Blick auf Tools --> Settings zu werfen

Nun suchen wir mal nach PST's. Computer welche den Agenten installiert haben, erkennt man am grünen Bildschirm.

Es können nur lokale Disks durchsucht werden. Falls PST's auf Fileservern liegen, soll gemäss Microsoft der Agent auch auf dem Fileserver installiert werden.

Die PST Datei wurde gefunden, nun kann man diese zur Import List hinzufügen.

In der Importlist muss noch die Mailbox zugewiesen werden

Nun kann der PST Import beginnen

Wenn Outlook läuft, wird die PST Datei von Outlook verwendet und kann nicht kopiert werden.

Voila, der Import hat nun geklappt

Wie man sieht, ist im Postfach nun ein Ordner "Persönliche Ordner" vorhanden. Leider wird in Outlook die PST Datei nicht abgehängt oder gelöscht, so kann der Benutzer die PST Datei also weiterhin verwenden - das finde ich bei einer Agentenbasierten Architektur echt nicht sexy!

Grüsse
Andres Bohren

posted @ Thursday, February 02, 2012 12:18 AM | Feedback (0) | Filed Under [ Exchange ]

Saturday, January 28, 2012

Resource Booking between Exchange Organisations (ProcessExternalMeetingMessages)

Hallo zusammen,

Resource Kalender wie beispielsweise Räume stellen bei einer Migration eine besondere Herausforderung dar. Exchange erlaubt nämlich nur Terminanfragen derselben Exchange Organisation.

Listigerweise gibt es einen Paramenter "ProcessExternalMeetingMessages" im Set-CalendarProcessing cmdlet welcher wie folgt beschrieben ist:

The ProcessExternalMeetingMessages parameter specifies whether to process meeting requests that originate outside the Exchange organization. If set to $false, meeting requests that originate outside of the organization are rejected. Valid input for this parameter is $true or $false.

Ist aber für die Katz - egal ob auf True oder False gesetzt - Exchange beantwortet keine Meeting Requests von extern! Und damit Basta!

Damit das doch geht müssen gemäss meinen Recherchen folgende Dinge erfüllt sein:

  • Der Receive Connector auf Exchange 2010 muss auf "Externally Secured" stehen
  • Es muss ein Contact Object mit der Emailadresse des Meeting Requesters im AD existieren

Sind diese beiden Anforderungen nicht erfüllt, erhält der Absender keine zu- oder Absage

Receive Connector

Der dem Receive Connector muss mit "Externally Secured" stehen.

Bei den Permission Groups müssen "Anonymous Users" und "Exchange Servers" ausgewählt sein.

Durch das setzen von "Externally Secured" werden folgende Extended Rights auf dem Receive Connector gesetzt.

Get-ReceiveConnector -Identity ICESRV01\TestReceiveConnector | Get-ADPermission | where {$_.User -like "NT AUTHORITY\ANONYMOUS LOGON"} | select user, ExtendedRights

Send Connector

Der Send Connector ist "hundsgewöhnlich" einfach Target IP...

...und Address Space sind gesetzt.

Contact Object

Im Active Directory wo die Room Mailbox steht, habe ich ein Mail Enabled Contact Object mit der Emailadresse des Users gemacht, welche den Meeting Request versendet.

Resource Booking Attendant

Auf der Room Mailbox ist der "Resource Booking Attendant" gesetzt und das Automate Processing auf "AutoAccept" gesetzt.

Testing

Nun kanns losgehen, der User "Source01" aus der Domain "source.internal" bucht den Raum "SitzungszimmerEiger" in der Domain corp.icewolf.ch

Ändert den Typ auf Resource (geht aber auch als normaler Teilnehmer)

Und versendet die Besprechungsanfrage....

Et voila, die Terminanfrage wird angenommen.

Fazit

Forestübergreifendes bzw. Exchange Organisation übergreifendes Resource Booking ist möglich. Allerdings ist der Aufwand mit gegenseitigen Contacts und speziellen ReceiveConnector Settings nicht ganz ohne.

Ausserdem ist der Parameter "ProcessExternalMeetingMessages" für die Katz - das hat bei mir nicht funktioniert. Aus meiner Sicht ist es also nicht möglich Räume von Extern (vom Internet) her zu Buchen - ausser ich mache jedesmal ein Contact Object - aber das ist ziemlich "bäääää"

Grüsse
Andres Bohren

posted @ Saturday, January 28, 2012 7:07 PM | Feedback (0) | Filed Under [ Exchange ]

Disable Ballon PopUp in Outlook when Exchange Connectivity changes

Hallo zusammen,

Bei kurzen Verbindungsunterbrüchen zwischen Outlook und Exchange informiert Outlook den Benutzer darüber, dass sich der Status der Konnektivität geändert hat. Das sieht dann etwa so aus. Dies kann Beispielsweise vorkommen, wenn die aktive Datenbank auf Exchange in einem DAG auf einen anderen Server verschoben wird.

Dies Ballon PopUps kann man in Outlook aber auch deaktivieren. Einfach mit der rechten Maustaste in der Statusleiste auf das Outlook Icon klicken und die Option "Änderung in Netzwerkkonnektivität anzeigen" deaktivieren.

Dabei wird der folgende Registry Key geändert:

HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Display Types\Balloons\NetConn
"NetConn"=dword:00000000 --> bedeutet dass die Benachrichtigung deaktiviert ist
"NetConn"=dword:00000001 --> bedeutet dass die Benachrichtigung aktiviert ist

Grüsse
Andres Bohren

posted @ Saturday, January 28, 2012 6:00 PM | Feedback (0) | Filed Under [ Office ]

How to establish Email Address with ADSI Edit (Exchange 2000/2003)

Hallo zusammen,

Neulich habe ich mich gefragt, was denn passiert wenn man bei Exchange 2003 einer Verteilerliste eine Email Adresse hinzufügt.

Um das herauszufinden habe ich vor und nach der Aktion mit LDIFDE einen Export der Attribute gemacht und anschliessend verglichen. Wie das geht ist hier beschrieben http://blog.icewolf.ch/archive/2009/11/19/export-active-directory-objects-ldifdecsvde.aspx

Es stellt sich raus, dass nur die markierten Attribute neu gesetzt sind, welche vorher nicht vorhanden waren. Unter Exchange 2000/2003 sorgt dann der RUS dafür, dass der Empfänger oder die Verteilerliste eine Emailadresser erhält.

dn: CN=testdist10,OU=TEST,DC=source,DC=internal
changetype: add
objectClass: top
objectClass: group
cn: testdist10
distinguishedName: CN=testdist10,OU=TEST,DC=source,DC=internal
instanceType: 4
whenCreated: 20120119100143.0Z
whenChanged: 20120119100447.0Z
displayName: testdist10
uSNCreated: 172063
uSNChanged: 172066
reportToOriginator: TRUE
mailNickname: testdist10
name: testdist10
objectGUID:: hvlAd7yg7U+z2kapknhFAA==
objectSid:: AQUAAAAAAAUVAAAAbHrzN+wlLu10EFmDcwQAAA==
sAMAccountName: testdist10
sAMAccountType: 268435457
legacyExchangeDN:
 /o=First Organization/ou=First Administrative Group/cn=Recipients/cn=testdist10

groupType: 8
objectCategory: CN=Group,CN=Schema,CN=Configuration,DC=source,DC=internal

Es ist also ganz leicht mit dem Attribut Editor oder mit ADSI Edit eine Verteilerliste für Email einzurichten.

Achtung:

Ab Exchange 2007/2010 funktioniert dieses Verfahren nicht mehr - weil es gar keinen RUS (Recipient Update Service) mehr gibt.

Grüsse
Andres Bohren

posted @ Saturday, January 28, 2012 5:26 PM | Feedback (0) | Filed Under [ Exchange ]

Export and Import AD Objects with ldifde

Hallo zusammen,

Eigentlich dachte ich, dass der Export and Import von AD Objekten mit LDIFDE ganz einfach ist. Nun, es gibt da schon ein paar Kniffe die man kennen muss.

Die Parameter von ldifde.exe sind hier beschrieben: http://technet.microsoft.com/en-us/library/cc758935(WS.10).aspx

Zur demonstration, habe ich eine OU "Contacts" mit zwei Kontakten drin.

Der Contact "Lucky Luke" ist Mitglied der Verteilerliste "TestDist"

Export

Nun mache ich den Export mit lidfde. Einmal mit der Option "-m" welches die Systemattribute nicht exportiert.

ldifde.exe -f C:\ldifde\contacts1.txt -d "OU=Contacts,OU=TestOU,DC=corp,DC=icewolf,DC=ch" -s icesrv02.corp.icewolf.ch -p SubTree
ldifde.exe -f C:\ldifde\contacts2.txt -d "OU=Contacts,OU=TestOU,DC=corp,DC=icewolf,DC=ch" -s icesrv02.corp.icewolf.ch -p SubTree -m

Contacts1.txt

dn: OU=Contacts,OU=TestOU,DC=corp,DC=icewolf,DC=ch
changetype: add
objectClass: top
objectClass: organizationalUnit
ou: Contacts
distinguishedName: OU=Contacts,OU=TestOU,DC=corp,DC=icewolf,DC=ch
instanceType: 4
whenCreated: 20120128152759.0Z
whenChanged: 20120128152814.0Z
uSNCreated: 4309132
uSNChanged: 4309132
name: Contacts
objectGUID:: KjETVYzouEu58R1zq4zqqA==
objectCategory:
 CN=Organizational-Unit,CN=Schema,CN=Configuration,DC=corp,DC=icewolf,DC=ch
dSCorePropagationData: 16010101000000.0Z

dn: CN=Joe Black,OU=Contacts,OU=TestOU,DC=corp,DC=icewolf,DC=ch
changetype: add
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: contact
cn: Joe Black
sn: Black
l: GW
title: Vice
postalCode: 3818
physicalDeliveryOfficeName: 011
telephoneNumber: +41
facsimileTelephoneNumber: +41
givenName: Joe
distinguishedName: CN=Joe Black,OU=Contacts,OU=TestOU,DC=corp,DC=icewolf,DC=ch
instanceType: 4
whenCreated: 20120128152759.0Z
whenChanged: 20120128152814.0Z
displayName: Joe Black
uSNCreated: 4309133
info: sd
uSNChanged: 4309136
department: SC
company: Comp
proxyAddresses: SMTP:joe.black@internet.com
proxyAddresses: smtp:Joe.Black@icewolf.ch
proxyAddresses: smtp:joeblack@corp.icewolf.ch
streetAddress: street
targetAddress: SMTP:joe.black@internet.com
extensionAttribute1: 1
extensionAttribute2: 2
extensionAttribute3: 3
extensionAttribute4: 4
extensionAttribute5: 5
extensionAttribute6: 6
extensionAttribute7: 7
extensionAttribute8: 8
extensionAttribute9: 9
extensionAttribute10: 10
mailNickname: joeblack
wWWHomePage: www
internetEncoding: 1310720
extensionAttribute11: 11
extensionAttribute12: 12
extensionAttribute13: 13
extensionAttribute14: 14
extensionAttribute15: 15
name: Joe Black
objectGUID:: 1ZnvCizZPk+8jh7RoEuBoQ==
showInAddressBook:
 CN=Default Global Address List,CN=All Global Address Lists,CN=Address Lists Co
 ntainer,CN=First Organization,CN=Microsoft Exchange,CN=Services,CN=Configurati
 on,DC=corp,DC=icewolf,DC=ch
showInAddressBook:
 CN=All Contacts,CN=All Address Lists,CN=Address Lists Container,CN=First Organ
 ization,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=corp,DC=icewolf,
 DC=ch
legacyExchangeDN:
 /o=First Organization/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Re
 cipients/cn=Joe Blackd1e
objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=corp,DC=icewolf,DC=ch
dSCorePropagationData: 16010101000000.0Z
mail: joe.black@internet.com
manager: CN=boa,OU=Icewolf Users,DC=corp,DC=icewolf,DC=ch
homePhone: +41
mobile: +41
pager: +41
msExchPoliciesIncluded: {26491cfc-9e50-4857-861b-0cb8df22b5d7}
msExchPoliciesIncluded: f79e9dae-1068-4f9a-825a-8e0093b0f0b3
msExchUMDtmfMap: firstNameLastName:56325225
msExchUMDtmfMap: lastNameFirstName:25225563
msExchUMDtmfMap: emailAddress:56325225
msExchUMDtmfMap: reversedPhone:14+
msExchRecipientDisplayType: 6
msExchVersion: 44220983382016

dn: CN=Luke Lucky,OU=Contacts,OU=TestOU,DC=corp,DC=icewolf,DC=ch
changetype: add
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: contact
cn: Luke Lucky
sn: Lucky
givenName: Luke
distinguishedName:
 CN=Luke Lucky,OU=Contacts,OU=TestOU,DC=corp,DC=icewolf,DC=ch
instanceType: 4
whenCreated: 20120128152800.0Z
whenChanged: 20120128152814.0Z
displayName: Lucky, Luke
uSNCreated: 4309134
memberOf: CN=TestDist,OU=TestOU,DC=corp,DC=icewolf,DC=ch
uSNChanged: 4309134
proxyAddresses: SMTP:lucky@internet.com
proxyAddresses: smtp:Luke.Lucky@icewolf.ch
proxyAddresses: smtp:lukelucky@corp.icewolf.ch
targetAddress: SMTP:lucky@internet.com
mailNickname: lukelucky
internetEncoding: 1310720
name: Luke Lucky
objectGUID:: PqwQqsQdy0GTzQCxBXum5A==
showInAddressBook:
 CN=Default Global Address List,CN=All Global Address Lists,CN=Address Lists Co
 ntainer,CN=First Organization,CN=Microsoft Exchange,CN=Services,CN=Configurati
 on,DC=corp,DC=icewolf,DC=ch
showInAddressBook:
 CN=All Contacts,CN=All Address Lists,CN=Address Lists Container,CN=First Organ
 ization,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=corp,DC=icewolf,
 DC=ch
legacyExchangeDN:
 /o=First Organization/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Re
 cipients/cn=Luke Lucky876
objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=corp,DC=icewolf,DC=ch
dSCorePropagationData: 16010101000000.0Z
mail: lucky@internet.com
msExchPoliciesIncluded: {26491cfc-9e50-4857-861b-0cb8df22b5d7}
msExchPoliciesIncluded: f79e9dae-1068-4f9a-825a-8e0093b0f0b3
msExchUMDtmfMap: firstNameLastName:585358259
msExchUMDtmfMap: lastNameFirstName:582595853
msExchUMDtmfMap: emailAddress:58259
msExchRecipientDisplayType: 6
msExchVersion: 44220983382016

Contacts2.txt

dn: OU=Contacts,OU=TestOU,DC=corp,DC=icewolf,DC=ch
changetype: add
distinguishedName: OU=Contacts,OU=TestOU,DC=corp,DC=icewolf,DC=ch
dSCorePropagationData: 16010101000000.0Z
instanceType: 4
name: Contacts
objectCategory:
 CN=Organizational-Unit,CN=Schema,CN=Configuration,DC=corp,DC=icewolf,DC=ch
objectClass: top
objectClass: organizationalUnit
ou: Contacts
uSNChanged: 4309132
uSNCreated: 4309132
whenChanged: 20120128152814.0Z
whenCreated: 20120128152759.0Z

dn: CN=Joe Black,OU=Contacts,OU=TestOU,DC=corp,DC=icewolf,DC=ch
changetype: add
cn: Joe Black
company: Comp
department: SC
displayName: Joe Black
distinguishedName: CN=Joe Black,OU=Contacts,OU=TestOU,DC=corp,DC=icewolf,DC=ch
dSCorePropagationData: 16010101000000.0Z
extensionAttribute1: 1
extensionAttribute10: 10
extensionAttribute11: 11
extensionAttribute12: 12
extensionAttribute13: 13
extensionAttribute14: 14
extensionAttribute15: 15
extensionAttribute2: 2
extensionAttribute3: 3
extensionAttribute4: 4
extensionAttribute5: 5
extensionAttribute6: 6
extensionAttribute7: 7
extensionAttribute8: 8
extensionAttribute9: 9
facsimileTelephoneNumber: +41
givenName: Joe
homePhone: +41
info: sd
instanceType: 4
internetEncoding: 1310720
l: GW
legacyExchangeDN:
 /o=First Organization/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Re
 cipients/cn=Joe Blackd1e
mail: joe.black@internet.com
mailNickname: joeblack
mobile: +41
msExchPoliciesIncluded: {26491cfc-9e50-4857-861b-0cb8df22b5d7}
msExchPoliciesIncluded: f79e9dae-1068-4f9a-825a-8e0093b0f0b3
msExchRecipientDisplayType: 6
msExchUMDtmfMap: firstNameLastName:56325225
msExchUMDtmfMap: lastNameFirstName:25225563
msExchUMDtmfMap: emailAddress:56325225
msExchUMDtmfMap: reversedPhone:14+
msExchVersion: 44220983382016
name: Joe Black
objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=corp,DC=icewolf,DC=ch
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: contact
pager: +41
physicalDeliveryOfficeName: 011
postalCode: 3818
proxyAddresses: SMTP:joe.black@internet.com
proxyAddresses: smtp:Joe.Black@icewolf.ch
proxyAddresses: smtp:joeblack@corp.icewolf.ch
sn: Black
streetAddress: street
targetAddress: SMTP:joe.black@internet.com
telephoneNumber: +41
title: Vice
uSNChanged: 4309136
uSNCreated: 4309133
whenChanged: 20120128152814.0Z
whenCreated: 20120128152759.0Z
wWWHomePage: www


dn: CN=Luke Lucky,OU=Contacts,OU=TestOU,DC=corp,DC=icewolf,DC=ch
changetype: add
cn: Luke Lucky
displayName: Lucky, Luke
distinguishedName:
 CN=Luke Lucky,OU=Contacts,OU=TestOU,DC=corp,DC=icewolf,DC=ch
dSCorePropagationData: 16010101000000.0Z
givenName: Luke
instanceType: 4
internetEncoding: 1310720
legacyExchangeDN:
 /o=First Organization/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Re
 cipients/cn=Luke Lucky876
mail: lucky@internet.com
mailNickname: lukelucky
msExchPoliciesIncluded: {26491cfc-9e50-4857-861b-0cb8df22b5d7}
msExchPoliciesIncluded: f79e9dae-1068-4f9a-825a-8e0093b0f0b3
msExchRecipientDisplayType: 6
msExchUMDtmfMap: firstNameLastName:585358259
msExchUMDtmfMap: lastNameFirstName:582595853
msExchUMDtmfMap: emailAddress:58259
msExchVersion: 44220983382016
name: Luke Lucky
objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=corp,DC=icewolf,DC=ch
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: contact
proxyAddresses: SMTP:lucky@internet.com
proxyAddresses: smtp:Luke.Lucky@icewolf.ch
proxyAddresses: smtp:lukelucky@corp.icewolf.ch
sn: Lucky
targetAddress: SMTP:lucky@internet.com
uSNChanged: 4309134
uSNCreated: 4309134
whenChanged: 20120128152814.0Z
whenCreated: 20120128152800.0Z


dn: CN=Joe Black,OU=Contacts,OU=TestOU,DC=corp,DC=icewolf,DC=ch
changetype: modify
add: showInAddressBook
showInAddressBook:
 CN=Default Global Address List,CN=All Global Address Lists,CN=Address Lists Co
 ntainer,CN=First Organization,CN=Microsoft Exchange,CN=Services,CN=Configurati
 on,DC=corp,DC=icewolf,DC=ch
-

dn: CN=Joe Black,OU=Contacts,OU=TestOU,DC=corp,DC=icewolf,DC=ch
changetype: modify
add: showInAddressBook
showInAddressBook:
 CN=All Contacts,CN=All Address Lists,CN=Address Lists Container,CN=First Organ
 ization,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=corp,DC=icewolf,
 DC=ch
-

dn: CN=Joe Black,OU=Contacts,OU=TestOU,DC=corp,DC=icewolf,DC=ch
changetype: modify
add: manager
manager: CN=boa,OU=Icewolf Users,DC=corp,DC=icewolf,DC=ch
-

dn: CN=Luke Lucky,OU=Contacts,OU=TestOU,DC=corp,DC=icewolf,DC=ch
changetype: modify
add: showInAddressBook
showInAddressBook:
 CN=Default Global Address List,CN=All Global Address Lists,CN=Address Lists Co
 ntainer,CN=First Organization,CN=Microsoft Exchange,CN=Services,CN=Configurati
 on,DC=corp,DC=icewolf,DC=ch
-

dn: CN=Luke Lucky,OU=Contacts,OU=TestOU,DC=corp,DC=icewolf,DC=ch
changetype: modify
add: showInAddressBook
showInAddressBook:
 CN=All Contacts,CN=All Address Lists,CN=Address Lists Container,CN=First Organ
 ization,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=corp,DC=icewolf,
 DC=ch
-

Import

Nach dem Löschen der Contacs und der OU versuchen wir nun die Objekte wieder zu importieren.

ldifde.exe -i -f C:\ldifde\contacts1.txt -s icesrv01.corp.icewolf.ch -j C:\ldifde

Tja, das war dann wohl nichts...

Nun versuchen wir es mal mit dem Export ohne die Systemattribute

ldifde.exe -i -f C:\ldifde\contacts1.txt -s icesrv02.corp.icewolf.ch -j C:\ldifde

Der Import hat zwar geklappt, aber die Mitgliedschaft in der Verteilerliste wurde nicht wiederhergestellt, weil das MemberOf nur in der contacts1.txt datei steht.

memberOf: CN=TestDist,OU=TestOU,DC=corp,DC=icewolf,DC=ch

Weitere Informationen:

Grüsse
Andres Bohren

posted @ Saturday, January 28, 2012 5:08 PM | Feedback (0) | Filed Under [ Windows ]

How to book Room Resource with Outlook

Hallo zusammen,

Es gibt immer wieder Fragen zum Buchen von Ressourcen in Outlook und auch einige Tücken - wie der folgende Blog Artikel beweist.

Also wir machen eine neue Besprechungsanfrage

Und laden den Benutzer "boa" dazu ein und wählen aus der DropDown Liste den Raum aus (dahinter stecken ganz normale Room Mailboxen). Nun könnte man meinen, dass so auch der Raum für das Meeting reserviert wird. Wenn man aber auf "Terminplanungsassistent" klickt...

So sieht man, dass der Raum "SitzungszimmerEiger" nicht in der Liste ist. Also klick auf "Räume hinzufügen"...

den Raum auswählen

Äh ja, genau den Raum wollte ich ja buchen - ziemlich lustige Fehlermeldung :o)

Nun erhält der Raum auch eine Terminanfrage. Man beachte auch die unterschiedlichen Symbole bei den Teilnehmern.

Et voila, der Raum wurde gebucht (Sofern der "Resource Booking Attendand" der Room Resouce auf "AutoAccept" gesetzt ist)

Der Termin ist nun im SitzungszimmerEiger ersichtlich.

Grüsse
Andres Bohren

 

posted @ Saturday, January 28, 2012 1:12 PM | Feedback (0) | Filed Under [ Office ]

Thursday, January 19, 2012

Share Folder in Outlook (Mailbox Rights)

Hallo zusammen,

Es gibt immer wieder Fragen zu den Berechtigungen von Mailboxen, beziehungsweise wie denn einzelne Ordner für andere Mitarbeiter freigegeben werden können.

Als Beispiel mal folgendes: Der User25 möchte seinen Ordner "ScharedFolder" im Posteingang freigegeben.

Die Berechtigung für den Ordner "SharedFolder" wird auf die Stufe2 für den User "Bohren, Andres" gesetzt. Man kann nur Benutzer auswählen, welche im Globalen Adressbuch sichtbar sind.

Wird einer der Standardfolder freigegeben, so kann mit "Ordner eines anderen Benutzers" öffnen

Die Standardfolder sind:

  • Posteingang
  • Aufgaben
  • Journal
  • Kalender
  • Kontakte
  • Notizen
  • Posteingang

Wird die Mailbox als zusätzliches Postfach hinzugefügt...

...so gibt es eine Fehlermeldung - man kann nicht auf das Postfach, bzw. den "SharedFolder" zugreifen.

Damit das funktioniert, muss auf jeder Stufe mindestens die Leseberechtigung gegeben werden.

Outlook Name Exchange Berechtigung
Postfach Top of Information Store Stufe 2
Posteingang Posteingang Stufe 2
SharedFolder SharedFolder Stufe 2

Durch diese Berechtigungen kann aber der User auch auf den Posteingang zugreifen.

Ändert man die Berechtigung auf den Ordner "Posteingang" auf die Berechtigungsstufe "Keine", so kann der andere Benutzer nur noch auf den Unterordner "SharedFolder" zugreifen...

Outlook Name Exchange Berechtigung
Postfach Top of Information Store Stufe 2
Posteingang Posteingang Keine
SharedFolder SharedFolder Stufe 2

...aber das erzeugt ziemlich viele Fehlermeldungen - ist also nicht empfohlen.

Mit den Exchange Management Tools kann man die Berechtigungen ebenfalls prüfen, jedoch nur mit der Exchange Management Shell (EMS)

Um die MAPI Berechtigungen vom "Top of Information Store" anzuzeigen kann folgender Befehl verwendet werden

Get-MailboxFolderPermission -Identity user25:\ 

Um die MAPI Berechtigungen vom Posteingang anzuzeigen kann folgender Befehl verwendet werden

Get-MailboxFolderPermission -Identity user25:\posteingang

Für Exchange Administratoren empfehle ich ExFolders.

Grüsse
Andres Bohren

posted @ Thursday, January 19, 2012 9:33 PM | Feedback (0) | Filed Under [ Exchange Office ]

Powered by:
Powered By Subtext Powered By ASP.NET