Outlook 2010: Importieren von NK2-Dateien

Problem:Man möchte seine NK2-Datei von Outlook 2003 in Outlook 2010 übernehmen. Da Outlook 2010 keine NK2-Dateien mehr verwendet sondern der Namenscache in einer versteckten Nachricht im Standardnachrichtenspeicher verwaltet wird, ist es mit einfachem Kopieren der Datei nicht getan.

Lösung:Hier nun die schrittweise Anleitung zur Übernahme der NK2-Datei:

1.) NK2-Datei vom alten System sichern
Frühere Versionen von Outlook speichern die NK2-Datei des Spitznamencaches im folgenden Ordner:
Windows XP
Laufwerk:\Dokumente und Einstellungen\Benutzername\Anwendungsdaten\Microsoft\Outlook
Windows Vista und neuere Versionen
Laufwerk:\Benutzer\Benutzername\AppData\Roaming\Microsoft\Outlook


2.) NK2-Datei in das neue System kopieren.
Stellen Sie sicher, dass die NK2-Datei sich im folgenden Ordner befindet:
%appdata%\Microsoft\Outlook
Hinweis Die NK2-Datei muss denselben Namen wie Ihr aktuelles Outlook 2010-Profil aufweisen. Standardmäßig lautet der Profilname "Outlook".

3.) NK2-Dateiimport durchführen.
Öffnen Sie hierzu START - AUSFÜHREN und geben Sie folgenden Befehl ein:
outlook.exe /importnk2


Nach der erfolgreichen Importierung stehen Ihnen die gecachten Namen wieder in gewohnter Weise zur Verfügung. Die NK2-Datei wird mit der Endung OLD versehen.

Quelle: MS KB980542: Importieren von NK2-Dateien in Outlook 2010

VBS: Blinkende Tastatur

Problem:
Um Aufmerksamkeit zu erregen, soll eine LED an der Tastatur blinken.

Lösung:
Die ScrollLock-LED blinkt, und auf dem Bildschirm erscheint ein PopUp, mit dem das Blinken abgestellt werden kann.

set WshShell = WScript.CreateObject("WScript.Shell")
do
WshShell.SendKeys "{SCROLLLOCK}"
Abbruch = WshShell.PopUp("Blinker stop",1,"Mail",0)
if Abbruch<>-1 then exit do
loop

VBS: ZIP-Datei überprüfen

Problem:
Man möchte den Inhalt einer ZIP-Datei bzw. die Anzahl der Dateien in der ZIP-Datei überprüfen.

Lösung:
Mit folgendem VB-Skript kann man die Anzahl der Dateien innerhalb der ZIP-Datei überprüfen.
Sollte die Anzahl (filesinzip.Count) 0 sein, dann ist die ZIP-Datei entweder beschädigt oder leer.

Set objApp = CreateObject("Shell.Application") 
set filesInzip=objApp.NameSpace("C:\test.zip").Items
Msgbox filesinzip.Count


Fehlermeldung ADPREP /RODCPREP oder DCDIAG ForestDnsZones und DomainDnsZone

Problem:
Beim Durchführen des ADPREP-Befehls kommt es zu folgender Fehlermeldung:
Adprep konnte kein Replikat für Partition DC=ForestDnsZones,DC=Root-Domäne erreichen.
ADPREP hat einen LDAP-Fehler festgestellt.
Fehlercode: 0x0. Erweiterter Server-Fehlercode: 0x0, Server-Fehlermeldung:(null).

und

Adprep konnte kein Replikat für Partition DC=DomainDnsZones,DC=Domäne,DC=de erreichen.
ADPREP hat einen LDAP-Fehler festgestellt.
Fehlercode: 0x0. Erweiterter Server-Fehlercode: 0x0, Server-Fehlermeldung:(null).


der Fehler kann aber auch beim ausführen des Befehls DCDIAG auffallen, der sich wie folgt äußert:
Starting test: NCSecDesc
Fehler: NT-AUTORITÄT\DOMÄNENCONTROLLER DER ORGANISATION besitzt
keine Replicating Directory Changes In Filtered Set
Zugriffsrechte für den Namenskontext:
DC=DomainDnsZones,DC=Domäne,DC=TLD
Fehler: NT-AUTORITÄT\DOMÄNENCONTROLLER DER ORGANISATION besitzt
keine Replicating Directory Changes In Filtered Set
Zugriffsrechte für den Namenskontext:
DC=ForestDnsZones,DC=Domäne,DC=TLD
.................. DCON01 hat den Test NCSecDesc nicht bestanden.


