그룹 정책을 통해 Windows 7 라이브러리를 조작하려면 어떻게합니까?


11

각 사용자의 Windows 7 "라이브러리"위치에서 라이브러리 위치를 추가하고 제거하려고합니다.

데스크탑에서이 작업을 수행하기 쉽고 탐색기에 라이브러리 를 비활성화 하는 것이 쉽지만 라이브러리 위치에서 위치를 추가하거나 제거하려면 어떻게해야합니까 (예 : 사용자의 문서 라이브러리에서 c : \ users \ public \ documents를 제거합니까)?

도서관 위치 목록을 '잠글'필요는 없지만 원하는대로 자신의 위치를 ​​추가하고 제거 할 수있어 기쁘지만 제공되는 초기 위치를 제어하고 싶습니다.


해결하기 어려운 것을 문서화하기 위해이 질문과 답변을 추가하여 다른 사람들에게 도움이 될 수 있습니다. 나는 아직도 놓친 다른 방법, 특히 더 쉬운 방법에 대해 매우 관심이 있습니다!
Rob Moir

답변:


11

Windows 7 라이브러리는 실제로이를 관리하는 영리한 셸 확장명을 가진 XML 파일입니다. 모두 [Library_Name] .library-ms (예 : Pictures.library-ms)라고하며 끌어서 놓기로 메모장과 같은 텍스트 편집기에서 열 수 있습니다.

그런 다음 스크립트, 그룹 정책 기본 설정 등의 일반적인 메커니즘을 사용하여 파일을 게시 할 수 있습니다.

내가 발견 한 몇 가지 사항이 있습니다.

  • XML은 라이브러리 파일을 사용하는 사용자에 대한 정보를 저장합니다

  • Windows는 XML을 두 번 클릭하거나 조작 할 때 자동으로 XML을 업데이트 / 덮어 씁니다. 두 번 클릭하면 사용자가 파일을 사용할 수없는 관리자로서 특히 문제가됩니다.

  • 파일을 읽기 전용으로 설정하면 라이브러리가 읽기 전용으로 표시되어 사용자가 저장할 수 없게됩니다.

시행 착오 후에 아래에 게시하는 기본 라이브러리를 사용하여 '빈'템플릿을 개발했습니다.

다음의 알려진 폴더 안내서를 사용하여 새 기본 위치를 사용자 정의 할 수 있습니다.

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.