水水水水 命令

 
bcdedit /enum  //显示系统启动项
bcdedit /set {current} description "New Description"  //编辑系统启动项
bcdboot c:\windows /s c:  //重建BCD
pnputil /enum-devices /connected  //列出所有设备
pnputil /delete-driver oem.inf /uninstall /force  //删除设备驱动程序
set  //列出系统变量
setx <VariableName> <Value> /m  //创建系统变量
reg delete "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v <VariableName> /f  //删除系统变量
wmic product get name,version  //列出已安装的程序
wmic product where name="<ProgramName>" call uninstall  //卸载程序
wmic qfe list  //列出系统更新
msinfo32  //显示系统信息摘要
bcdedit /set {bootmgr} timeout 30  //设置启动菜单超时时间
msconfig  //打开系统配置实用程序
sfc /scannow  //检查系统文件
dism /online /cleanup-image /restorehealth  //修复系统映像
chkntfs c:  //检查NTFS文件系统
fsutil fsinfo drives  //列出所有磁盘驱动器
gpedit.msc  //打开组策略编辑器
regedit  //打开注册表编辑器
ms-settings:  //打开Windows设置
 
icacls <Filename>  //列出文件权限
icacls <Filename> /grant <Username>:(R,W)  //授予文件权限
icacls <Filename> /remove <Username>  //移除文件权限
icacls <Directory> /save AclFile /t  //备份文件权限
icacls <Directory> /restore AclFile  //恢复文件权限
takeown /f <Filename>  //更改文件所有者
net share  //查看共享文件夹
net share <ShareName>=<Path> /grant:<Username>,full  //授予共享文件夹权限
net share <ShareName>=<Path> /revoke:<Username>  //移除共享文件夹权限
whoami /owner  //显示所有者信息
whoami /groups  //显示组成员信息
whoami /logonid  //显示登录会话信息
cacls <Filename>  //显示文件权限
cacls <Filename> /e /p <Username>:r  //授予文件读取权限
cacls <Filename> /e /p <Username>:w  //授予文件写入权限
cacls <Filename> /e /p <Username>:c  //授予文件修改权限
cacls <Filename> /e /p <Username>:f  //授予文件完全控制权限
cacls <Filename> /e /r <Username>  //移除文件权限
net session  //查看当前网络会话
net localgroup administrators <Username> /add  //将用户添加到管理员组
net localgroup administrators <Username> /delete  //将用户从管理员组删除

