May 2009 - posts - Premier Field Engineering

May 2009 - posts

ISA discovery via DNS – een weetje!

Vorige week was ik bij een klant die me vroeg om even te helpen bij het opzetten van WPAD records in DNS voor hun ISA 2006 server. Ze kwamen er niet helemaal uit. Ach, hoe moeilijk kan het zijn dacht ik, en ik schoof aan.

Het idee is simpel genoeg. Je laat ISA 2006 zijn gegeven publiceren op het interne netwerk, en je maakt in DNS een alias (CNAME) record aan met de naam “wpad”. Vervolgens zijn alle browser clients in staat de juiste gegevens op te vragen via de url http://wpad/wpad.dat, mits de client in het juiste domein staat. Immers, de DNS client zal de single name “wpad”  aanvullen tot wpad.domain.com, en dat aanbieden aan de DNS server. Dit geeft de alias terug met de juiste hostname (isa1.domain.com), die de client vervolgens opnieuw aan DNS vraagt om het IP adres te ontdekken.

Het netwerk van de klant is volledig gebseerd op Windows 2003, heet sol.local, en de ISA 2006 server is onderdeel van het domein onder de naam isa1.sol.local. Het alias wpad.sol.local was aangemaakt en wees naar de ISA server. Hun probleem was dat DNS het alias niet wilde teruggeven. Allerlei andere aliassen wel, maar wpad.sol.local bleef onbekend. Ik keek even of het alias correct was gespeld, en verwees naar de juiste FQDN hostnaam. Dat klopte:

image

Nou, dan blijft er maar een ding over: negative caching, het verschijnsel dat de DNS server en client onthouden wanneer een query niets oplevert en vervolgens niet verder zoeken als de vraag nog eens wordt gesteld. Dus ik deed lokaal de bekende ‘ipconfig /flushdns’ en maakte de cache van de DNS server leeg. Maar toen sloeg de verbijstering toe… :

image

Het was precies zoals de klant het zei: alles wordt geresolved, behalve wpad.sol.local. Ik heb nog DNS debug logging aangezet, gekeken met netmon 3, en nog allerlei andere dingen geprobeerd voordat ik besloot om mijn collega Dirk-Jan te gaan bellen. Hij is onze ISA expert. Hij moest diep graven in zijn geheugen, maar er kwam uiteindelijk iets boven.

Wat blijkt: er is een security issue met hosten van wpad records in DNS! Het is beschreven in ms09-008, en is daarmee behoorlijk recent. Het probleem is dat in een omgeving met dynamic DNS het mogelijk is om als eerste een wpad record aan te maken, en daarme clients naar een malafide proxy te laten wijzen. De bijbehorende security update kb968732 was inderdaad geinstalleerd op alle DNS servers van de klant. Wat doet de update? Hij implementeert een block-list voor DNS. Als een record op de block-list staat wordt het nooit teruggegeven. Voor bestaande situaties zal de update niets blokkeren. Als je nu al wpad records geconfigureerd hebt maar de update nog niet geinstalleerd hebt dan is er niets aan de hand. Maar bij een nieuwe implementatie loop je er tegenaan.

De block-list staat in de registry als een REG_MULTI_SZ value: HKLM\SYSTEM\CurrentControlSet\Services\DNS\Parameters\GlobalQueryBlockList. De value is naar keuze te bewerken, en wordt actief na een herstart van de DNS service.

image

We hebben de waarde wpad verwijderd, DNS herstart, en alles begon weer “normaal” te werken:

image

Bovenstaand verhaal speelt zich af in een Windows 2003 wereld. Windows 2008 kent dezelfde feature, maar is het vanaf het begin ingebouwd. Hierbij is het ook niet nodig om de registry te editten, maar wordt de feature ondersteund via dnscmd zoals bijvoorbeeld beschreven op het ISA blog.

Posted door Willem Kasdorp | met no comments
Opgeslagen onder: , ,

Office Sharepoint Server 2007 Service Pack 2 bug zet licentie om naar triallicentie

In Service Pack 2 voor Office Sharepoint Server 2007 zit een bug die ervoor zorgt dat de expiration date van het product verkeerd wordt verwerkt in het register. Dit zorgt ervoor dat het product na 180 dagen grotendeels stopt met functioneren. Dit is niet terug te vinden in de eventlogs of ULS logs. De enige verwijzing is te vinden wanneer je kijkt naar Check Services Enabled on this Farm in de Operations sectie binnen Central Administration.

