No.1ベストアンサー
- 回答日時:
以前、私が作成したVBSです。
参考になれば。
c:\scripts\test.txt
のアクセス許可を変更します。
Option Explicit
Dim instance
Dim strMoniker
Dim objDescriptor
Dim retval
Dim DACL
Dim controlFlags
Dim accessmask
Dim Group
Dim Owner
Dim SACL
Dim number_of_trustees
Dim trustee_Domain
Dim trustee_Name
Dim trustee_Sidstring
Dim i
Dim strACL
'' アクセス権のマスク
Const FULLACCESS = 2032127 '' フルアクセス(All)
Const READ = 1179817 '' 読み取り(RX)
Const UPDATE = 1245631 '' 変更(RWXD)
Const R = 1179785 '' 特殊なアクセス権(R)
Const W = 1179926 '' 特殊なアクセス権(W)
Const X = 1179808 '' 特殊なアクセス権(X)
Const D = 65536 '' 特殊なアクセス権(D)
Const P = 262144 '' 特殊なアクセス権(P)
Const O = 524288 '' 特殊なアクセス権(O)
Const ImpLevel = "{impersonationLevel=impersonate}"
Const namespace = "!root\cimv2:"
Const objectpath = _
"Win32_LogicalFileSecuritySetting=""c:\\scripts\\test.txt"""
strMoniker = "winmgmts:" & ImpLevel & namespace & objectpath
Set instance = GetObject(strMoniker)
If instance Is Nothing Then
MsgBox ("インスタンスを取得出来ません。")
WSCript.Quit
End If
retval = instance.getsecuritydescriptor(objDescriptor)
Set DACL = objDescriptor.Properties_.Item("dacl") ' get dacl
controlFlags = objDescriptor.Properties_.Item("controlflags")
Set Group = objDescriptor.Properties_.Item("Group")
Set Owner = objDescriptor.Properties_.Item("Owner")
Set SACL = objDescriptor.Properties_.Item("Sacl")
number_of_trustees = UBound(DACL.Value)
WScript.Echo "ドメイン名\ユーザ名:SID\アクセス権\アクセスマスク"
For i = 0 To number_of_trustees
Set trustee_Domain = DACL.Value(i).Properties_.Item _
("trustee").Value.Properties_.Item("Domain")
Set trustee_Name = DACL.Value(i).Properties_.Item _
("trustee").Value.Properties_.Item("Name")
Set trustee_Sidstring = DACL.Value(i).Properties_.Item _
("trustee").Value.Properties_.Item("Sidstring")
accessmask = DACL.Value(i).Properties_.Item _
("AccessMask").Value ' Save the accessmask
Select Case accessmask
Case FULLACCESS
strACL = "フルコントロール(All)"
Case READ
strACL = "読み取り(RX)"
Case UPDATE
strACL = "変更(RWXD)"
Case Else
strACL = accessmask
End Select
WScript.Echo trustee_domain & "\" & trustee_name & ":" & trustee_Sidstring & ":" & strACL & ":" & accessmask
If trustee_name = "Administrators" Then
'アクセス許可の設定
'Administratorsを「読み取り」にする
objDescriptor.Properties_.Item("dacl").Value(i).Properties_.Item _
("AccessMask").Value = R
End If
Next
retval = instance.setsecuritydescriptor(objDescriptor)
If retval = 0 Then
MsgBox "成功しました。"
Else
MsgBox "セキュリティ設定を変更できませんでした。"
End If
Set instance = Nothing
WSCript.Quit
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ドライブ・ストレージ crucialのx6をパソコンで使っていましたが、 使わなくなったので、 iPhone13proma 2 2023/02/15 11:01
- フリーソフト イーファンビューでwebpファイルが開けません 1 2022/07/12 07:07
- Microsoft ASP C#からvbsを実行したい 5 2022/11/24 17:31
- その他(OS) WindowsとMS-DOSの違いって何ですか? 5 2022/10/26 02:19
- Excel(エクセル) Excel-VBAの「しばらくお待ちください」のダイアログが自動的に閉じない 2 2023/05/24 15:31
- Windows 7 Windows7でMicrosoft VirtualPC2007 SP1を使用する 9 2022/11/17 13:12
- Windows 10 パソコン使っていたら下記の表示されたのですが、意味を教えてください。 3 2023/02/15 17:49
- ドライブ・ストレージ 増設のHDDがNTFSではなくRAWになってしまった。回復方法は? 2 2023/08/11 10:21
- Gmail 現在、お名前ドットコムで取得したドメインから「hello@〜」というメールアドレスを作成し、Gmai 1 2022/07/03 23:13
- その他(コンピューター・テクノロジー) exFATの外付けSSDのデータをWindowsのパソコンの内蔵ストレージ(NTFS)に書き込んだら 4 2023/08/07 15:13
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
高速道路を降りずに友人を拾う...
-
諏訪市から軽井沢に車で行くの...
-
高速道路の途中で人と待ち合わ...
-
常磐道下りの守谷サービスエリ...
-
神戸から名古屋へドライブ
-
天草から湯布院までのルートに...
-
環八から中央道への入り口
-
埼玉近郊で超初心者にもオスス...
-
東京-山形へ車で何時間?
-
高速道路の渋滞を20kmとか35...
-
保土ヶ谷バイパスの渋滞(所要...
-
SDカードに曲を取り込みカーナ...
-
西湘バイパス 料金所カット法
-
千葉市内から房総半島1周する...
-
名古屋から草津温泉にマイカー...
-
Iphoneのアクセスガイド中に着...
-
埼玉県道51号線(川越上尾線)...
-
HDAをMP3に変換
-
高速道路に乗らない夫
-
長瀞の有名なカキ氷(阿佐美冷...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
高速道路を降りずに友人を拾う...
-
HDAをMP3に変換
-
平日朝6時台の環八の混雑具合を...
-
諏訪市から軽井沢に車で行くの...
-
高速道路の途中で人と待ち合わ...
-
長野県 善光寺から草津温泉...
-
渋滞時、携帯トイレとおむつど...
-
諏訪銘菓?くるみやまびこ 松...
-
法定速度が60キロの道路 みなさ...
-
ネットカフェでUSBを使用し、そ...
-
高速道路に乗らない夫
-
Iphoneのアクセスガイド中に着...
-
女性は携帯トイレよりも紙おむつ
-
山陽自動車道・中国自動車道 ど...
-
千葉市内から房総半島1周する...
-
東京-山形へ車で何時間?
-
通勤経路の変更について
-
北陸自動車道と中央自動車道は...
-
埼玉近郊で超初心者にもオスス...
-
東京から万座温泉に行くのに...
おすすめ情報