在 PowerShell 中,你可以使用以下命令来实现类似的功能:

  1. 列出文件权限 (icacls <Filename>)

    powershellCopy Code
    Get-Acl -Path <Filename>
  2. 授予文件权限 (icacls <Filename> /grant <Username>:(R,W))

    powershellCopy Code
    $acl = Get-Acl -Path <Filename>
    $permission = New-Object System.Security.AccessControl.FileSystemAccessRule("<Username>", "Read,Write", "Allow")
    $acl.SetAccessRule($permission)
    Set-Acl -Path <Filename> -AclObject $acl
  3. 移除文件权限 (icacls <Filename> /remove <Username>)

    powershellCopy Code
    $acl = Get-Acl -Path <Filename>
    $acl.RemoveAccessRuleAll([System.Security.AccessControl.FileSystemAccessRule]::new("<Username>", "Read,Write", "Allow"))
    Set-Acl -Path <Filename> -AclObject $acl
  4. 备份文件权限 (icacls <Directory> /save AclFile /t)

    PowerShell 没有直接的命令,可以使用 icacls 命令行。

  5. 恢复文件权限 (icacls <Directory> /restore AclFile)

    PowerShell 没有直接的命令,可以使用 icacls 命令行。

  6. 更改文件所有者 (takeown /f <Filename>)

    powershellCopy Code
    takeown /f <Filename>

    PowerShell 中也可以使用 Get-AclSet-Acl 来实现更高级的权限管理,但更改所有者需要使用 takeown 命令行。

  7. 查看共享文件夹 (net share)

    powershellCopy Code
    Get-SmbShare
  8. 授予共享文件夹权限 (net share <ShareName>=<Path> /grant:<Username>,full)

    powershellCopy Code
    Grant-SmbShareAccess -Name <ShareName> -AccountName <Username> -AccessRight Full
  9. 移除共享文件夹权限 (net share <ShareName>=<Path> /revoke:<Username>)

    PowerShell 没有直接的命令,可以使用 net share 命令行。

  10. 显示所有者信息 (whoami /owner)

    PowerShell 没有直接的命令,可以使用 whoami 命令行。

  11. 显示组成员信息 (whoami /groups)

    powershellCopy Code
    whoami /groups
  12. 显示登录会话信息 (whoami /logonid)

    PowerShell 没有直接的命令,可以使用 whoami 命令行。

  13. 显示文件权限 (cacls <Filename>)

    powershellCopy Code
    Get-Acl -Path <Filename>
  14. 授予文件读取权限 (cacls <Filename> /e /p <Username>:r)

    powershellCopy Code
    $acl = Get-Acl -Path <Filename>
    $permission = New-Object System.Security.AccessControl.FileSystemAccessRule("<Username>", "Read", "Allow")
    $acl.SetAccessRule($permission)
    Set-Acl -Path <Filename> -AclObject $acl
  15. 授予文件写入权限 (cacls <Filename> /e /p <Username>:w)

    powershellCopy Code
    $acl = Get-Acl -Path <Filename>
    $permission = New-Object System.Security.AccessControl.FileSystemAccessRule("<Username>", "Write", "Allow")
    $acl.SetAccessRule($permission)
    Set-Acl -Path <Filename> -AclObject $acl
  16. 授予文件修改权限 (cacls <Filename> /e /p <Username>:c)

    powershellCopy Code
    $acl = Get-Acl -Path <Filename>
    $permission = New-Object System.Security.AccessControl.FileSystemAccessRule("<Username>", "Modify", "Allow")
    $acl.SetAccessRule($permission)
    Set-Acl -Path <Filename> -AclObject $acl
  17. 授予文件完全控制权限 (cacls <Filename> /e /p <Username>:f)

    powershellCopy Code
    $acl = Get-Acl -Path <Filename>
    $permission = New-Object System.Security.AccessControl.FileSystemAccessRule("<Username>", "FullControl", "Allow")
    $acl.SetAccessRule($permission)
    Set-Acl -Path <Filename> -AclObject $acl
  18. 移除文件权限 (cacls <Filename> /e /r <Username>)

    powershellCopy Code
    $acl = Get-Acl -Path <Filename>
    $acl.RemoveAccessRuleAll([System.Security.AccessControl.FileSystemAccessRule]::new("<Username>", "Read,Write", "Allow"))
    Set-Acl -Path <Filename> -AclObject $acl
  19. 查看当前网络会话 (net session)

    PowerShell 没有直接的命令,可以使用 net session 命令行。

  20. 将用户添加到管理员组 (net localgroup administrators <Username> /add)

    powershellCopy Code
    Add-LocalGroupMember -Group "Administrators" -Member "<Username>"
  21. 将用户从管理员组删除 (net localgroup administrators <Username> /delete)

    powershellCopy Code
    Remove-LocalGroupMember -Group "Administrators" -Member "<Username>"

这些 PowerShell 命令和示例可以帮助你在 Windows 中进行文件和权限管理操作。

