Grup İlkesi aracılığıyla Windows 7 Kitaplıklarını nasıl değiştirebilirim?


11

Kullanıcılarımın her biri için Windows 7'nin "Kütüphane" konumlarından Kütüphane konumlarını eklemeye ve kaldırmaya çalışıyorum.

Bunu masaüstünden yapmak ve explorer'da görünen kitaplıkları devre dışı bırakmak kolay olsa da, bir kitaplık konumuna nasıl konum ekleyebilir veya bu konumdan konum kaldırabilirim (örneğin, kullanıcının belge kitaplığından c: \ users \ public \ belgelerini kaldırabilirim)?

Kütüphane konumları listesini 'kilitlemem' gerekmiyor, kendi konumlarını istedikleri gibi eklemeleri ve silmeleri için mutluyum, ancak sunulan ilk konumları kontrol etmek istiyorum.


Çözülmesi zor bulduğum bir şeyi belgelemek için bu soruyu ve cevabı ekledim, böylece başkalarına yardımcı olabilir. Hala özlediğim diğer yöntemleri, özellikle daha kolay olanları duymakla çok ilgileniyorum!
Rob Moir

Yanıtlar:


11

Windows 7 kitaplıkları aslında onları yöneten bazı akıllı kabuk uzantılarına sahip XML dosyalarıdır. Hepsine [Library_Name] .library-ms (Örn. Pictures.library-ms) denir ve sürükleyip bırakarak not defteri gibi herhangi bir metin düzenleyicisinde açılabilir.

Dosyalar daha sonra komut dosyaları, Grup İlkesi Tercihleri ​​vb. Gibi herhangi bir normal mekanizma kullanılarak yayınlanabilir.

Bilmem gereken, bilmeniz gereken birkaç şey var:

  • XML, kitaplık dosyasını kullanan kullanıcı hakkındaki bilgileri depolar

  • Windows, üzerine çift tıkladığınızda / üzerinde değişiklik yaptığınızda XML'i otomatik olarak günceller / üzerine yazar. Bu, özellikle çift tıklamanın dosyanızı kullanıcılar için kullanılamaz hale getireceği bir yönetici olarak sorunludur

  • Dosyayı salt okunur yaparsanız, bu, kitaplığın salt okunur görünmesini sağlayarak kullanıcıların kaydetmesini önler.

Bazı deneme yanılma işlemlerinden sonra, aşağıda göndereceğim varsayılan Kitaplıkları kullanarak bazı 'boş' şablonlar geliştirdim.

Yeni varsayılan konumları özelleştirmek için aşağıdaki bilinen klasörler kılavuzunu kullanabilirsiniz:

http://msdn.microsoft.com/en-us/library/bb882665.aspx

Ve aşağıdakileri kütüphane mimarisiyle ilgili faydalı referanslar olarak buldum:

http://msdn.microsoft.com/en-us/library/windows/desktop/dd798389(v=vs.85).aspx http://msdn.microsoft.com/en-us/magazine/dd861346.aspx

Aslında, en iyi denemeyi bulduğum yol, GUI'yi kullanarak değişiklik yapmak ve nelerin değiştiğini incelemekti.

evraklar

<?xml version="1.0" encoding="UTF-8"?>
<libraryDescription xmlns="http://schemas.microsoft.com/windows/2009/library">
  <name>@shell32.dll,-34575</name>
  <version>20</version>
  <isLibraryPinned>true</isLibraryPinned>
  <iconReference>imageres.dll,-1002</iconReference>
  <templateInfo>
    <folderType>{7d49d726-3c21-4f05-99aa-fdc2c9474656}</folderType>
  </templateInfo>
  <propertyStore>
    <property name="HasModifiedLocations" type="boolean"><![CDATA[false]]></property>
  </propertyStore>
  <searchConnectorDescriptionList>
    <searchConnectorDescription publisher="Microsoft" product="Windows">
      <description>@shell32.dll,-34577</description>
      <isDefaultSaveLocation>true</isDefaultSaveLocation>
      <isDefaultNonOwnerSaveLocation>true</isDefaultNonOwnerSaveLocation>
      <isSupported>true</isSupported>
      <simpleLocation>
        <url>knownfolder:{FDD39AD0-238F-46AF-ADB4-6C85480369C7}</url>
      </simpleLocation>
    </searchConnectorDescription>
  </searchConnectorDescriptionList>
</libraryDescription>

Müzik

