Powershell(3)

简介: Powershell可以使用powershell管理的服务share point, exchange, lync, windows azure, window server, system center, vmware, sql server, visual studio, 硬件.

Powershell

可以使用powershell管理的服务

  • share point, exchange, lync, windows azure, window server, system center, vmware, sql server, visual studio, 硬件
  • .NET Framework是一个量身为windows定制的框架, 一款API, 解决了很多问题, .NET Framework解决了C/C++的内存管理, 大部分的程序运行在.NET Framework上, Window Management Frame安装的前提是安装了.NET Framework, 在windows上可以安装多个.NET framework, 这样是为了兼容性考虑, 多装一点好一点, 他是一个编程体系, 简单的讲这就是个类库,有很多游戏或者软件都调用这个类库里的方法
  • WinRM(默认不开启, 是协议的实现)
  • WMF(Windows Management Framework)可以安装在Linux上
  • windows 羡慕Linux的命令行, 但是因为Linux的设计里面是文件, 而windows是API, 所以采用了powershell这个平台, ps的引擎一直都是没有变的
  • system Int 32
  • system string
  • system boolean
  • system collection hashtable

    命令

  • get-service
  • format-volume
  • 服务: bit, bits一般不怎么用
  • update-help -UIculture zh-CN
  • set, new, add, remove等涉及到修改类的需要指定-Name
  • 如果get-help没有更新, 也不影响卡语法
  • enable-bitlocker: 对driver加密
  • 输出的为对象, print对象的string
  • get-member: 获取对象成员 --> get-service | get-member --> 通过管道返回service对象的属性(属性和方法, 类似于python中的dir(obj))
  • 输出的列明为属性名, 输出的不一定是该对象所有的属性, 而是一些可以输出的属性, 如果要全部, get-service | select-object *, 简短的; 或者 get-service | get-member 复杂的
  • 输出的都是一行一行的表格, 其实他们是一个system.array对象, 输出的是该对象中的对象的str信息, 学过java和python懂得
  • 接受管道传来的对象是命令的参数, 通过get-help查看paramter, 查看是否接受管道, 还有接受管道的优先级别

命令使用案例

  1. $var = "1" --> $var.gettype().fullname
  2. [system.int32]$a = "1" --> 提供强制转型
  3. $services = get-services --> \(services | foreach-object {\)_.name}
  4. foreach-object必须在管道后面, foreach必须另起一行

    foreach ($item in $services) {
        $item.name
        $item.start()
        $item.stop()
    }
  5. for循环
    for ($i = 0; $i -le 100; $i++) { $i }

  6. 定义数组$arr = @('a', 'b', 'c')
  7. 数组: .count[元素个数], $arr[0]
  8. $host.ui.writedebugline('error')
  9. $error为内置的全局变量, 是一个array, 存放异常对象
  10. $env:path --> 显示环境变量的值, $env:pathext等等
  11. write-host, write-output, write --> echo
  12. '符是Linux中\的作用
  13. $args为参数变量
  14. $erroractionperformance --> 命令错误的动作
  15. invokecommand -ComputerName name -ScriptBlock {...}--> 对远程计算机执行命令, 类似于rpc, 但是在win上是WinRM, 将scriptblock内部东西推送到执行
  16. 反序列化对象没有close和dispose等方法
  17. system.object是所有的类的父类, 有gettype和tostring方法


为了深入了解序列化与反序列化的案例

    enable-psremoting -force
    set-wsmanquickconnfig -force

    invoke-command -computername win2012 scriptblock {get-service -name alg} | get-member
    那么对于get-member命令是在本地执行的, 而get-service -name alg是推送到远程主机执行的, 远程执行完毕之后将得到的对象序列化返回给本地主机, 本地主机将该序列化对象进行反序列化转为反序列化
对象, 此对象是没有close(), dispose()等方法的
    invoke-command -computername win2012 scriptblock {get-service -name alg | get-member}

服务

  • alg: application layer gateway service
  • bit, bits, winrm

远程连接(在windows server 2012 r2默认已经配置好了)

  • HTTP/HTTPS
  • 侦听器
  • 开启服务 set-msmanquickconfig
  • 注册侦听器 http5985 https5986
如何开启(powershell管理远程, 客户端与服务端):
    enable-psremoting -force
    set-wsmanquickconfig -force
  • 本地信任列表

提供程序(这里面的项看起来是文件, 其实不是)

  • get-childitem wsman: --> 与远程连接有关, 使用set-item trusthost -value 192.168.1.7 添加信任
  • cert
  • hklm
  • hkcu
  • IIS
目录
相关文章
|
7月前
|
文件存储
PowerShell系列(十):PowerShell CmdletPowerShell Cmdlet 参数详解
【2月更文挑战第5篇】强制类型参数使用比较频繁,基本上涉及新建、更新、配置等命令都需要针对特定的对应进行操作,所有需要强制输入一个参数来确认操作的对象是谁。
PowerShell系列(十):PowerShell CmdletPowerShell Cmdlet 参数详解
|
7月前
|
运维 Shell 数据处理
PowerShell系列(九)PowerShell Cmdlet概念介绍
【2月更文挑战第4篇】大家可能对cmd命令比较熟悉cmd就是Windows系统命令行窗口执行的命令,微软为了和传统的Shell命令区分,所以重新起了一个名词“Cmdlet”专门给PowerShell配套使用,Cmdlet可以理解为在PowerShell环境
PowerShell系列(九)PowerShell Cmdlet概念介绍
|
7月前
|
自然语言处理 运维 数据可视化
PowerShell系列(一):PowerShell介绍和cmd命令行的区别
【1月更文挑战第3天】什么是Windows系统的命令行环境,之前我们在使用XP、Win7系统的时候,用的最多的就是微软官方自带的cmd命令窗口了,我们通过敲命令行窗口可以实现和操作系统之间的交互。当然随着微软技术的快速发展,到了目前比较流行的Win10操作系
|
Shell Linux 开发工具
windows中cmd和PowerShell批处理命令
之前在 Git 批量删除本地分支,有用到 Linux 或 MacOS 下的批处理命令,这个命令中的 grep、xargs 本身是 Shell script,在 windows 中的 cmd 和 PowerShell 中是不能用的
111 0
PowerShell的一些命令
PowerShell的一些命令 自用
92 0
|
Windows 数据格式 XML
Powershell(1)
PowerShell cmdlets: Verb-Noun的命令形式, Verb一般是set, get, start, stop, invoke, 使用get-verb显示所有的动词 通过别名机制, 提供了Windows与Unix的命令 可以使用windows原生的命令(mspaint[画图], ...
1010 0
|
Unix
Powershell(2)
powershell(2) 帮助系统(显示出来的参数语法要比Unix中help复杂) save-help -destinationpath c:\help update-help -force -sourcepath c:\help get-command -noun *log* -verb ge...
851 0