gpupdate /force  //更新组策略
gpresult /r  //查看组策略结果
secedit /export /cfg C:\GPOBackup.cfg  //导出组策略
secedit /import /cfg C:\GPOBackup.cfg /overwrite  //导入组策略
gpresult /h C:\GPOReport.html  //显示本地组策略对象
gpupdate /sync  //刷新组策略
gpresult /scope user /h C:\UserGPOReport.html  //显示组策略历史
gpresult /scope computer /v  //显示计算机策略
gpresult /z  //列出所有组策略对象
rd /s /q %windir%\System32\GroupPolicy  //删除组策略缓存
gpupdate /target:user /force  //更新用户组策略
gpupdate /target:computer /force  //更新计算机组策略
gpresult /s <ComputerName> /u <Username> /p <Password> /v  //查看远程计算机组策略
secedit /analyze /cfg C:\Windows\security\templates\Setup Security.inf /log C:\Logs\secanalyze.log /verbose  //分析组策略
secedit /configure /cfg C:\Windows\security\templates\Setup Security.inf /db secconfig.sdb /verbose  //应用组策略
gpupdate /boot  //在下一次启动时应用组策略
gpupdate /logoff  //在下一次注销时应用组策略
  1. 更新组策略 (gpupdate /force)

    powershellCopy Code
    Invoke-GPUpdate -Force
  2. 查看组策略结果 (gpresult /r)

    powershellCopy Code
    Get-GPResultantSetOfPolicy -ReportType ResultantSetOfPolicy
  3. 导出组策略 (secedit /export /cfg C:\GPOBackup.cfg)

    powershellCopy Code
    secedit /export /cfg C:\GPOBackup.cfg

    PowerShell 没有直接的替代命令,仍需使用 secedit 命令行。

  4. 导入组策略 (secedit /import /cfg C:\GPOBackup.cfg /overwrite)

    powershellCopy Code
    secedit /import /cfg C:\GPOBackup.cfg /overwrite

    PowerShell 没有直接的替代命令,仍需使用 secedit 命令行。

  5. 显示本地组策略对象 (gpresult /h C:\GPOReport.html)

    powershellCopy Code
    Get-GPResultantSetOfPolicy -ReportType Html -Path C:\GPOReport.html
  6. 刷新组策略 (gpupdate /sync)

    powershellCopy Code
    Invoke-GPUpdate -Sync
  7. 显示用户组策略历史 (gpresult /scope user /h C:\UserGPOReport.html)

    powershellCopy Code
    Get-GPResultantSetOfPolicy -ReportType Html -Scope User -Path C:\UserGPOReport.html
  8. 显示计算机策略 (gpresult /scope computer /v)

    powershellCopy Code
    Get-GPResultantSetOfPolicy -ReportType Computer -Verbose
  9. 列出所有组策略对象 (gpresult /z)

    powershellCopy Code
    Get-GPResultantSetOfPolicy -ReportType Xml
  10. 删除组策略缓存 (rd /s /q %windir%\System32\GroupPolicy)

    PowerShell 没有直接的替代命令,仍需使用 rd 命令行。

  11. 更新用户组策略 (gpupdate /target:user /force)

    powershellCopy Code
    Invoke-GPUpdate -Target User -Force
  12. 更新计算机组策略 (gpupdate /target:computer /force)

    powershellCopy Code
    Invoke-GPUpdate -Target Computer -Force
  13. 查看远程计算机组策略 (gpresult /s <ComputerName> /u <Username> /p <Password> /v)

    powershellCopy Code
    Get-GPResultantSetOfPolicy -Computer <ComputerName> -Credential (Get-Credential) -Verbose
  14. 分析组策略 (secedit /analyze /cfg C:\Windows\security\templates\Setup Security.inf /log C:\Logs\secanalyze.log /verbose)

    powershellCopy Code
    secedit /analyze /cfg C:\Windows\security\templates\Setup Security.inf /log C:\Logs\secanalyze.log /verbose

    PowerShell 没有直接的替代命令,仍需使用 secedit 命令行。

  15. 应用组策略 (secedit /configure /cfg C:\Windows\security\templates\Setup Security.inf /db secconfig.sdb /verbose)

    powershellCopy Code
    secedit /configure /cfg C:\Windows\security\templates\Setup Security.inf /db secconfig.sdb /verbose

    PowerShell 没有直接的替代命令,仍需使用 secedit 命令行。

  16. 在下一次启动时应用组策略 (gpupdate /boot)

    PowerShell 没有直接的替代命令,仍需使用 gpupdate 命令行。

  17. 在下一次注销时应用组策略 (gpupdate /logoff)

    PowerShell 没有直接的替代命令,仍需使用 gpupdate 命令行。

