Estou tentando esta linha de código, mas ela não parece afetar pastas, apenas arquivos?
Get-ChildItem -Path $Path -Recurse -File | % { $_.IsReadOnly=$false }
Ok, removi o -File do comando e estou recebendo este erro:
A propriedade 'IsReadOnly' não pode ser encontrada neste objeto. Verifique se a propriedade existe e pode ser configurada.
No entanto, se eu clicar com o botão direito na pasta> Propriedades, aparecerá claramente Somente leitura marcada.
Responder1
Não olhe para a pastaPropriedadesdiálogo,oSomente leituracaixa de seleção não é um indicador de status! Para ver se o atributo somente leitura de uma pasta está definido, adicione oAtributoscoluna para umDetalhesvisualização da pasta pai.
Para definir/limpar o atributo somente leitura de uma pasta emPOerShell, usar:
$Folder = Get-Item 'C:\Path\to\folder' # or any other vald way to obtain a IO.DirectoryInfo object
$Folder.Attributes -= 'ReadOnly' # clear REad-only
$Folder.Attributes += 'ReadOnly' # set REad-only
Observe que limpar o atributo impede o processamento de uma pastadesktop.iniarquivo, portanto, ícones personalizados, etc. não são aplicados.