it-swarm-ja.com

AzureADアカウントのWindows10NTFSアクセス許可

Windows10をAzureActive Directoryに参加させ、AzureADの電子メールアドレスとパスワードでサインインしました。

whoamiAzureAD\<Full Name>を返し、ユーザープロファイルフォルダーのNTFSアクセス許可では、フォルダーの所有者もAzureAD\<Full Name>として表示されます。ユーザーには、Users\<Full Name>というプロファイルフォルダーがあります。

ただし、他のフォルダにアクセス許可を付与したい場合、Select a principalダイアログでこのユーザーをまったく選択できません。 Azure ADユーザーの正しい構文は何ですか?

Azure ADアカウントのみを使用する場合、Local Usersにはユーザーアカウントはまったくありません(ローカルユーザーにリンクされているMicrosoftアカウントとは異なります)。

6
Monstieur

新しいバージョンでは実際のドメイン名が表示されますが、同じ問題が引き続き存在します。 Powershellを使用してアクセス許可を設定できます。

    $dir = get-item -Path 'C:\users\jshelby\Desktop\testdir\'    
    $acl = $dir.GetAccessControl('Access')
    $username = 'domain\username'
    $AccessRights = New-Object System.Security.AccessControl.FileSystemAccessRule($Username,'Modify','ContainerInherit,ObjectInherit','None','Allow')
    $Acl.SetAccessRule($AccessRights)
    Set-Acl -path $Path -AclObject $Acl
1
Jesus Shelby

イエスの台本にはタイプミスがあります。

_Set-Acl : Cannot bind argument to parameter 'Path' because it is null.
At line:6 char:19
+     Set-Acl -path $Path -AclObject $Acl
+                   ~~~~~
    + CategoryInfo          : InvalidData: (:) [Set-Acl], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.SetAclCommand
_

これは更新されたスクリプトです:

_    $dir = get-item -Path 'C:\users\jshelby\Desktop\testdir\'    
    $acl = $dir.GetAccessControl('Access')
    $username = 'domain\username'
    $AccessRights = New-Object System.Security.AccessControl.FileSystemAccessRule($Username,'Modify','ContainerInherit,ObjectInherit','None','Allow')
    $Acl.SetAccessRule($AccessRights)
    Set-Acl -path $dir -AclObject $Acl
_

また、これを最初にPowerShellCoreで試しました。 $dir.GetAccessControl()はPowerShellCoreには存在しないようで、WindowsPowerShellのみに存在します。

1
user1056722

Windows 10、ビルド1809でテストされているこの短いPowerShellの例を使用できます。これは、Azure ActiveDirectoryに登録されています。 $ pathをローカルフォルダーに変更してください。$ permissionには任意のAzureADユーザーを使用できますが、ユーザー名はAzureAD\upn形式である必要があります(例:AzureAD\[email protected])。

$path = "C:\myfolder"
$permission = "AzureAD\[email protected]","FullControl","Allow"
(Get-Acl $path).SetAccessRule((New-Object System.Security.AccessControl.FileSystemAccessRule $permission)) | Set-Acl $path
0
Hrvoje Kusulja