netsh advfirewall show allprofiles  //查看防火墙状态
netsh advfirewall set allprofiles state on  //启用防火墙
netsh advfirewall set allprofiles state off  //禁用防火墙
netsh advfirewall firewall add rule name="MyRule" dir=in action=allow protocol=TCP localport=12345  //添加防火墙规则
netsh advfirewall firewall delete rule name="MyRule"  //删除防火墙规则
netsh advfirewall firewall show rule name="MyRule"  //查看防火墙规则
netsh advfirewall firewall set rule name="MyRule" new enable=yes  //启用防火墙规则
netsh advfirewall firewall set rule name="MyRule" new enable=no  //禁用防火墙规则
netsh advfirewall firewall set rule group="File and Printer Sharing" new enable=yes  //启用文件和打印机共享防火墙规则
netsh advfirewall firewall set rule group="Remote Desktop" new enable=yes  //启用远程桌面防火墙规则
netsh advfirewall reset  //重置防火墙设置
netsh advfirewall show currentprofile  //显示当前防火墙配置文件
netsh advfirewall set currentprofile state on  //启用当前防火墙配置文件
netsh advfirewall set currentprofile state off  //禁用当前防火墙配置文件
netsh advfirewall show allprofiles state  //显示所有防火墙配置文件状态
netsh advfirewall set allprofiles firewallpolicy blockinbound,allowoutbound  //设置防火墙策略
netsh advfirewall firewall add rule name="Allow Ping" protocol=icmpv4:8,any dir=in action=allow  //允许ICMP回显请求(Ping)
netsh advfirewall firewall show rule name="Allow Ping"  //显示ICMP回显请求(Ping)规则
netsh advfirewall set privateprofile state on  //启用私有配置文件防火墙
netsh advfirewall set publicprofile state on  //启用公共配置文件防火墙
netsh advfirewall set domainprofile state on  //启用域配置文件防火墙
  1. 查看防火墙状态 (netsh advfirewall show allprofiles)

    powershellCopy Code
    Get-NetFirewallProfile | Format-Table Name, Enabled
  2. 启用防火墙 (netsh advfirewall set allprofiles state on)

    powershellCopy Code
    Set-NetFirewallProfile -Profile Domain, Public, Private -Enabled True
  3. 禁用防火墙 (netsh advfirewall set allprofiles state off)

    powershellCopy Code
    Set-NetFirewallProfile -Profile Domain, Public, Private -Enabled False
  4. 添加防火墙规则 (netsh advfirewall firewall add rule ...)

    powershellCopy Code
    New-NetFirewallRule -DisplayName "MyRule" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 12345
  5. 删除防火墙规则 (netsh advfirewall firewall delete rule ...)

    powershellCopy Code
    Remove-NetFirewallRule -DisplayName "MyRule"
  6. 查看防火墙规则 (netsh advfirewall firewall show rule ...)

    powershellCopy Code
    Get-NetFirewallRule -DisplayName "MyRule"
  7. 启用防火墙规则 (netsh advfirewall firewall set rule ... enable=yes)

    powershellCopy Code
    Set-NetFirewallRule -DisplayName "MyRule" -Enabled True
  8. 禁用防火墙规则 (netsh advfirewall firewall set rule ... enable=no)

    powershellCopy Code
    Set-NetFirewallRule -DisplayName "MyRule" -Enabled False
  9. 启用文件和打印机共享防火墙规则 (netsh advfirewall firewall set rule group="File and Printer Sharing" ... enable=yes)

    powershellCopy Code
    Get-NetFirewallRule -Group "File and Printer Sharing" | Set-NetFirewallRule -Enabled True
  10. 启用远程桌面防火墙规则 (netsh advfirewall firewall set rule group="Remote Desktop" ... enable=yes)

    powershellCopy Code
    Get-NetFirewallRule -Group "Remote Desktop" | Set-NetFirewallRule -Enabled True
  11. 重置防火墙设置 (netsh advfirewall reset)

    PowerShell 没有直接的替代命令,需要使用 netsh 命令行执行。

  12. 显示当前防火墙配置文件 (netsh advfirewall show currentprofile)

    powershellCopy Code
    Get-NetFirewallProfile | Format-Table Name, Enabled
  13. 启用当前防火墙配置文件 (netsh advfirewall set currentprofile state on)

    powershellCopy Code
    Set-NetFirewallProfile -Profile (Get-NetConnectionProfile).NetworkCategory -Enabled True
  14. 禁用当前防火墙配置文件 (netsh advfirewall set currentprofile state off)

    powershellCopy Code
    Set-NetFirewallProfile -Profile (Get-NetConnectionProfile).NetworkCategory -Enabled False
  15. 显示所有防火墙配置文件状态 (netsh advfirewall show allprofiles state)

    powershellCopy Code
    Get-NetFirewallProfile | Format-Table Name, Enabled
  16. 设置防火墙策略 (netsh advfirewall set allprofiles firewallpolicy blockinbound,allowoutbound)

    powershellCopy Code
    Set-NetFirewallProfile -Profile Domain, Public, Private -DefaultInboundAction Block -DefaultOutboundAction Allow
  17. 允许ICMP回显请求(Ping)(netsh advfirewall firewall add rule ...)

    powershellCopy Code
    New-NetFirewallRule -DisplayName "Allow Ping" -Protocol ICMPv4 -IcmpType 8 -Action Allow
  18. 显示ICMP回显请求(Ping)规则 (netsh advfirewall firewall show rule ...)

    powershellCopy Code
    Get-NetFirewallRule -DisplayName "Allow Ping"
  19. 启用私有配置文件防火墙 (netsh advfirewall set privateprofile state on)

    powershellCopy Code
    Set-NetFirewallProfile -Profile Private -Enabled True
  20. 启用公共配置文件防火墙 (netsh advfirewall set publicprofile state on)

    powershellCopy Code
    Set-NetFirewallProfile -Profile Public -Enabled True
  21. 启用域配置文件防火墙 (netsh advfirewall set domainprofile state on)

    powershellCopy Code
    Set-NetFirewallProfile -Profile Domain -Enabled True