In deze lijst staat dan een melding welke zegt: The trial installation on server <servernaam> will expire on <datum>

Een workarround voor dit probleem is:

  1. Browse to Central Administration
    1. Click on the Windows Start Menu
    2. Click Administrative Tools
    3. Click SharePoint 3.0 Central Administration
  2. Click on the Operations tab
  3. Click on Convert License Type
  4. In the Enter the Product Key textbox, type in your product identification number and click okay.
  5. The License Synchronizer Job will execute on all machines in the farm after a few moments. Once all machines have updated their license from the timer job, the Convert License Type page will reflect the correct license.

Er is inmiddels een KB artikel beschikbaar: http://support.microsoft.com/default.aspx?scid=kb;en-us;971620&sd=rss&spid=11373

Posted door Mark Priem | met no comments

OpsMgr 2007 R2 RTM releases

Gisteren is zoals al op Microsoft’s Management Summit was aangekondigd System Center Operations Manager 2007 R2 (OpsMgr 2007 R2) gereleased.

OpsMgr 2007 R2 is Microsoft’s end-to-end service monitoring tool. OpsMgr 2007 R2 heeft de nodige verbeteringen en vernieuwingen t.o.v. OpsMgr 2007 SP1, te weten:

  • Cross platform monitoring
    • Geintegreerde monitoring van Windows, Linux en Unix servers
    • Integratie met System Center Virtual Machine Manager 2008
  • Service Level Tracking
    • Gedetailleerde rapportage van performance en beschikbaarheid
    • Service Level Monitoring d.m.v. Dashboard
  • Nieuwe monitoring templates
    • Monitoring templates voor process monitoring, OLEDB, Windows Services, etc.
  • Gebruiks verbeteringen
    • Browse MP Catalog vanuit Console
    • Verbeterde Notificatie configuratie
    • Overrides zichtbaar in Console
    • Health Explorer in Web Console
    • One-click maintenance mode
  • Performance verbeteringen
    • Console performance verbeteringen
    • Vergroting van de URL monitoring mogelijkheden
    • Support voor installatie op Microsoft SQL Server 2008

Hieronder zie je alle verschillen tussen MOM 2005, OpsMgr 2007 SP1 en OpsMgr 2007 R2:

Products

Microsoft Operations Manager 2005

System Center Operations Manager 2007 SP1

System Center Operations Manager 2007 R2

End-to-End Datacenter Service Management

 

 

 

Service Oriented Monitoring

 

Synthetic Transactions

Model-based architecture

 

Monitoring Templates

 

WS-Management support

 

SNMPv2 support

Service Level Reporting

 

 

Best of Breed for Windows and Beyond

 

 

 

Client Monitoring

 

Audit Collection

 

XML Management Packs

 

Reporting

Self-Tuning Thresholds

 

UNIX/Linux server and workload monitoring

 

 

Power Monitoring

 

 

Increased Efficiency and Control

 

 

 

Server roles

High availability

Monitoring Engine

Notifications

Connector Framework

Consolidated Console

 

Role-based security

 

Active Directory Integration

 

Windows PowerShell command console

 

Windows PowerShell hosting

 

 

Bulk URL Editor

 

 

Microsoft Office Visio Add-In

 

 

* Verbetering t.o.v. vorige versie

Op dit moment is de trial versie van OpsMgr 2007 R2 RTM (build 7221) beschikbaar op Microsoft Download Center. Algemene beschikbaarheid van OpsMgr 2007 R2 RTM zal plaatsvinden op 1 juli 2009, zodat nieuwe en bestaande klanten de software kunnen downloaden van o.a. MVLS.

Als je meer informatie over OpsMgr 2007 R2 wilt lees dan de overview whitepaper, What's New datasheet of ga naar Microsoft.com and Technet.

Forceer replicatie met Powershell

Een collega van me las de blog over het forceren van AD replicatie, en vroeg me waarom ik het niet in Powershell had geschreven. Immers, Powershell heeft de toekomst! Heel System Center maakt er gebruik van, Exchange 2007 ook en binnenkort heeft zelfs AD zijn eigen powershell provider in Windows 2008 R2.

