GraniResource icon indicating copy to clipboard operation
GraniResource copied to clipboard

cACL cannot be applied to hidden files/folders

Open mkht opened this issue 4 years ago • 0 comments

Description

Attempt to configure ACLs for hidden files/folders using the cACL resource. The resource will fail to configure with an error that the target item is not found.

The DSC configuration that is used to reproduce

Configuration ACLChange
{
    Import-DscResource -ModuleName GraniResource

    node Localhost
    {
        File CreateHiddenFile
        {
            Ensure            = "Present"
            DestinationPath   = "C:\host.txt"
            Type              = "file"
            Contents          = "hoge"
            Attributes        = "Hidden"
        }

        cACL FullCONTROL2HiddenFile
        {
            Ensure    = "Present"
            Path      = "C:\host.txt"
            Account   = "Users"
            Rights    = "FullControl"
            DependsOn = "[File]CreateHiddenFile"
        }
    }
}

ACLChange -Outputpath C:\dsc
Start-DscConfiguration -Path C:\dsc -Wait -Force -Verbose

Verbose logs

詳細: パラメーター ''methodName' = SendConfigurationApply,'className' = MSFT_DSCLocalConfigurationManager,'namespa
ceName' = root/Microsoft/Windows/DesiredStateConfiguration' を使用して操作 'CimMethod の呼び出し' を実行します。
詳細: コンピューター DESKTOP-VGGPFV5、ユーザー SID S-1-5-21-3120317167-2218312622-2814593748-500 から LCM メソッドが呼び出されました。
詳細: [DESKTOP-VGGPFV5]: LCM:  [ 開始     設定       ]
詳細: [DESKTOP-VGGPFV5]: LCM:  [ 開始     リソース     ]  [[File]CreateHiddenFile]
詳細: [DESKTOP-VGGPFV5]: LCM:  [ 開始     テスト      ]  [[File]CreateHiddenFile]
詳細: [DESKTOP-VGGPFV5]:                            [[File]CreateHiddenFile] 指定されたファイルが見つかりません。
詳細: [DESKTOP-VGGPFV5]:                            [[File]CreateHiddenFile] 関連するファイル/ディレクトリは C:\host.txt です
。
詳細: [DESKTOP-VGGPFV5]: LCM:  [ 終了     テスト      ]  [[File]CreateHiddenFile]  (0.0000 秒)。
詳細: [DESKTOP-VGGPFV5]: LCM:  [ 開始     設定       ]  [[File]CreateHiddenFile]
詳細: [DESKTOP-VGGPFV5]:                            [[File]CreateHiddenFile] 指定されたファイルが見つかりません。
詳細: [DESKTOP-VGGPFV5]:                            [[File]CreateHiddenFile] 関連するファイル/ディレクトリは C:\host.txt です
。
詳細: [DESKTOP-VGGPFV5]: LCM:  [ 終了     設定       ]  [[File]CreateHiddenFile]  (0.0000 秒)。
詳細: [DESKTOP-VGGPFV5]: LCM:  [ 終了     リソース     ]  [[File]CreateHiddenFile]
詳細: [DESKTOP-VGGPFV5]: LCM:  [ 開始     リソース     ]  [[cACL]FullCONTROL2HiddenFile]
詳細: [DESKTOP-VGGPFV5]: LCM:  [ 開始     テスト      ]  [[cACL]FullCONTROL2HiddenFile]
項目 C:\host.txt が見つかりませんでした。
    + CategoryInfo          : ObjectNotFound: (C:\host.txt:) [], CimException
    + FullyQualifiedErrorId : ItemNotFound,Microsoft.PowerShell.Commands.GetItemCommand
    + PSComputerName        : Localhost
 
null 値の式ではメソッドを呼び出せません。
    + CategoryInfo          : InvalidOperation: (:) []、CimException
    + FullyQualifiedErrorId : InvokeMethodOnNull
    + PSComputerName        : Localhost
 
null 値の式ではメソッドを呼び出せません。
    + CategoryInfo          : InvalidOperation: (:) []、CimException
    + FullyQualifiedErrorId : InvokeMethodOnNull
    + PSComputerName        : Localhost
 
詳細: [DESKTOP-VGGPFV5]:                            [[cACL]FullCONTROL2HiddenFile] Using non-strict name che
cking. It split AccountName with \''.
null 値の式ではメソッドを呼び出せません。
    + CategoryInfo          : InvalidOperation: (:) []、CimException
    + FullyQualifiedErrorId : InvokeMethodOnNull
    + PSComputerName        : Localhost
 
詳細: [DESKTOP-VGGPFV5]:                            [[cACL]FullCONTROL2HiddenFile] Current ACL result.
詳細: [DESKTOP-VGGPFV5]:                            [[cACL]FullCONTROL2HiddenFile] Desired ACL result.
詳細: [DESKTOP-VGGPFV5]:                            [[cACL]FullCONTROL2HiddenFile] 

FileSystemRights  : FullControl
AccessControlType : Allow
IdentityReference : Users
IsInherited       : False
InheritanceFlags  : None
PropagationFlags  : None
詳細: [DESKTOP-VGGPFV5]:                            [[cACL]FullCONTROL2HiddenFile] Result does not match as 
desired. Showing Desired v.s. Current Status.
null 値の式ではメソッドを呼び出せません。
    + CategoryInfo          : InvalidOperation: (:) []、CimException
    + FullyQualifiedErrorId : InvokeMethodOnNull
    + PSComputerName        : Localhost
 