powercfg /query  //显示电源设置
powercfg /list  //显示电源方案
powercfg /setactive <Scheme_GUID>  //更改电源方案
powercfg /hibernate query  //显示系统休眠状态
powercfg /hibernate on  //启用系统休眠
powercfg /hibernate off  //禁用系统休眠
powercfg /change monitor-timeout-ac 10  //设置交流电源时显示器关闭超时
powercfg /change monitor-timeout-dc 10  //设置电池电源时显示器关闭超时
powercfg /change standby-timeout-ac 20  //设置交流电源时系统待机超时
powercfg /change standby-timeout-dc 20  //设置电池电源时系统待机超时
powercfg /change hibernate-timeout-ac 30  //设置交流电源时系统休眠超时
powercfg /change hibernate-timeout-dc 30  //设置电池电源时系统休眠超时
powercfg /query SCHEME_CURRENT SUB_SLEEP STANDBYIDLE  //查询当前电源方案的待机超时
powercfg /query SCHEME_CURRENT SUB_SLEEP HIBERNATEIDLE  //查询当前电源方案的休眠超时
powercfg /query SCHEME_CURRENT SUB_VIDEO VIDEOIDLE  //查询当前电源方案的显示器关闭超时
powercfg /setacvalueindex SCHEME_CURRENT SUB_SLEEP STANDBYIDLE 1200  //设置交流电源时待机超时为20分钟
powercfg /setdcvalueindex SCHEME_CURRENT SUB_SLEEP STANDBYIDLE 600  //设置电池电源时待机超时为10分钟
powercfg /setacvalueindex SCHEME_CURRENT SUB_SLEEP HIBERNATEIDLE 1800  //设置交流电源时休眠超时为30分钟
powercfg /setdcvalueindex SCHEME_CURRENT SUB_SLEEP HIBERNATEIDLE 1200  //设置电池电源时休眠超时为20分钟
powercfg /setacvalueindex SCHEME_CURRENT SUB_VIDEO VIDEOIDLE 600  //设置交流电源时显示器关闭超时为10分钟
powercfg /setdcvalueindex SCHEME_CURRENT SUB_VIDEO VIDEOIDLE 300  //设置电池电源时显示器关闭超时为5分钟
 
