ฉันจะจัดการไลบรารี่ Windows 7 ผ่านนโยบายกลุ่มได้อย่างไร


11

ฉันกำลังพยายามเพิ่มและลบที่ตั้งห้องสมุดออกจากที่ตั้ง "ห้องสมุด" ของ Windows 7 สำหรับผู้ใช้แต่ละคนของฉัน

ในขณะที่ทำได้ง่ายจากเดสก์ท็อปและง่ายต่อการปิดการใช้งานห้องสมุดปรากฏใน explorer ฉันจะเพิ่มหรือลบสถานที่จากที่ตั้งห้องสมุด (เช่นลบ c: \ users \ public \ เอกสารจากห้องสมุดเอกสารของผู้ใช้)?

ฉันไม่จำเป็นต้อง 'ล็อค' รายการที่ตั้งของห้องสมุดฉันดีใจที่พวกเขาเพิ่มและลบตำแหน่งของตนเองตามที่พวกเขาต้องการ แต่ฉันต้องการควบคุมตำแหน่งเริ่มต้นที่พวกเขาเสนอ


เพิ่มคำถาม & คำตอบนี้ลงในเอกสารสิ่งที่ฉันพบว่ายากที่จะแก้ไขเพื่อที่จะสามารถช่วยเหลือผู้อื่นได้ ฉันยังคงสนใจเป็นอย่างมากที่จะได้ยินวิธีการอื่นใดโดยเฉพาะอย่างยิ่งวิธีที่ง่ายกว่าที่ฉันพลาด!
Rob Moir

คำตอบ:


11

ไลบรารี Windows 7 นั้นเป็นเพียงไฟล์ XML ที่มีส่วนขยายเชลล์ที่ฉลาดบางตัวที่จัดการพวกมัน พวกเขาทั้งหมดเรียกว่า [Library_Name] .library-ms (เช่น Pictures.library-ms) และสามารถเปิดได้ในโปรแกรมแก้ไขข้อความใด ๆ เช่น Notepad โดยการลากและวาง

ไฟล์นั้นสามารถเผยแพร่โดยใช้กลไกปกติใด ๆ - สคริปต์การตั้งค่านโยบายกลุ่ม ฯลฯ

มีสองสิ่งที่ฉันค้นพบซึ่งคุณควรระวัง:

  • XML เก็บข้อมูลเกี่ยวกับผู้ใช้ที่กำลังใช้ไฟล์ไลบรารี

  • Windows จะอัปเดต / เขียนทับ XML โดยอัตโนมัติเมื่อคุณดับเบิลคลิกที่ / จัดการกับมัน นี่เป็นปัญหาโดยเฉพาะอย่างยิ่งในฐานะผู้ดูแลระบบที่การดับเบิลคลิกจะทำให้ไฟล์ของคุณไม่สามารถใช้งานได้สำหรับผู้ใช้

  • หากคุณทำให้ไฟล์เป็นแบบอ่านอย่างเดียวสิ่งนี้จะมีผลในการทำให้ไลบรารีปรากฏเป็นแบบอ่านอย่างเดียวดังนั้นป้องกันผู้ใช้ไม่ให้บันทึก

หลังจากการทดลองและข้อผิดพลาดบางอย่างฉันได้พัฒนาเทมเพลต 'blank' บางอันโดยใช้ไลบรารีเริ่มต้นที่ฉันโพสต์ด้านล่าง

คุณสามารถใช้คำแนะนำโฟลเดอร์ที่รู้จักกันต่อไปนี้เพื่อปรับแต่งตำแหน่งเริ่มต้นใหม่:

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

และฉันได้พบสิ่งต่อไปนี้เพื่อเป็นข้อมูลอ้างอิงที่เป็นประโยชน์เกี่ยวกับสถาปัตยกรรมห้องสมุด:

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

แต่ที่สำคัญที่สุดวิธีที่ฉันพบว่าดีที่สุดในการทดสอบคือการเปลี่ยนแปลงโดยใช้ GUI และตรวจสอบสิ่งที่เปลี่ยนแปลง

เอกสาร

<?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>

เพลง

<?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>

รูปภาพ

<?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>

วิดีโอ

<?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
สำหรับผู้ที่สงสัยว่าพวกเขาเก็บไว้ที่ไหนพวกเขาสามารถพบได้ภายใต้%APPDATA%\Microsoft\Windows\Libraries
Agent_9191

การอัปเดตที่ดีจะเป็นวิธีชี้ไลบรารีไปยังเครือข่ายที่แชร์: \\server\%username%\documents, \\server\%username%\musicฯลฯ ในขณะที่มันจะทำงานไม่ว่าผู้ใช้จะเข้าสู่ระบบใด
Joel Coel

7

วิธีเดียวที่ฉันค้นพบคือใช้ขอบเขต Windows 7 Powershell สำหรับไลบรารี่ที่มีให้จาก codeplex ที่นี่

สิ่งนี้สามารถใช้ในสคริปต์การเข้าสู่ระบบ (ต้องทำงานสำหรับผู้ใช้แต่ละคนในบริบทของพวกเขา) และมันรวมถึงวิธีการในการเพิ่มและลบที่ตั้งห้องสมุด

โค้ดตัวอย่าง

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.
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.