11

我环顾四周以了解如何在 Windows 7 Power Shell 上对文件进行 chmod(更改文件权限)。所以我发现了不同的(对我来说是有线的,因为我习惯了简单的 chmod 命令)代码片段,并且想知道将有线命令包装在 chmod 函数中并将其写入 Power Shell 的 $profile 文件中是否简单. 我想这是许多 ex-linux shell,但现在 power shell 用户想要更改文件的权限。

我是 Power Shell 的新手。请帮我写代码。

4

2 回答 2

8

这是使用 ACL 和 ACE 的原生方式的示例。您必须围绕它构建自己的功能。

# Get the Access Control List from the file
# Be careful $acl is more a security descriptor with more information than ACL
$acl = Get-Acl "c:\temp\test.txt"


# Show here how to refer to useful enumerate values (see MSDN)
$Right = [System.Security.AccessControl.FileSystemRights]::FullControl
$Control = [System.Security.AccessControl.AccessControlType]::Allow

# Build the Access Control Entry ACE 
# Be careful you need to replace "everybody" by the user or group you want to add rights to
$ace = New-Object System.Security.AccessControl.FileSystemAccessRule ("everybody", $Right, $Control)

# Add ACE to ACL
$acl.AddAccessRule($ace)

# Put ACL to the file
Set-Acl "c:\temp\test.txt" $acl
(Get-Acl "c:\temp\test.txt").access
Read-Host "--------- Test Here --------------"

# Remove ACE from ACL
$acl.RemoveAccessRule($ace)
Set-Acl "c:\temp\test.txt" $acl
(Get-Acl "c:\temp\test.txt").access
于 2012-09-14T05:04:44.490 回答
2

请看以下内容:

  • Set-Acl- 跑Get-Help Set-Acl -Full

  • attrib.exe- 用于设置文件属性的标准 Windows 工具。不是特定于 Powershell 的,但当然仍然适用于 Powershell。

  • icacls.exe- 用于设置 ACL 的标准 Windows 工具。不是特定于 Powershell 的,但当然仍然适用于 Powershell。

来源:http ://www.cs.wright.edu/~pmateti/Courses/233/Labs/Scripting/bashVsPowerShellTable.html 只需在网络上搜索chmod powershell.

于 2012-09-13T14:11:00.573 回答