2、使用Powershell管理文件

使用Powershell管理文件

本章完成:

  • 完成文件、文件夹的创建、删除
  • 文件权限的修改
  • 文件的重命名

1、环境准备

主机名 IP地址 网关 服务
Windows001 10.1.220.101 10.1.220.254

2、管理文件

1.创建文件:

此命令在当前目录中创建名为“test1.txt”的文本文件。 点 (“.” Path 参数的值中的) 指示当前目录。 Value 参数后面的带引号的文本作为内容添加到文件中。

# 创建
# 在当前目录中创建文本文件
New-Item -Path . -Name "test1.txt" -ItemType "file" -value "你好!"
2.创建文件夹:

此命令在驱动器中创建名为“Logfiles”的 C: 目录。 ItemType 参数指定新项是目录,而不是文件或其他文件系统对象。

# 创建文件夹
# -Path "c:\"	指定文件夹位置
# -Name "testdir" 设置文件夹名称
# -ItemType "directory" 设置文件类型
New-Item -Path "c:\"  -Name "testdir" -ItemType "directory"
3.在不同的目录中创建目录:

此示例在“C:\Test”目录中创建新的 Scripts 目录。

新目录项的名称“Scripts”包含在 Path 参数的值中,而不是在 Name 的值中指定。 根据语法,任一种命令形式都是有效的。

# 在其他目录创建文件夹
New-Item -ItemType "directory" -Path "c:\test\scripts"
4.查看文件夹:
# 查看当前目录
Get-Item .
# 查看目录下所有文件
Get-Item *
# 查看指定目录下的文件
Get-Item E:\*

5.查看文件夹属性:

此示例获取目录的 C:\WindowsLastAccessTime 属性。 LastAccessTime 只是文件系统目录的一个属性。 若要查看目录的所有属性,请键入 (Get-Item <directory-name>) | Get-Member

(Get-Item C:\Windows).LastAccessTime
6.删除文件:
# 删除文件
# -recurse  递归
Remove-Item .\test1.txt
# 修改
Rename-Item -Path "test1.txt" -NewName "test2.txt"

3、管理文件夹权限

PowerShell可以用来管理文件夹权限。以下是一些常用的PowerShell命令来管理文件夹权限:

1.获取文件夹权限:

可以使用 Get-Acl 命令来获取文件夹的权限信息。例如,要获取 “C:\Folder” 文件夹的权限信息,可以运行以下命令:

Get-Acl -Path "C:\Folder"
2.修改文件夹权限:

可以使用 Set-Acl 命令来修改文件夹的权限。例如,要将 “C:\Folder” 文件夹的权限设置为只允许管理员有完全控制权限,可以运行以下命令:

扫描二维码关注公众号,回复: 17247125 查看本文章
$acl = Get-Acl -Path "C:\Folder"
$accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule("Administrators","FullControl","Allow")
$acl.SetAccessRule($accessRule)
Set-Acl -Path "C:\Folder" -AclObject $acl
3.添加文件夹权限:

可以使用 Add-AccessControlEntry 命令来添加新的权限条目。例如,要将 “C:\Folder” 文件夹的权限添加一个新的用户组 “Users” 并授予只读权限,可以运行以下命令:

$rule = New-Object System.Security.AccessControl.FileSystemAccessRule("Users", "Read", "Allow")
$folder = "C:\Folder"
$acl = Get-Acl $folder
$acl.SetAccessRule($rule)
Set-Acl $folder $acl
4.删除文件夹权限:

可以使用 Remove-AccessControlEntry 命令来删除文件夹的权限条目。例如,要删除 “C:\Folder” 文件夹的一个特定用户的权限,可以运行以下命令:

$folder = "C:\Folder"
$acl = Get-Acl $folder
$rule = $acl | Where-Object {
    
     $_.IdentityReference -eq "skills.com\administrator" }
$acl.RemoveAccessRule($rule)
Set-Acl $folder $acl

猜你喜欢

转载自blog.csdn.net/Selina_lv/article/details/132138937