グループポリシーを使用してWindows 7ライブラリを操作するにはどうすればよいですか?


11

ユーザーごとに、ライブラリの場所をWindows 7の「ライブラリ」の場所に追加および削除しようとしています。

これはデスクトップから簡単に実行でき、エクスプローラーに表示されるライブラリを簡単に無効にできますが、ライブラリの場所から場所を追加または削除するにはどうすればよいですか(たとえば、ユーザーのドキュメントライブラリからc:\ users \ public \ documentsを削除します)?

ライブラリの場所のリストを「ロック」する必要はありません。彼らが望むように自分の場所を追加したり削除したりするのはうれしいですが、提供される最初の場所を制御したいと思います。


この質問と回答を追加して、解決が難しいと思われるものを文書化して、他の人の役に立つようにしました。私がまだ見逃した他の方法、特に簡単な方法を聞いて、とても興味があります!
ロブモアー

回答:


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それは関係なく、ユーザーがログインを動作しますが、など
ジョエル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.