null 値の式ではメソッドを呼び出せません。
    + CategoryInfo          : InvalidOperation: (:) []、CimException
    + FullyQualifiedErrorId : InvokeMethodOnNull
    + PSComputerName        : Localhost
 
詳細: [DESKTOP-VGGPFV5]:                            [[cACL]FullCONTROL2HiddenFile] DesiredFileSystemRights :
 FullControl
詳細: [DESKTOP-VGGPFV5]:                            [[cACL]FullCONTROL2HiddenFile] CurrentFileSystemRights :
詳細: [DESKTOP-VGGPFV5]:                            [[cACL]FullCONTROL2HiddenFile] StrictResult            :
 False
詳細: [DESKTOP-VGGPFV5]:                            [[cACL]FullCONTROL2HiddenFile] NoneStrictResult        :
 False
null 値の式ではメソッドを呼び出せません。
    + CategoryInfo          : InvalidOperation: (:) []、CimException
    + FullyQualifiedErrorId : InvokeMethodOnNull
    + PSComputerName        : Localhost
 
詳細: [DESKTOP-VGGPFV5]:                            [[cACL]FullCONTROL2HiddenFile] DesiredAccessControlType 
: Allow
詳細: [DESKTOP-VGGPFV5]:                            [[cACL]FullCONTROL2HiddenFile] CurrentAccessControlType 
:
詳細: [DESKTOP-VGGPFV5]:                            [[cACL]FullCONTROL2HiddenFile] StrictResult             
: False
詳細: [DESKTOP-VGGPFV5]:                            [[cACL]FullCONTROL2HiddenFile] NoneStrictResult         
: False
null 値の式ではメソッドを呼び出せません。
    + CategoryInfo          : InvalidOperation: (:) []、CimException
    + FullyQualifiedErrorId : InvokeMethodOnNull
    + PSComputerName        : Localhost
 
詳細: [DESKTOP-VGGPFV5]:                            [[cACL]FullCONTROL2HiddenFile] DesiredInherit   :
詳細: [DESKTOP-VGGPFV5]:                            [[cACL]FullCONTROL2HiddenFile] CurrentInherit   :
詳細: [DESKTOP-VGGPFV5]:                            [[cACL]FullCONTROL2HiddenFile] StrictResult     : False
詳細: [DESKTOP-VGGPFV5]:                            [[cACL]FullCONTROL2HiddenFile] NoneStrictResult : False
詳細: [DESKTOP-VGGPFV5]: LCM:  [ 終了     テスト      ]  [[cACL]FullCONTROL2HiddenFile]  (0.8280 秒)。
Test-TargetResource 機能の実行中に PowerShell DSC リソース [cACL]FullCONTROL2HiddenFile (SourceInfo '::16::9::cACL')
 が 1 つ以上の終了しないエラーをスローしました。これらのエラーは、Microsoft-Windows-DSC/Operational という名前の ETW チャネルに記録されます。詳細については、このチャネ
ルを参照してください。
    + CategoryInfo          : InvalidOperation: (:) []、CimException
    + FullyQualifiedErrorId : NonTerminatingErrorFromProvider
    + PSComputerName        : Localhost
 
詳細: [DESKTOP-VGGPFV5]: LCM:  [ 終了     設定       ]
SendConfigurationApply 関数が失敗しました。
    + CategoryInfo          : NotSpecified: (root/Microsoft/...gurationManager:String) [], CimException
    + FullyQualifiedErrorId : MI RESULT 1
    + PSComputerName        : Localhost
 
詳細: 操作 'CimMethod の呼び出し' が完了しました。
詳細: 構成ジョブが完了するまでにかかった時間は 2.406 秒です

Environments

PS C:\> Get-ComputerInfo
OsName               : Microsoft Windows 10 Education
OsOperatingSystemSKU : 121
OsArchitecture       : 64 ビット
WindowsVersion       : 2009
WindowsBuildLabEx    : 19041.1.amd64fre.vb_release.191206-1406
OsLanguage           : ja-JP
OsMuiLanguages       : {ja-JP}

PS C:\> $PSVersionTable
Name                           Value                                                                     
----                           -----                                                                     
PSVersion                      5.1.19041.1023                                                            
PSEdition                      Desktop                                                                   
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}                                                   
BuildVersion                   10.0.19041.1023                                                           
CLRVersion                     4.0.30319.42000                                                           
WSManStackVersion              3.0                                                                       
PSRemotingProtocolVersion      2.3                                                                       
SerializationVersion           1.1.0.1  

Suggested solution

If you execute the Get-Item cmdlet without the -Force switch, that is not get the hidden files/folders. You can fix this issue by changing it to add the -Force parameter.

https://github.com/guitarrapc/GraniResource/blob/3ea0c8cc1074284dbd37991cd67bbbeacae1fce1/DSCResources/Grani_ACL/Grani_ACL.psm1#L92-L94

mkht avatar Sep 22 '21 15:09 mkht