Windowsの言語に関係なく、ICACLSコマンドでフォルダーを設定してすべてのユーザーにフルアクセスできるようにするにはどうすればよいですか?
Regardless Windows Language
解決:
おそらくフランス語版では機能しませんユーザーが異なる
以下に詳述する3つのオプションがあります。
言語ポータルを使用して、翻訳された名前を取得します
ローカライズされた名前をから取得します
ユーザーSID
使用
ユーザーSID
icacls
オプション1:言語ポータルを使用する(Microsoft用語の正規リソース)
ユーザーを検索すると、次のようになります。
ローカライズされたMicrosoft製品の翻訳
英語翻訳製品ユーザーWindows7ユーザーWindows7ユーザーWindows8ユーザー現代の音声ユーザーWindows8ユーザーWindows8.1ユーザーユーザーユーザーWindows8.1ユーザーWindows10ユーザーWindows10ユーザーWindows10ユーザー記念ユーザー更新ユーザーWindows10記念ユーザー更新これは、次のコマンドが機能する可能性があることを示しています。
icacls C: FullyAccessibleFolder /付与ユーザー:(OI)(CI)F
オプション2:ローカライズされた名前をユーザーSID(S-1-5-32-545)
SID:S-1-5-32-545
名前:ユーザー
説明:組み込みグループ。オペレーティングシステムの初期インストール後、唯一のメンバーはAuthenticatedUsersグループです。コンピューターがドメインに参加すると、ドメインユーザーグループがコンピューターのユーザーグループに追加されます。
ソースWindowsオペレーティングシステムの既知のセキュリティ識別子
ローカライズされたものを取得するにはユーザーグループ名:
この簡単なスクリプトは、「ユーザー」の実際の名前を示します。(S-1-5-32-545)特定のPC上のグループ:
Set objWMIService = GetObject( 'winmgmts:\。 root cimv2')Set objAccount = objWMIService.Get( 'Win32_SID.SID =' S-1-5-32-545 '')Wscript.Echo objAccount.AccountNameそれをvbs拡張子のファイルに入れます(仮定しましょうusersName.vbs)。
今すぐ実行:
echo Y | for / f'delims = '%i in(' cscript -Nologo usersName.vbs ')do cacls foldername / G'%i ':F
ソースCacls、Windows 7、完全なアクセス許可、wmzによるローカル名
オプション3:を使用するユーザーSIDicacls
次のコマンドを使用します。
icacls C: FullyAccessibleFolder / grant * S-1-5-32-545:(OI)(CI)Fハリー・ジョンストンによるソースコメント
ADグループは、名前ではなくSID番号で指定する必要があります。
「EveryOne」、「ドメインユーザー」などの標準グループの場合、標準化されたSID番号があります。これは、MSDNページの既知のセキュリティ識別子(SID)にあります。
以下は、最も一般的な相対識別子です。
SIDの構造は次のように説明されます。
標準表記を使用してSIDをバイナリ形式から文字列形式に変換すると、SIDのコンポーネントを簡単に視覚化できます。
S-R-X-Y1-Y2-Yn-1-Yn
コンポーネント定義S文字列がSIDであることを示しますRリビジョンレベルX識別子権限値Y一連のサブ権限値。nは値の数です。たとえば、組み込みのAdministratorsグループのSIDは、標準化されたSID表記で次の文字列として表されます。
S-1-5-32-544
このSIDには、次の4つのコンポーネントがあります。
改訂レベル(1)
識別子機関の値(5、NT機関)
ドメイン識別子(32、組み込み)
相対識別子(544、管理者)
セキュリティ識別子のしくみ
PowerShellスクリプトが好きであるが、SIDの番号を覚えるのに問題がある場合:
$ acl = Get-Acl。 myfolder $ sid = New-Object System.Security.Principal.SecurityIdentifier([System.Security.Principal.WellKnownSidType] :: BuiltinUsersSid、$ null)$ rule = New-Object System.Security.AccessControl .FileSystemAccessRule($ sid、 'FullControl'、 'ObjectInherit、ContainerInherit'、 'None'、 'Allow')$ acl.AddAccessRule($ rule)Set-Acl。 myfolder $ acl大量の入力のように見えることは知っていますが、これらの長い識別子はタブで入力されています。
System.Security.Principal.SecurityIdentifier fromsecurityi
System.Security.Principal.WellKnownSidType fromwellknownsi
System.Security.AccessControl.FileSystemAccessRule fromファイルシステム
これらの文字列はすべて.NET識別子であるため、ローカライズされません。
あなたがしたい場合代わりに全員のSIDを使用してください代わりにWorldSidBuiltinUsersSid。すべてのリストを取得するにはWellKnownSidTypeオプション。MSDNを参照するか、次のコマンドを実行します。
[System.Security.Principal.WellKnownSidType] .DeclaredFields |名前を選択