- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:共有フォルダへのショートカットの作り方について)
共有フォルダへのショートカットの作り方について
このQ&Aのポイント
- トップディレクトリに属しているアカウントごとに、セキュリティグループに応じて利用できる共有フォルダを作成する方法を教えてください。
- ログオンスクリプトを使用して、特定のセキュリティグループに属しているアカウントに対して、共有フォルダへのショートカットをデスクトップに表示する方法を教えてください。
- 共有フォルダへのショートカットを作成するためのスクリプトや手順について教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
それだけのユーザー数を管理しているのならすでにグループポリシーも利用しているのではないかと思う。 "グループポリシー ドライブマップ" で検索すれば、ショートカットではないが、共有フォルダーをネットワークドライブとしてマッピングする管理を行うことができる。
お礼
早速のお答えありがとうございます。 確かにグループポリシーは使う予定なのですが、それらの分類がOUではなくセキュリティグループで分かれているのです。 セキュリティグループを基にグループポリシーを切り替えられれば一番なのですが、どうもそのような方法が見つかりません。 そのため、ログオンスクリプトならば方法があるかと探しています。 また、クライアントはすでに使われている状態のものをActive Directoryで改めて管理するという状況のため、ネットワークドライブのドライブ名がすでに使われている可能性があるため、ネットワークドライブの導入に二の足を踏んでいる一因でもあります。 以上のような状況のため、セキュリティグループを基にショートカットを作成する方法を探している次第であります。 説明が足りず、申し訳ありませんでした。
補足
Set objADs = CreateObject("ADSystemInfo") Set objUser = GetObject("LDAP://" & objADs.UserName) Select Case TypeName(objUser.MemberOf) Case "Variant()" strGroups = objUser.MemberOf Case "String" ReDim strGroups(0) strGroups(0) = objUser.MemberOf Case else ReDim strGroups(0) strGroups(0) = Empty End Select For Each strGroup in strGroups If Len(strGroup) > 0 Then Set objGroup = GetObject("LDAP://" & strGroup) strGroupName = LCase(objGroup.CN) Select Case strGroupName Case "グループ1" Call MakeShortCut("10.0.0.1") Case "グループ2" Call MakeShortCut("10.0.0.2") Case "グループ3" Call MakeShortCut("10.0.0.3") End Select End If Next ' ショートカット作成 Sub MakeShortCut(strAddress) Set fso = CreateObject("Scripting.FileSystemObject") Set ws = CreateObject("WScript.Shell") desktop = ws.SpecialFolders("Desktop") Set shortcut = ws.CreateShortcut(desktop & "\共有フォルダ.lnk") With shortcut .TargetPath = "\\" & strAddress & "\share" .WorkingDirectory = desktop .Save End With End Sub といった具合のスクリプトで何とかなりそうです。 ありがとうございました。