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