Dat bleek minder moeilijk dan ik dacht, al ben ik absoluut geen expert in Powershell. Wel heb ik enige ervaring  met .NET. Omdat Powershell heel direct integreert met .NET is die ervaring wel handig. In de vorige post had ik een batch pipeline gemaakt om een lijst met DC’s te maken: "dsquery server -limit 0 | dsget server -dnsname | find "."". Al die calls naar externe processen kunnen we nu vervangen door code; zie de functie AllDCs.

Powershell ondersteunt ook ADSI voor directory services, maar ik geef de voorkeur aan .NET code in deze 21e eeuw. Op zich is de zoekroutine direct van het Powershell ScriptCenter op Technet. Ik zoek de objecten van type “server” in de Configuration Container. Dit zijn dezelfde die je ook kan zien in Active Directory Sites & Services. De complicatie is dat niet alle server objecten hier ook DC’s zijn. De DC’s hebben altijd een child object genaamd “CN=NTDS Settings”, dus daar check ik nog even op.  De manier waarop ik hier check verdient niet de schoonheidsprijs omdat ik voor ieder object een call doe… maar goed, voor een snel script is het goed genoeg.

 function AllDCs
{
    $objRootDSE = New-Object System.DirectoryServices.DirectoryEntry('LDAP://rootDSE')
    $objSites = New-Object System.DirectoryServices.DirectoryEntry('LDAP://CN=Sites,' + $objRootDSE.configurationNamingContext)

    $strFilter = "(&(objectCategory=Server)(dNSHostName=*))"
    $objSearcher = New-Object System.DirectoryServices.DirectorySearcher
    $objSearcher.SearchRoot = $objSites
    $objSearcher.PageSize = 1000
    $objSearcher.Filter = $strFilter
    $objSearcher.SearchScope = "Subtree"

    $colProplist = "dNSHostname", "distinguishedName"
    foreach ($i in $colPropList)
    {
        [void] $objSearcher.PropertiesToLoad.Add($i)
    }

    $colResults = $objSearcher.FindAll()

    foreach ($objResult in $colResults)
    {
        $objItem = $objResult.Properties
        $objNTDS = New-Object System.DirectoryServices.DirectoryEntry('LDAP://CN=NTDS Settings,' + $objItem.distinguishedname)
        if ($objNTDS.name -ne $null) {
            $objItem.dnshostname
        }
    }
}

$scriptname = $myInvocation.MyCommand.Name
$logfile = $scriptname -replace (".ps1$", ".log")
Remove-Item $logfile -ea SilentlyContinue

foreach ($dc in AllDCs)
{
    "==== Processing $dc"
    "==== Processing $dc" >> $logfile
    repadmin /kcc $dc >> $logfile
    repadmin /syncall /A /e $dc >> $logfile
    "" >> $logfile
}

"Please review the logfile for errors: $logfile"

Posted door Willem Kasdorp | met no comments

Het Premier Field Engineering team

Tja, hoeveel blogs zijn er, en zijn er al niet genoeg? En het antwoord is natuurlijk: Nee, niet zolang er nog mensen zijn die duidelijk kunnen uitleggen over iets wat nog niet te vinden is op het internet. En dat blijkt nog meer dan genoeg te zijn.

Daarom vind ik het een geweldig idee dat de mannen (helaas zijn er nog geen vrouwen bij) in ons team de tijd vrij maken om tips, trucks, veel gestelde vragen en achtergrond informatie voor de gevorderde IT-Professionals te gaan bloggen.

Laat ik ons even voorstellen. Wij zijn het Premier Field Engineering Team in Nederland. Alle grotere ondernemingen die op basis van Microsoft technologie werken hebben (of zouden dat moeten) een Premier Support contract: om te kunnen bellen als de boel plat ligt, maar veel meer nog, om te voorkomen dat er ooit problemen gaan komen. En daar zorgen de Premier Field Engineers voor. Exclusief voor Premier klanten zijn er diverse diensten ontwikkeld, om kennis over te dragen op het gebied van beheer, troubleshooting, (performance) optimalizatie en stabilisatie. Profiteer mee van de geweldige kennis die zij nodig hebben om hun dagelijks werk te doen. Even voorstellen?