<?xml version="1.0" encoding="UTF-8"?>
<libraryDescription xmlns="http://schemas.microsoft.com/windows/2009/library">
  <name>@shell32.dll,-34584</name>
  <version>12</version>
  <isLibraryPinned>true</isLibraryPinned>
  <iconReference>imageres.dll,-1004</iconReference>
  <templateInfo>
    <folderType>{94d6ddcc-4a68-4175-a374-bd584a510b78}</folderType>
  </templateInfo>
  <propertyStore>
    <property name="HasModifiedLocations" type="boolean"><![CDATA[false]]></property>
  </propertyStore>
  <searchConnectorDescriptionList>
    <searchConnectorDescription publisher="Microsoft" product="Windows">
      <description>@shell32.dll,-34577</description>
      <isDefaultSaveLocation>true</isDefaultSaveLocation>
      <isDefaultNonOwnerSaveLocation>true</isDefaultNonOwnerSaveLocation>
      <isSupported>true</isSupported>
      <simpleLocation>
        <url>knownfolder:{4BD8D571-6D19-48D3-BE97-422220080E43}</url>
        </simpleLocation>
    </searchConnectorDescription>
  </searchConnectorDescriptionList>
</libraryDescription>

Resimler

<?xml version="1.0" encoding="UTF-8"?>
<libraryDescription xmlns="http://schemas.microsoft.com/windows/2009/library">
  <name>@shell32.dll,-34595</name>
  <ownerSID></ownerSID>
  <version>6</version>
  <isLibraryPinned>true</isLibraryPinned>
  <iconReference>imageres.dll,-1003</iconReference>
  <templateInfo>
    <folderType>{b3690e58-e961-423b-b687-386ebfd83239}</folderType>
  </templateInfo>
  <propertyStore>
    <property name="HasModifiedLocations" type="boolean"><![CDATA[false]]></property>
  </propertyStore>
  <searchConnectorDescriptionList>
    <searchConnectorDescription publisher="Microsoft" product="Windows">
      <description>@shell32.dll,-34577</description>
      <isDefaultSaveLocation>true</isDefaultSaveLocation>
      <isDefaultNonOwnerSaveLocation>true</isDefaultNonOwnerSaveLocation>
      <isSupported>false</isSupported>
      <simpleLocation>
        <url>knownfolder:{33E28130-4E1E-4676-835A-98395C3BC3BB}</url>
      </simpleLocation>
    </searchConnectorDescription>
  </searchConnectorDescriptionList>
</libraryDescription>

Videolar

<?xml version="1.0" encoding="UTF-8"?>
<libraryDescription xmlns="http://schemas.microsoft.com/windows/2009/library">
  <name>@shell32.dll,-34620</name>
  <ownerSID></ownerSID>
  <version>4</version>
  <isLibraryPinned>true</isLibraryPinned>
  <iconReference>imageres.dll,-1005</iconReference>
  <templateInfo>
    <folderType>{5fa96407-7e77-483c-ac93-691d05850de8}</folderType>
  </templateInfo>
  <propertyStore>
    <property name="HasModifiedLocations" type="boolean"><![CDATA[false]]></property>
  </propertyStore>
  <searchConnectorDescriptionList>
    <searchConnectorDescription publisher="Microsoft" product="Windows">
      <description>@shell32.dll,-34577</description>
      <isDefaultSaveLocation>true</isDefaultSaveLocation>
      <isDefaultNonOwnerSaveLocation>true</isDefaultNonOwnerSaveLocation>
      <isSupported>false</isSupported>
      <simpleLocation>
        <url>knownfolder:{18989B1D-99B5-455B-841C-AB7C74E4DDFC}</url>
       </simpleLocation>
    </searchConnectorDescription>
  </searchConnectorDescriptionList>
</libraryDescription>

2
Nerede saklandıklarını merak edenler için%APPDATA%\Microsoft\Windows\Libraries
Agent_9191

: Güzel bir güncelleme bir ağ paylaşımına bir kütüphane işaret etmek bir yol olacağını \\server\%username%\documents, \\server\%username%\music. O olursa olsun kullanıcı günlükleri çalışacak olurken, vb
Joel Coel

7

Bulduğum tek yöntem, kütüphaneler için Windows 7 Powershell uzantılarını burada kodplex'ten kullanmaktır .

Bu bir oturum açma komut dosyasında kullanılabilir (her kullanıcı için kendi bağlamında çalıştırılması gerekir) ve kitaplık konumlarını eklemek ve kaldırmak için yöntemler içerir.

Basit kod

Import-Module "\\myserver\location\Windows7Library\Windows7Library.psm1"
# Before we can use the new commands from this module, it needs to be imported.

add-LibraryFolder -LibraryPath (Get-KnownFolder "VideosLibrary").path -FolderPath "\\borehamwood\dvds"
# add location to video library
#
Remove-LibraryFolder -LibraryPath (Get-KnownFolder "DocumentsLibrary").path -FolderPath "C:\users\Public\Documents"
Remove-LibraryFolder -LibraryPath (Get-KnownFolder "MusicLibrary").path -FolderPath "C:\users\Public\Music"
# remove locations from both the documents, and then the music library.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.