3

(win7では非推奨)Caclsを使用してフォルダーへのフルアクセス許可を付与する必要があります。私はcaclsでローカライズされたユーザー名とグループ名を使用する必要があるようです。例えば:

cacls foldername /T /E /C /G Users:F

これにより、「アカウント名とセキュリティIDの間のマッピングが行われていません」というエラーが発生しました。そして、次のコマンドは正常に機能します(ロシア語のユーザー=Пользователи)。

cacls foldername /T /E /C /G Пользователи:F

システム言語に関係なく、フォルダに完全なアクセス許可を付与するにはどうすればよいですか?

4

1 に答える 1

4

ここxcaclsで説明されているように代わりに使用し、名前の代わりにSIDを使用します(よく知られているsidはここにあります

何らかの理由でcaclsで立ち往生している場合はgoogle: cacls sid、sidからnameへの逆マッピングを実行し、これをcaclsに提供する方法をいくつか回避できます。

編集:いくつかの新しいトリックを学ぶことに抵抗できませんでした...この単純なスクリプトは(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

終わり :-)

編集:名前にスペースが含まれている場合に機能するように修正されました(追加delims=)。英語版のツールを使用する場合は、最初のエコーYが機能することにも注意してください。

于 2012-02-02T14:37:12.737 に答える