De Helden

Technologie

Mugshots 

Willem, Arjen, Steven & Robin  

Active Directory 

Martijn, Patrick & Pieter  

Windows Platform 

Dirk-Jan

ISA & Windows Security 

Bart, Andre & Erik  

Exchange Server

Martijn & Menzo  

SQL Server

Sander & Mark

Office Sharepoint Server

Erik & Pieter  

System Center Configuration Manager

Andre & Stefan  

System Center Operations Manager

Norman

Biztalk

Happy Blogging!!!

Jan van Eekeren

Manager Premier Field Engineering - Nederland

Microsoft Services

Posted door Mark Priem | met no comments
Opgeslagen onder:

Blijf up to date met Sharepoint informatie

Onlangs heb ik op mijn persoonlijke blog een post gedaan over het vinden van informatie over Microsoft producten http://blogs.microsoft.nl/blogs/mpriem/archive/2009/05/05/waar-vind-ik-mijn-technische-informatie-over-microsoft-producten.aspx . Voor de PFE blog wil ik specifiek ingaan op het up to date blijven met de ontwikkelingen van Sharepoint. Sharepoint is een gigantisch uitgebreid product en het documentatie team draait op volle toeren. Het up to date blijven met informatie is soms een lastige bezigheid.

Maar is dat eigenlijk wel echt zo ???

Als je het goed doet niet. Als Sharepoint Admin hoef je eigenlijk alleen je Outlook 2003+ client maar regelmatig te openen om bij te blijven. Het is namelijk heel gemakkelijk bij te blijven met de ontwikkelingen door gebruik te maken van RSS. Nagenoeg alle RSS feeds staan geregistreerd bij http://www.microsoft.com/rss

Voor Sharepoint admins zijn de volgende feeds genoeg om bij te blijven:

SharePoint Server 2007 Newly Published Content on Technet:
http://services.community.microsoft.com/feeds/feed/SharePointServerNewContent
Windows SharePoint Services 3.0 Newly Published Content on Technet:
http://services.community.microsoft.com/feeds/feed/WindowsSharePointServicesNewContent
SharePoint Server 2007 recent KB's:
http://support.microsoft.com/common/rss.aspx?rssid=11373
Windows SharePoint Services 3.0 recent KB's:
http://support.microsoft.com/common/rss.aspx?rssid=12200&ln=en-us&msid=1042d03858f8dc40b680698ea5d9dbd1

Microsoft Security Bulletins:
http://www.microsoft.com/technet/security/bulletin/secrss.aspx
Microsoft Sharepoint Teamblog:
http://blogs.msdn.com/sharepoint/rss.xml

Voor een compleet overzicht voor beheerders heb je veelal ook informatie nodig over bijvoorbeeld Internet Information Services, SQL server en het besturingsysteem, maar ook daar zijn genoeg feeds van te vinden op http://www.microsoft.com/rss. Vooral de Recent KB feeds zijn heel interessant. Zo blijf je op de hoogte van de laatste issues en patches. Een directe link is http://www.microsoft.com/rss/ViewSearchResults.aspx?ln=en-US&ss=recent+kb&sl=en-US

Zeker in combinatie met Outlook is RSS een krachtige tool. Heb je door snel je mailbox te scannen een interessant artikel gevonden, maar heb je geen tijd om het meteen uit te pluizen, dan maak je er toch gewoon een reminder of follow up taak van..

Naast feeds zijn er natuurlijk meer mogelijkheden, maar heb je weinig tijd (zoals bijna elke admin J ) dan zijn feeds een ideale uitkomst. Ik wil alleen nog zeggen… Vergeet alleen het Technet Resource Center voor Sharepoint en blogs.microsoft.nl niet af en toe te bezoeken J

Posted door Mark Priem | met no comments

Timer Jobs in Sharepoint 2007

Timer jobs in Sharepoint 2007 worden in het product voornamelijk gebruikt om beheertaken in te roosteren zoals het opschonen van Workflow entries, het synchroniseren van configuratie elementen en – sinds Service Pack 2 – het defragmenteren van Database indices. Uiteraard kan je als ontwikkelaar zelf timer job definities schrijven om allerhande zaken te regelen, maar in de praktijk zie ik het niet vaak gebruikt worden. Desalniettemin is er veel onduidelijkheid over wat deze standaard jobs nu precies doen. Met de release van Service Pack 2 en na veel geklaag van zowel klanten als interne medewerkers is er eindelijk een redelijk duidelijk overzicht:

Timer job

Omschrijving

Interval

Application Server Administration Service Timer Job

Gebruikt om zaken m.b.t. shared services te configureren, waarvoor System rechten nodig zijn. Maakt gebruik van de Administration Service.

Elke Minuut

Application Server Timer Job

Gebruikt om zaken voor shared services te configureren waarvoor geen System rechten nodig zijn.

Elke Minuut

Bulk Workflow Task Processing

Verwerkt bulk workflow tasks.

Dagelijks

CEIP Data Collection

Verzamelt en verstuurt informatie voor het Customer Experience Improvement Program.

Dagelijks

Change Log

Verwerkt change data van sites en paginas in de Web application sinds de laatste run van de timerjob.

Dagelijks

Child Farm Content Source Discovery

In een child/parent relatie draait deze job op child farms en registreert nieuwe web applicaties bij de SSP van de parent farm.

Elk kwartier

Database Statistics

Deze timerjob voert optimalisatieslagen uit op de SQL databases. Zo start het SQL query optimalisatie, wat zorgt voor verbetering van SQL statements zoals inserts, updates en deletes (sp_updatestats). Vanaf Service Pack 2 zorgt deze timerjob ook voor database defragmentatie (hiervoor gebruikt het een eigen index defragmentatie stored procedure, dit gaat niet via een maintenance plan).

Wekelijks

Dead Site Delete

Met auto site cleanup zorgt deze timerjob voor het verwijderen van sites.

Dagelijks

Disk Quota Warning

Identificeert sites die over de quota zijn.

Daily

Document Conversions

Roostert document conversions in en start ze.

Elke Minuut

Expiration Policy

Zoekt naar list items waarvan de expiration date is verlopen en start disposition processing. Disposition processing zorgt oa voor het verplaatsen van items, het starten van workflows of het verwijderen van items op basis van de retention policies.

Dagelijks

Hold Processing and Reporting

Genereert een hold report met alle items die in hold staan, en haalt ze uit de hold indien nodig. Dit is onderdeel van het Records Centre, om belangrijke documenten uit de policies te halen zodat ze niet verwijderd of verplaatst kunnen worden.

Dagelijks

Immediate Alerts

Stuurt (geroosterde) alerts.

Elke Minuut

Indexing Schedule Manager on SQL Server

Start Crawls.

Elke Minuut

Information Management Policy

Werkt alle lists af en haalt usage en policy data op.

Dagelijks

Licensing Synchronizer Job

Zorgt voor het synchroniseren van de verloopdatum van trial versies met de configuration database.

Elk Uur

My Site Cleanup Job

Wanneer een gebruiker verwijderd wordt, start het een workflow op de MySite. Standaard stuurt het een email naar de manager met het verzoek gegevens veilig te stellen, omdat de MySite binnenkort verwijderd zou kunnen worden.

Elk Uur

Office SharePoint Server CEIP Data Collection

Verzamelt data voor het Customer Experience Improvement Program.

Dagelijks

Office SharePoint Usage Analytics Log Import

Importeert de usage logs voor elke site.

Dagelijks

Office SharePoint Usage Analytics Processing

Verwerkt de usage gegevens voor elke site tot logs

Elke Minuut

Profile Synchronization

Update de profiel informatie in de content databases met de profielinformatie uit de Profile database.

Elk Uur

Quick Profile Synchronization

Update alleen de profiel informatie voor nieuwe gebruikers in de content databases vanuit de Profile database.

Elke Minuut

Records Center Processing

Zoekt voor records in de Records Center DropOffLibrary en routeert bestanden die daaraan gekoppeld zijn.

Dagelijks

Recycle Bin

Verwerkt items in de Recycle Bin door ze of te verwijderen of te verplaatsen naar de second stage.

Dagelijks

Scheduled Approval

Zorgt ervoor dat content dat ingeroosterd stond voor Approval de volgende fase van het proces in gaat.

Elke Minuut

Scheduled Page Review

