Eerder deze week verzocht een klant mij om custom libraries te implementeren binnen hun Windows 7 omgeving. Hier is echter geen group policy voor beschikbaar en kan de invullen van zo'n verzoek wat creativiteit met zich mee brengen. Los van de oplossing op dit verzoek, wil ik even stil staan bij het concept van de “libraries”… wat is een library en wat is het doel ervan? Wat zijn libraries en wat is hun doel? In Windows 7 heeft Microsoft de libraries geïntroduceerd. In eerdere versies van Windows werden bestanden door gebruikers opgeslagen op verschillende locaties, soms zelfs op zo’n manier dat de gebruikers zelf moeite hadden met het terug vinden van bestanden. De libraries geven gebruikers de mogelijkheid om meerdere folders onder één library te voegen en hiermee heeft Microsoft een oplossing geïntroduceerd tegen dit euvel. De bestanden kunnen dus nog steeds op meerdere locaties staan, echter geeft de library de mogelijkheid hier snel een zoek opdracht op uit te kunnen voeren. Dit komt namelijk omdat de mappen die onder de libraries vallen automatisch geïndexeerd worden waardoor zoek opdrachten snel beantwoord kunnen worden. Voor de duidelijkheid, in de libraries zelf worden geen bestanden opgeslagen. Ze bieden enkel één punt van toegang naar de gegevens die staan in de mappen die toegevoegd worden aan de libraries. Indien u nog geen ervaring heeft gehad met de libraries, ze zijn te vinden in de linker kolom binnen Windows Verkennner.
Note: Ik gebruik in onderstaande voorbeelden lokale directories, echter kunnen ook locaties op het netwerk gebruikt worden hoewel deze niet automatisch geïndexeerd zullen worden. Als gebruiker is het eenvoudig een “eigen” library te definieren door middel van de gebruikersinterface. Klik met de rechtermuis ergens in het witte deel van de rechter kolom binnen de libraries, ga naar New en klik op Library.
Hierna kan de naam opgegeven worden voor de aan te maken library. Vervolgens kan de library bewerkt worden door er met de rechtermuis knop op te klikken en Properties te selecteren. In het verschenen venster kunnen door middel van de knop Include a folder… locaties toegevoegd worden aan de library, in mijn situatie de locaties van mijn Software. Onder Optimize this library for: kan het gedrag van deze library bepaald worden; de opties spreken voor zichzelf.
Het resultaat is in de linker kolom te zien.
Ook is het mogelijk in Windows Verkenner de directory op te zoeken, er met de rechtermuis knop op te klikken, en via Include in library de gewenste library te selecteren.
Natuurlijk is het binnen een bedrijf niet wenselijk dat alle gebruikers binnen een organisatie dit zelf moeten doen, vaak is het gewenst standaard instellingen van het bedrijf automatisch door te voeren. Dit kan op meerdere manieren en voor het gemak heb ik drie van deze opties onderstaand uitgewerkt. Met een commando – SHLIB Hiervoor kan gebruik gemaakt worden van de tool SHLIB, een onderdeel van het Windows 7 SDK. Maak een nieuwe library aan: shlib create "%userprofile%\AppData\Roaming\Microsoft\Windows\ Libraries\Software.library-ms" Voeg directories toe aan de library: shlib add "%userprofile%\AppData\Roaming\Microsoft\Windows\ Libraries\Software.library-ms" "C:\ISOS\Microsoft" shlib add "%userprofile%\AppData\Roaming\Microsoft\Windows\ Libraries\Software.library-ms" "C:\Installs\Citrix" Zet de default locatie waar bestanden opgeslagen moeten worden indien ze naar de library gekopieerd worden: shlib setsaveloc "%userprofile%\AppData\Roaming\Microsoft\Windows\ Libraries\Software.library-ms" "C:\ISOS\Microsoft" Met een commando – SLUTIL Hiervoor kan gebruik gemaakt worden van de tool SLUTIL x86 of SLUTIL x64. Maak een nieuwe library aan: slutil create Software Voeg directories toe aan de library: slutil addfolder Software “C:\ISOS\Microsoft” slutil addfolder Software “C:\Installs\Citrix” Zet de default locatie waar bestanden opgeslagen moeten worden indien ze naar de library gekopiëerd worden: slutil savefolder Software “C:\ISOS\Microsoft” Met PowerShell Hiervoor kan gebruik gemaakt worden van de Windows7Library voor PowerShell. Maak een nieuwe library aan: Add-Library –Name “Software” Voeg directories toe aan de library: Add-LibraryFolder –LibraryName Software –FolderPath “C:\ISOS\Microsoft Add-LibraryFolder –LibraryName Software –FolderPath “C:\Installs\Citrix" Zet de default locatie waar bestanden opgeslagen moeten worden indien ze naar de library gekopieerd worden: Set-LibraryFolder –LibraryName Software –DefaultSaveFolder “C:\ISOS\Microsoft" Met een custom Library bestand Dit vergt echter enige kennis van scripting. Voor meer informatie kan er gebruik gemaakt worden van Microsoft’s Library Description Schema Ga naar C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Libraries Selecteer de Library en sleep deze naar Notepad, waarin de gewenste aanpassingen doorgevoerd kunnen worden. Om een voorbeeld te geven, mijn Software library ziet er in Notepad als volgt uit: <?xml version="1.0" encoding="UTF-8"?> <libraryDescription xmlns="http://schemas.microsoft.com/windows/2009/library"> <ownerSID>S-1-5-21-1375846046-1974373900-2408739959-1001</ownerSID> <version>5</version> <isLibraryPinned>true</isLibraryPinned> <templateInfo> <folderType>{5C4F28B5-F869-4E84-8E60-F11DB97C5CC7}</folderType> </templateInfo> <propertyStore> <property name="HasModifiedLocations" type="boolean"><![CDATA[true]]></property> </propertyStore> <searchConnectorDescriptionList> <searchConnectorDescription> <isDefaultSaveLocation>true</isDefaultSaveLocation> <isSupported>true</isSupported> <simpleLocation> <url>C:\ISOS\Microsoft</url> <serialized>MBAAAEAFCAAAAAAAADAAAAAAAY0gAAQBQAAAAY8lsAC4dxcAGfJLgAeXMHgxXyCIg3FzBAAA AAAAAAAABAAAAAAAAAAAAAAAAAAAAYVAUAwHQB+TQDi66kGEiiNCAsCMw0ZGA8yQ6wFAAAAAAAAAAA AAAAAAAAAAAAAAKBQMAAAAAAgE/olnQAQST90UAAgNAgAAEAw7+KxPV5pE/olnqAAAA0t6BAAAAQAAAA AAAAAAAAAAAAAAAAQSAMFAPBwUAAAAUAQ3AEDAAAAAAIxPZ5JEA0USDJ1TT5XMAAAQAgAAEAw7+KxP Z5pE/klnqAAAA4t6BAAAAQAAAAAAAAAAAAAAAAAAAAQTAkGAjBgcA8GAzBwbAYGA0BAAAgBAFCQAA4AAv 7LAAQBAfAF4PBNIqrTaQIK2IAwKwATnZAwLDpDXAAAAAAAAAAAAAAAAAAAAAAAAAoEAxAAAAAAAS8jWe CBAJN1TTBAA2AACAQAAv7rE/UlnS8jWeqCAAAQ3qHAAAAABAAAAAAAAAAAAAAAAAAAAJBwUA8EATBAAA QBAAAAGAAAAABAAAwBAAAQAAAAAcAAAA0CAAAAAAAAA/AAAAEBAAAwAAAAApSc6ACBAAAAADpDXJN1 TTxVTpNmcvN3bmRHAAgCAAAQCAAAocAAAAEzUQNl4KilR8yEODtL/TMpJY2mzAAAAAAAAAAAYAAAADAAA giFAAAAAAAAAqVmZmd3b1RXZyNndhl2bA4ufTxIR+dJS1G21pTm5PMQsN2Uu4OM4RErKA0huGaO9u73UMS kfXiUthdd6kZ+DDEbjNlLuDDeExqCAdorhmTPAAAAA</serialized> </simpleLocation> </searchConnectorDescription> <searchConnectorDescription> <isSupported>true</isSupported> <simpleLocation> <url>C:\Installs\Citrix</url> <serialized>MBAAAEAFCAAAAAAAADAAAAAAAY0gAAQBQAAAAw5Y+H24dxcAcOm/hNeXMHAnj5fYj3FzBAA AAAAAAAAABAAAAAAAAAAAAAAAAAAAAYWAUAwHQB+TQDi66kGEiiNCAsCMw0ZGA8yQ6wFAAAAAAAAAA AAAAAAAAAAAAAAAWBQMAAAAAAgE/IcoQAQSuNHdhxGbzBAA+AACAQAAv7rE/IcoS8jwhqCAAAwIEAAAAA ghEAAAAAAAAAAAAAAAAAAAJBgbAMHA0BQYAwGAsBwcAAAAYAQ4AEDAAAAAAIxPEHKEAMUa0JXa4BAA6A ACAQAAv7rE/QcoS8DxhqCAAAA/rHAAAAgAAAAAAAAAAAAAAAAAAAAADBQaAQHAyBQaAgHAAAgFAEJACA gDA8uvBAAFA8BUg/E0gouOpBhoYjAArADMdmBAvMkOcBAAAAAAAAAAAAAAAAAAAAAAAAgVAEDAAAAAAIx PCHKEAkkbzRXYsx2cAAgPAgAAEAw7+KxPCHqE/IcoqAAAAMCBAAAAAYIBAAAAAAAAAAAAAAAAAAQSA4GAz BAdAEGAsBAbAMHAAAAGAAAAWAAAAEEAAAAHAAAABAAAAwBAAAQLAAAAAAAAAAEAAAQEAAAADAAAAk KxpDIEAAAAAMkOclkbzRXYsx2ccNUa0JXa4BAAoAAAAkAAAAKHAAAAxMFUTJuiYZEvMhzQ7y/ETaCmt5MAAA AAAAAAAAGAAAwAAAAoYBAAAAAAAAgalZmZ39Wd0VmczZXYp9GAu73UMSkfXiUthdd6kZ+DDQbjNlLuDDeE xqCAdorhmTv7+NFjE53lIVbYXnOZm/wA02YT5i7wgHRsqAQH6ao50DAAAAA</serialized> </simpleLocation> </searchConnectorDescription> </searchConnectorDescriptionList> </libraryDescription>
|