The case of… Unix Samba share niet bereikbaar op Windows server na uitrol met MDT2012

Bij het installeren van software in de nieuwe omgeving van een klant, liepen we tegen het probleem aan dat we vanuit de Citrix servers de samba share op een unix server niet konden bereiken. Alle servers anders dan de Citrix servers werkten super.

sambashare1Op de Citrix servers kregen we de melding ‘[servernaam] is niet toegankelijk. U hebt mogelijk niet de juiste machtingen voor deze netwerkbron. De RPC is mislukt en niet uitgevoerd’. De engelse vertaling van het laatste stuk is ‘The remote procedure call failed and did not execute’.

Verder onderzoek gaf aan dat het probleem zich niet bevond in geinstalleerde software. Als de server werd uitgerold met MDT 2012 (Microsoft Deployment Toolkit) en alleen het OS (Windows 2008 R2 SP1) met Nederlands languagepack werd uitgerold konden we al niet meer bij de samba share. Echter, dat gebeurde pas na een reboot. Zolang het ‘uitrol succesvol’ scherm in beeld stond was de share benaderbaar. Het leek dus op een policy setting, echter zat de server op dat moment niet in het domein. Het moest dus wel een lokale policy zijn. Maar hoe komt die op een ‘vers’ uitgerolde server terecht.

Na wat zoekwerk op internet blijkt dat in MDT 2012 een nieuwe optie zit. MDT 2012 heeft de mogelijkheid om lokale policies in te stellen met de uitrol van een server. Deze functie heeft de naam GPOPack. Naast deze nieuwe functie heeft Microsoft bedacht dat het handig is om bij bepaalde OSen (Windows 2008/Vista SP2 en Windows 2008R2/Windows 7 SP1) gelijk maar een Baseline Security toe te passen. Deze lokale policies worden in de allerlaatste fase van de uitrol op de machine gezet (zodat ze de uitrol niet in de weg zitten). Wat verklaard waarom pas na een reboot de Samba share niet meer bereikbaar was. De instellingen die in deze default policies worden gezet, zijn hier te vinden in een excel sheet. Dit automatisch toepassen van de policy kan worden gestopt door ‘ApplyGPOPack=NO’ op te nemen in de customsettings.ini van MDT. Daarna was de server ook weer bereikbaar na een nieuwe uitrol.

sambashare3Maar stel dat je deze default beveiligingsinstellingen wel wil behouden. Welke optie zorgt er dan voor dat de Unix Samba share niet meer bereikbaar is. Na wat uitzoekwerk blijkt de optie ‘Microsoft network client: Digitally sign communications (always): Enabled’ hiervoor te zorgen. Als je deze optie disabled of terug zet op ‘not configured’ kan de Windows server weer de Unix Samba share benaderen zonder problemen.

De uitdaging van vandaag: AutoCAD Civil 3D 2012 (deel 2)

In het eerste deel kwam een probleem aan het licht met AutoCAD Civil 3D 2012. Na installatie draait er bij het inloggen van elke gebruiker een setup, die echter wordt geblokkeerd door AppGuard.

Vanuit de eventviewer weten we dat het deze setup/repair in ieder geval door het ontbreken van een registrykey wordt veroorzaakt. Na wat zoekwerk blijkt dat AutoCAD dit de Secundairy Installer noemt. Je kunt niet direct vinden wat deze doet, maar er is wel een KB artikel dat beschrijft hoe je bij een gebruiker met problemen, deze opnieuw kan laten starten. Daarin staat wat je uit het profiel van de gebruiker moet verwijderen. Dit principe draaien we om. Om te voorkomen dat deze Secundairy Installer gaat draaien, gaan we RES Workspace Manager al deze zaken voor ons in het profiel plaatsen.

autocad4Hiervoor starten we eenmalig AutoCAD op onder een administrator account. Na het afsluiten van AutoCAD mag je een export van de registry key HKCU\Software\Autodesk\AutoCAD\R18.2\ACAD-A000:409. In deze export moeten we enkel zaken veranderen. Er staan immers paden in die naar het account verwijzen van het administrator account.

autocad2Zoek in de .reg-file naar de waarde c:\users\[administrator account]\AppData\Local en verander dit in %localappdata%. Zoek daarna naar c:\users\[administrator account\AppData\Roaming en verander dit in %appdata%. Importeer vervolgens het registry-bestand in de RES WM Console.

autocad7Vervolgens hebben we nog een aantal bestanden nodig die in het profiel worden opgeslagen. Ga hiervoor binnen de RESS WM Console naar Compositie>Acties per type>Bestanden en Mappen>Profielmap gebruiker. Maak daar een map AppData aan met twee submappen: Local en Roaming. Voeg daarna de mappen AutoDesk toe met alle inhoud en submappen die er onder vallen. Eerst importeer je hem van c:\users\[administrator account]\AppData\Local\AutoDesk en vervolgens c:\users\[administrator account\AppData\Roaming\AutoDesk.

autocad6AutoCad plaats ruim 30mb aan bestanden in het profiel van de gebruiker en deze heeft vervolgens nog niets gedaan (AutoCAD nog nooit opgestart). Daarom raad ik aan voor AutoCad een silo te maken met mandatory profielen of aparte roaming profielen en een eigen Workspace. Bij uitloggen kan de AutoDesk mappen verwijderd worden, zolang je maar de instellingen opslaat uit het register en van de AppData Roaming map (de Local Appdata kan genegeerd worden). Gebruik je roaming profielen, verwijder dan de mappen uit AppData bij het uitloggen van een gebruiker (bij een mandatory profiel worden ze vanzelf verwijderd). Bovenstaande registry en profielmappen laat je voor iedereen op deze silo/workspace plaatsen bij inloggen en opslaan bij uitloggen. Daarmee voorkom je dat profielen van alle gebruikers te groot worden door de overbodige AutoCad data.

Bij het inloggen gebeurd nu het volgende: RES Workspace Manager staat als Shell ingesteld. Deze start bij het inloggen van een gebruiker op. Verwerkt de registersleutels van AutoCAD in het profiel van de gebruiker en vult de mappen binnen AppData. Daarna wordt pas explorer.exe gestart en controleert Windows/AutoCad het profiel van de gebruiker. Aangezien alle informatie in het profiel aanwezig is, wordt geen repair/setup gestart en logt de gebruiker verder normaal in.

Ik heb bij AutoCad supportdesk een vraag uit staan wat de secundairy setup precies triggered bij het inloggen. Mocht ik daar antwoord op krijgen, dan wordt dat bij dit artikel geplaatst, zodat je mogelijk geen silo meer nodig hebt en bovenstaande niet bij alle gebruikers hoeft uit te voeren, maar de registrykey en AppData bestanden op een gebruikersgroep kan plaatsen.