sfc /scannow  //检查系统文件
chkdsk /f /r  //检查磁盘
bootrec /fixmbr  //修复主引导记录
bootrec /fixboot  //修复启动扇区
bootrec /rebuildbcd  //重建BCD
netsh winsock reset  //重置Winsock目录
dism /online /cleanup-image /restorehealth  //修复系统映像
sfc /verifyonly  //仅验证系统文件
sfc /scanfile=<File>  //扫描并修复指定文件
sfc /verifyfile=<File>  //验证指定文件
bcdedit /export C:\BCDBackup  //备份BCD
bcdedit /import C:\BCDBackup  //恢复BCD
bcdedit /set {current} safeboot minimal  //启用安全模式
bcdedit /deletevalue {current} safeboot  //禁用安全模式
dism /online /cleanup-image /checkhealth  //检查系统映像健康状态
dism /online /cleanup-image /scanhealth  //扫描系统映像健康状态
dism /online /cleanup-image /startcomponentcleanup  //清理组件存储
sfc /offbootdir=<Drive> /offwindir=<WindowsDir> /scannow  //在离线模式下检查系统文件
diskpart  //打开磁盘分区实用程序
chkdsk <Drive> /f /x  //强制检查并修复磁盘
msconfig  //打开系统配置实用程序
regedit  //打开注册表编辑器
taskmgr  //打开任务管理器
 
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f  //启用远程桌面
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 1 /f  //禁用远程桌面
qwinsta  //查看远程桌面会话
rwinsta <SessionID>  //断开远程桌面会话
mstsc  //打开远程桌面连接
netstat -an | find "3389"  //检查远程桌面端口是否开放
netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow  //添加远程桌面防火墙规则
netsh advfirewall firewall delete rule name="Remote Desktop"  //删除远程桌面防火墙规则
query user /server:<ServerName>  //查看远程服务器的用户会话
shadow <SessionID>  //监控远程桌面会话
tscon <SessionID> /dest:<SessionID>  //将会话连接到指定会话
tsdiscon <SessionID>  //断开会话
tskill <SessionID>  //终止会话
msg <SessionID> /server:<ServerName> <Message>  //向指定会话发送消息
change logon /disable  //禁用新的远程桌面会话
change logon /enable  //启用新的远程桌面会话
change port /query  //查看远程桌面端口配置
change port /delete <Port>  //删除远程桌面端口配置
change port <NewPort> <OldPort>  //更改远程桌面端口配置
 
net share  //查看共享文件夹
net share <ShareName>=<Path> /grant:<Username>,full  //创建共享文件夹
net share <ShareName> /delete  //删除共享文件夹
net share <ShareName>=<Path> /grant:<Username>,change  //授予共享文件夹更改权限
net share <ShareName>=<Path> /grant:<Username>,read  //授予共享文件夹读取权限
net share <ShareName>=<Path> /revoke:<Username>  //移除共享文件夹权限
net use  //查看当前连接的网络共享
net use <Drive>: <\\Server\Share>  //连接网络共享
net use <Drive>: /delete  //断开网络共享
net view  //查看网络共享资源
net view \\<ComputerName>  //查看指定计算机的网络共享资源
net session  //查看当前网络会话
net file  //查看打开的文件
net file <ID> /close  //关闭打开的文件
net share /delete /y  //删除所有共享文件夹
net share <ShareName> /users:<Number>  //限制共享文件夹的用户数量
net share <ShareName> /unlimited  //取消共享文件夹的用户数量限制
net share <ShareName> /remark:"<Comment>"  //添加共享文件夹备注
net share <ShareName> /cache:automatic  //设置共享文件夹缓存模式为自动
net share <ShareName> /cache:manual  //设置共享文件夹缓存模式为手动
net share <ShareName> /cache:none  //禁用共享文件夹缓存
posted @ 2024-07-04 19:33  suv789  阅读(14)  评论(0编辑  收藏  举报