Es war einmal ein Exchange – der dann abgedreht wurde – und die User wurden dann auf Gmail umgesiedelt.
Das lief prima – bis die User auf den Hosted Exchange von OFFICE365 migriert werden sollten… (und es ja onPrime keinen Exchange mehr gab)…
Das folgende Script hat diese Einträge für alle User einer bestimmten OU entfernt – seither klappts mit der Migration wie am Schnürchen…
Als ExchangeAttributeDelete.vbs speichern und direkt am Domänencontroller starten (nach Anpassung an die eigene Domain!)
On Error Resume Next Const ADS_SCOPE_SUBTREE = 2 Const ADS_PROPERTY_APPEND = 3 Const ADS_PROPERTY_DELETE = 4 Const ADS_PROPERTY_CLEAR = 1 Set objConnection = CreateObject("ADODB.Connection") Set objCommand = CreateObject("ADODB.Command") objConnection.Provider = "ADsDSOObject" objConnection.Open "Active Directory Provider" Set objCommand.ActiveConnection = objConnection objCommand.Properties("Page Size") = 1000 objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE objCommand.CommandText = "SELECT legacyExchangeDN, name, distinguishedName, sAmAccountname, proxyaddresses FROM 'LDAP://OU=lehrer,OU=Benutzer,DC=gymnasium,DC=at' WHERE objectCategory='user'" Set objRecordSet = objCommand.Execute objRecordSet.MoveFirst Do Until objRecordSet.EOF 'Wscript.Echo objRecordSet.Fields("distinguishedName").Value if len(objRecordSet.Fields("legacyExchangeDN").Value)>= 1 THEN Wscript.Echo objRecordSet.Fields("sAmAccountname").Value & " -- " & objRecordSet.Fields("Name").Value '# falls man das Script nur für einen User testen möchte: (ACHTUNG: zweites END IF unten einkommentieren) 'if objRecordSet.Fields("name").Value = "WUT" then 'Wscript.Echo objRecordSet.Fields("name").Value Set objUser = GetObject("LDAP://" & objRecordSet.Fields("distinguishedName").Value) Wscript.Echo objRecordSet.Fields("legacyExchangeDN").Value wscript.echo len(objRecordSet.Fields("legacyExchangeDN").Value) objUser.PutEx ADS_PROPERTY_CLEAR, "msExchHomeServerName", 0 objUser.SetInfo objUser.PutEx ADS_PROPERTY_CLEAR, "legacyExchangeDN", 0 objUser.SetInfo objUser.PutEx ADS_PROPERTY_CLEAR, "homeMDB", 0 objUser.SetInfo objUser.PutEx ADS_PROPERTY_CLEAR, "homeMTA", 0 objUser.SetInfo objUser.PutEx ADS_PROPERTY_CLEAR, "mDBUseDefaults", 0 objUser.SetInfo objUser.PutEx ADS_PROPERTY_CLEAR, "msExchALObjectVersion", 0 objUser.SetInfo objUser.PutEx ADS_PROPERTY_CLEAR, "msExchMailboxGuid", 0 objUser.SetInfo objUser.PutEx ADS_PROPERTY_CLEAR, "msExchMailboxSecurityDescriptor", 0 objUser.SetInfo objUser.PutEx ADS_PROPERTY_CLEAR, "msExchPoliciesIncluded", 0 objUser.SetInfo objUser.PutEx ADS_PROPERTY_CLEAR, "msExchUserAccountControl", 0 objUser.SetInfo objUser.PutEx ADS_PROPERTY_CLEAR, "msNPAllowDialin", 0 objUser.SetInfo objUser.PutEx ADS_PROPERTY_CLEAR, "ShowInAddressBook", 0 objUser.SetInfo objUser.PutEx ADS_PROPERTY_CLEAR, "textEncodedORAddress", 0 objUser.SetInfo wscript.Echo "erfolgreiche geloescht!" & vbcrlf 'end if end if objRecordSet.MoveNext Loop