Zorgt ervoor dat content dat ingeroosterd stond voor Review de volgende fase van het proces in gaat.

Dagelijks

Scheduled Unpublish

Zorgt voor het unpublishen en verwijderen van content op basis van policies.

Elke Minuut

Search and Process

Verwerkt items op basis van een zoekresultaat en plaatst deze items in de Hold status (Records Centre).

Dagelijks

Shared Services Provider Synchronizing Job

Zorgt voor de configuratie en synchronisatie van een SSP.

Elke Minuut

Shared Services Timer Job

Rooster SSP jobs in voor elke SSP. De jobs draaien in de context van het SSP application pool account van de Web Services website.

Elke Minuut

SharePoint Services Search Refresh

Zorgt voor een WSS Search service configuratie refresh.

Elke Minuut

SharePoint Worker Process Group Update

Verzorgt wijzigingen aan de WSS_ADMIN_WPG local groups op de frontends.

Ad-Hoc

SKU Type Synchronization Job

Synchroniseert versie en license informatie voor Standard en Enterprise edities naar de configuratie database. 

Elk Uur

Synchronization Scheduler

Wijzigt de roosters van Profile Synchronization en Quick Profile Synchronization jobs.

Minutes

Usage Analysis

Verwerkt de usage logs tot reports op elke site.

Dagelijks

Variations Propagate Page Job Definition

Als in de Automatic Creation settings voor de variations staat aangegeven dat pagina's en sites in alle labels automatisch moeten worden aangemaakt, maakt deze timerjob de peer pages automatisch aan in een unpublished status als content approved of gepublished wordt.

Elke Minuut

Variations Propagate Site Job Definition

Als in de Automatic Creation settings voor de variations staat aangegeven dat pagina's en sites in alle labels automatisch moeten worden aangemaakt, maakt deze timerjob de peer sites automatisch aan in een unpublished status als content approved of gepublished wordt.

Elke Minuut

Windows SharePoint Services Watson Policy Update

Wijzigt het register om het automatisch uploaden van Watson updates te activeren of deactiveren.

Ad-Hoc

Workflow

Verwerkt ingeroosterde workflow events of events die dmv throtteling niet meteen konden worden afgehandeld in de context van de web applicatie.

Elke Minuut

Workflow Auto Cleanup

Verwijdert workflow events van de workflow tables in SQL op basis van workflow configuratie.

Dagelijks

Workflow Failover

Verwerkt events van workflows die de retry status hebben omdat ze in een eerder stadium niet verwerkt konden worden.

Elke Minuut

 

Voor een compleet overzicht van timerjobs voor bijvoorbeeld alleen WSS of MOSS in combinatie met Project Server, zie http://technet.microsoft.com/en-us/library/cc678870.aspx

Posted door Mark Priem | met no comments

Forceer replicatie door het forest

In een vorige blogpost illustreerde ik een aantal complexiteiten die je tegen kan komen bij een Active Directory upgrade, zeker als je te maken hebt met netwerken die niet volledig routeerbaar zijn of firewalls bevatten. Een aspect dat bij upgrades speelt is dat er in korte tijd veel veranderingen in Active Directory worden doorgevoerd: de demotie en promotie van vele DC’s.

Soms is er nog de extra complicatie dat de namen van de nieuwe DC’s hetzelfde moeten blijven als de oude. Dat is uiteraard geen best practice, maar als er een lange historie is van het gebruiken van DC’s op naam dan is er soms moeilijk onder uit te komen. Deze eis zorgt voor een lastige complicatie tijdens een upgrade: de verwijdering van de oude DC moet geheel door het forest gerepliceerd zijn voordat de nieuwe wordt gepromoveerd.

En ja, dan zou het wel handig zijn om de replicatie door het forest een zetje te kunnen geven. Natuurlijk kan je dan Active Directory Sites & Services openen, en per DC replicatie forceren… maar dat kan handiger. In de Support Tools van Windows 2003 zit het tool repadmin, bedoeld om allerlei aspecten van AD replicatie te bekijken en te sturen. De support tools zijn te vinden op de Windows 2003 CD, of www.microsoft.com/downloads. Let op, de Support Tools zijn specifiek voor het servicepack level, en voor het CPU platform. Er is een whitepaper dat precies uitlegt hoe repadmin werkt en wat je er mee kunt. Goed leesvoer: http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=c6054092-ee1e-4b57-b175-5aabde591c5f.