Lösung:
Beim Verschieben und Neuerstellen der FSMO-Rollen auf einem anderen Server werden die Anwendungspartitionen ForestDnsZones und DomainDnsZone nicht angepaßt. Dadurch wird der neue Infrastructuremaster nicht in diese Partitionen übernommen und es kommt zu den Fehlermeldungen.
Da Microsoft weder einen Hinweis noch einen Protokoll-Eintrag zur Verfügung stellt, muß man hier manuell auf die Änderung durchführen, bzw. ein von Microsoft veröffentlichtes Skript verwenden.
Hier das Skript, dass bei mir zum erfolgreichen Umzug des "RoleOwners" für beide Partitionen geführt hat:
-------fixfsmo.vbs------------------
const ADS_NAME_INITTYPE_GC = 3
const ADS_NAME_TYPE_1779 = 1
const ADS_NAME_TYPE_CANONICAL = 2

set inArgs = WScript.Arguments

if (inArgs.Count = 1) then
' Assume the command line argument is the NDNC (in DN form) to use.
NdncDN = inArgs(0)
Else
Wscript.StdOut.Write "usage: cscript fixfsmo.vbs NdncDN"
End if

if (NdncDN <> "") then

' Convert the DN form of the NDNC into DNS dotted form.
Set objTranslator = CreateObject("NameTranslate")
objTranslator.Init ADS_NAME_INITTYPE_GC, ""
objTranslator.Set ADS_NAME_TYPE_1779, NdncDN
strDomainDNS = objTranslator.Get(ADS_NAME_TYPE_CANONICAL)
strDomainDNS = Left(strDomainDNS, len(strDomainDNS)-1)

Wscript.Echo "DNS name: " & strDomainDNS

' Find a domain controller that hosts this NDNC and that is online.
set objRootDSE = GetObject("LDAP://" & strDomainDNS & "/RootDSE")
strDnsHostName = objRootDSE.Get("dnsHostName")
strDsServiceName = objRootDSE.Get("dsServiceName")
Wscript.Echo "Using DC " & strDnsHostName

' Get the current infrastructure fsmo.
strInfraDN = "CN=Infrastructure," & NdncDN
set objInfra = GetObject("LDAP://" & strInfraDN)
Wscript.Echo "infra fsmo is " & objInfra.fsmoroleowner

' If the current fsmo holder is deleted, set the fsmo holder to this domain controller.

if (InStr(objInfra.fsmoroleowner, "\0ADEL:") > 0) then

' Set the fsmo holder to this domain controller.
objInfra.Put "fSMORoleOwner", strDsServiceName
objInfra.SetInfo

' Read the fsmo holder back.
set objInfra = GetObject("LDAP://" & strInfraDN)
Wscript.Echo "infra fsmo changed to:" & objInfra.fsmoroleowner

End if

End if

gestartet wird das ganze dann wie folgt (Anpassung des Domänennames ist nötig - hier als Beispiel: contoso.com):
cscript fixfsmo.vbs DC=DomainDnsZones,DC=contoso,DC=com


Quellen für weitere Informationen bzw. manuellen Umzug der Rolle:
smtp25.blogspot.com: Replicating Directory Changes in Filtered Set access rights for the naming context
dikmenoglu.de: DCDIAG: NCSecDesc Fehler
dikmenoglu.de: Die Infrastrukturmaster der Anwendungsverzeichnispartitionen
Microsoft KB949257: Error message when you run the "Adprep /rodcprep" command in Windows Server 2008: "Adprep could not contact a replica for partition DC=DomainDnsZones,DC=Contoso,DC=com"
“Das einzig sichere System müsste ausgeschaltet, in einem versiegelten und von Stahlbeton ummantelten Raum und von bewaffneten Schutztruppen umstellt sein.”
Gene Spafford (Sicherheitsexperte)