查看: 614|回复: 0

[文章教程] powershell 执行策略和常用PowerShell命令总结

[复制链接]
xuanxiao 发表于 2022-6-26 20:57:34 | 显示全部楼层 |阅读模式
为了防止使用者运行恶意脚本。powershell提供了一个执行策略。在默认情况下,这个执行策略被设置为“不能运行”。
如果powershell脚本无法运,可以使用下面的cmdlet命令查询当前的执行策略。
  1. Get-ExecutionPolicy.
  2. Restricted:脚本不能运行(默认设置)
  3. ReomteSigned:在本地创建的脚本可以运行,但从网上下载的脚本不能运行(拥有数字签名的除外)
  4. AllSigned:允许脚本由受信任的发布者签名时才能运行
  5. Unrestricted:允许所有的脚本允许 可以使用下面的cmdlet命令设置powershell的执行策略。 Set-ExecutionPolicy
复制代码


要想运行powershell脚本程序,必须使用管理员权限将策略策略从Restricted改成Unrestricted


入门级别
  1.   1. 像文件系统那样操作Windows Registry——cd hkcu:
  2.   2. 在文件里递回地搜索某个字符串——dir –r | select string "searchforthis"
  3.   3. 使用内存找到五个进程——ps | sort –p ws | select –last 5
  4.   4. 循环(停止,然后重启)一个服务,如DHCP——Restart-Service DHCP
  5.   5. 在文件夹里列出所有条目——Get-ChildItem – Force
  6.   6. 递归一系列的目录或文件夹——Get-ChildItem –Force c:\directory –Recurse
  7.   7. 在目录里移除所有文件而不需要单个移除——Remove-Item C:\tobedeleted –Recurse
  8.   8. 重启当前计算机——(Get-WmiObject -Class Win32_OperatingSystem -ComputerName .).Win32Shutdown(2)
复制代码

收集信息
  
  1. 9. 获取计算机组成或模型信息——Get-WmiObject -Class Win32_ComputerSystem
  2.   10. 获取当前计算机的BIOS信息——Get-WmiObject -Class Win32_BIOS -ComputerName .
  3.   11. 列出所安装的修复程序(如QFE或Windows Update文件)——Get-WmiObject -Class Win32_QuickFixEngineering -ComputerName .
  4.   12. 获取当前登录计算机的用户的用户名—— Get-WmiObject -Class Win32_ComputerSystem -Property UserName -ComputerName .
  5.   13. 获取当前计算机所安装的应用的名字——Get-WmiObject -Class Win32_Product -ComputerName . | Format-Wide -Column 1
  6.   14. 获取分配给当前计算机的IP地址——Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE -ComputerName . | Format-Table -Property IPAddress
  7.   15. 获取当前机器详细的IP配置报道——Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE -ComputerName . | Select-Object -Property [a-z]* -ExcludeProperty IPX*,WINS*
  8.   16. 找到当前计算机上使用DHCP启用的网络卡——Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter "DHCPEnabled=true" -ComputerName .
  9.   17. 在当前计算机上的所有网络适配器上启用DHCP——Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=true -ComputerName . | ForEach-Object -Process {$_.EnableDHCP()}
复制代码

软件管理
  1.   18. 在远程计算机上安装MSI包——(Get-WMIObject -ComputerName TARGETMACHINE -List | Where-Object -FilterScript {$_.Name -eq "Win32_Product"}).Install(\\MACHINEWHEREMSIRESIDES\path\package.msi)
  2.   19. 使用基于MSI的应用升级包升级所安装的应用——(Get-WmiObject -Class Win32_Product -ComputerName . -Filter "Name='name_of_app_to_be_upgraded'").Upgrade(\\MACHINEWHEREMSIRESIDES\path\upgrade_package.msi)
  3.   20. 从当前计算机移除MSI包——(Get-WmiObject -Class Win32_Product -Filter "Name='product_to_remove'" -ComputerName . ).Uninstall()
  4. 机器管理
  5.   21. 一分钟后远程关闭另一台机器——Start-Sleep 60; Restart-Computer –Force –ComputerName TARGETMACHINE
  6.   22. 添加打印机——(New-Object -ComObject WScript.Network).AddWindowsPrinterConnection(\\printerserver\hplaser3)
  7.   23. 移除打印机——(New-Object -ComObject WScript.Network).RemovePrinterConnection("\\printerserver\hplaser3 ")
  8.       24. 进入PowerShell会话——invoke-command -computername machine1, machine2 -filepath c:\Script\script.ps1
复制代码

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表

在线客服

售前咨询
售后咨询
服务热线
023-58418553
微信公众号