Om een lang verhaal kort te maken: met een klein batch scriptje rond repadmin forceer je eenmalig replicatie door het hele forest. Dat wil nog niet zeggen dat alle updates bij alle andere DC’s terecht zijn gekomen, want het kan zijn dat een update meerdere sitelinks moet passeren. De kern van het script is “repadmin /syncall /A /e”: trigger inkomende replicatie met alle replicatie partners (/syncall), alle naming contexts (/A), en ook uit ander sites als nodig (/e). Het commando “repadmin /syncall /?” geeft je alle opties.

Sla het volgende script op in een batch file zoals replicate-forest.cmd en run het vanaf een command prompt. Last but not least: de server waar je dit script runt moet alle DC’s kunnen bereiken.

@echo off
::
:: Cycle the KCC on all DC's to recover faster from topology changes, then trigger inbound replication
:: from all direct replication partners of each DC -- across sites if needed.
::
:: Requires the Windows 2003 Support tools, and the AD Admin tools.
::

set logfile=%~n0.log
if exist %logfile% del %logfile%

::
:: Build a list of all DC's in the forest by first querying for their DN's, using those
:: to obtain the FQDN hostname, and finally filtering these hostnames from the dsget output.
:: Not pretty, but it works. Note: the output "repadmin /viewlist *" is unparsable by CMD.
::

for /f "usebackq" %%i in (`"dsquery server -limit 0 | dsget server -dnsname | find ".""`) do (
    echo ==== processing %%i
    echo ==== processing %%i >> %logfile%
    repadmin /kcc %%i >> %logfile%
    repadmin /syncall /A /e %%i >> %logfile%
    echo. >> %logfile%
)

echo Please review the logfile for errors: %logfile%

Service Pack 2 en April Cumulative update voor Sharepoint Services en Server 2007

Sinds vandaag is de April cumulative update voor Sharepoint services en Sharepoint Server 2007 beschikbaar. Aangezien service pack 2 deze week ook is vrijgegeven rijst de vraag: "Hoef ik alleen Service Pack 2 te installeren of is April CU genoeg". Het antwoord is:

Om op de laatste build te komen moet je beiden installeren, omdat Service Pack 2 niet de fixes uit April CU bevat. Als alleen de laatste bugfixes genoeg zijn, kan volstaan worden met April CU. Het is echter aanbevolen zo snel mogelijk naar Service Pack 2 te gaan, aangezien er aanzienlijke verbeteringen op een aantal vlakken zijn aangebracht. Aanvullende Informatie over de fixes is te vinden op:

KB Links

Description of Windows SharePoint Services 3.0 SP2 and of Windows SharePoint Services 3.0 Language Pack SP2
http://support.microsoft.com/kb/953338
Description of 2007 Microsoft Office servers Service Pack 2 (SP2) and of 2007 Microsoft Office servers Language Pack Service Pack 2 (SP2)
http://support.microsoft.com/kb/953334

KB links voor April CU zijn nog niet beschikbaar. Ik post ze zo snel mogelijk.

Download Links

Service Pack 2 for Windows SharePoint Services 3.0, x86 & x64
http://www.microsoft.com/downloads/details.aspx?FamilyId=79BADA82-C13F-44C1-BDC1-D0447337051B&displaylang=en

Service Pack 2 for Office SharePoint Server 2007, x86 & x64
http://www.microsoft.com/downloads/details.aspx?FamilyId=B7816D90-5FC6-4347-89B0-A80DEB27A082&displaylang=en

April CU for Windows SharePoint Services 3.0, x86 & x64 (UBER PACKAGE)
http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=968850&kbln=en-us

April CU for Office SharePoint Server 2007, x86 & x64 (GLOBAL only. Uber package wordt verwacht over een week)
http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=968859&kbln=en-us

Aanvullende informatie:

http://blogs.msdn.com/sharepoint/archive/2009/04/28/announcing-service-pack-2-for-office-sharepoint-server-2007-and-windows-sharepoint-services-3-0.aspx

http://blogs.msdn.com/joerg_sinemus/archive/2009/05/01/should-i-install-sp2-and-or-april-cu.aspx