PowerShell学习笔记4

基于WinRM的远程管理:

安全的,单端口的。而非HTTP纯文本,可以使用SSL。

Enable-PSRemoting (WS2012已经默认打开了)

使用组策略统一打开:

 image   

一对一交互

Enter-PSSession + FQDN

一对多交互:

Invoke-Command �CUseSSL �CPort 443 �CComputerName dc,s1,s2  �CScriptBlock { get-eventlog �CLogName System �Cnew 3}    (icm )

序列化与反序列化 invoke-command返回的是反序列化过的对象,是对象的表示。而非对象本身。

PowerShell Web Access

get-hlep *pswa*

Install-PswaWebApplication �CUseTestCertificate 使用测试证书创建一个PswaWebApplication

Add-PswaAuthorizationRule �CComputerName(指定远程访问的目标计算机) -UserGroupName(指定哪些用户可以访问或者-UserName)

start iexplore https://XXXX/pswa

image

HTTPS SSL,跟收发邮件一样安全。

类似跳板服务器。

PowerShell的脚本安全性:

无脚本执行,.ps1与记事本关联,必须输入路径

默认PowerShell是不允许允许脚本的

执行策略 Get/Set-ExecutionPolicy

AllSigned(全部必须签名)与RemoteSigned(下载的必须签名WS2012R2默认)。你需要创建一个代码签名证书。

Set-AuthenticodesSignature �CCertificate(证书) �CFilePath (脚本路径)

签名块中无法插入任何代码

引号的使用

image

脚本

创建变量:$MyVar ="Hello"

$MyVar = get-service bits

Read-Host 来读取你输入的内容

$Var = Read-host "Enter a computerName"

Write-Host 用来打印在屏幕上一些内容(前景色与背景色)

Write-Host $Var �CForegroundColor red �CBackgroundColor green

Write-Output 可以打印变量内容,并且不损失变量的属性

Write-warning "Please…dont do that"

Write-Error  "Stop touching me!"

大多数时候别用write-host,而用Word-Show

带大括号的变量名 ${ $#@^% } = "WOOOW" 在语法上,这是一个容器。

${C:\test.txt} 于是这个变量就成了C:\test.txt其内容的引用

你可能感兴趣的:(笔记,powershell)