远程管理之启用和实施命令,开启PowerShell远程管

     非域网络,开启PowerShell远程管理,命令如下:

PowerShell 2.0的远程管理作用很刚劲,为了便利读者学习这里首先介绍学习条件的安装,便于读者在知道原理的同期有相对形象的体会。在本文中,将会独家介绍了怎么着启用和剥夺powershell的远程管理,以至如何在工作组和混合域情形下布署Computer。以及哪些运用Invoke-Command cmdlet用于在长途主机上施行命令,创设长久线程,在多少个指令间同一线程传递的变量和参数。客户还足以在施行较困难的吩咐时今后台任务的格局落成,并在施行实现后接收命令回调推行结果。

以下操作,PS命令窗口,必需都是助理馆员省份实行。

1 启用和剥夺远程管理

Step 1: 机器A和B,分别开启PowerShell远程管理服务
A = 192.168.3.32
PS >> Enable-PSRemoting
接下来根据提醒,选项选Y,施行开启远程管理。

PowerShell 2.0中能通过在PowerShell提醒符下执行下列的cmdlet启用远程管理

B = 192.168.3.37
PS >> Enable-PSRemoting
然后依照提示,选项选Y,实践开启远程管理。  

PS C:> Enable-PSRemoting

Step 2: 机器A和B,分别信赖需求远程管理的机械IP或名称
 A=192.168.3.32
PS >> Set-Item WSMan:localhostClientTrustedHosts -Value 192.168.3.37
下一场依据提醒,选项选Y,表示同意远程发送命令

该cmdlet会向客商领悟多少个难点如下图1所示

B = 192.168.3.37
PS >> Set-Item WSMan:localhostClientTrustedHosts -Value 192.168.3.37
下一场依照提醒,选项选Y,表示同意远程发送命令

图片 1

Step 3: 在机器A下边,远程登入和执行命令到机器B
A = 192.168.3.32
PS >> Enter-PSSession -ComputerName 192.168.3.37

当实施该cmdlet时进行了以下操作,此中囊括:

功能图如下:
图片 2图片 3  

  1. 初阶或重复起动(假诺已开发银行) WinRM 服务。

  2. 将 WinRM 服务类型设置为全自动运行。

  3. 在本土计算机上创造二个侦听器以接受放肆 IP 地址上的伏乞。

  4. 对 WS-Management 流量启用防火墙例外(仅适用于 http),如若要启用PS远程管理,那时互联网地点不可能被设置为public,因为Windows 防火墙例外不能够在网络地点是public时被启用。

机器A上,远程实践命令机器B创立文件夹D:Test

5.启用全体注册的PS线程配置新闻。

图片 4

暗中认可情状下,WinRM只启用http传输用于收纳远程供给。客商能够选拔winrm命令或New-WSManIntance cmdlet手动启用https传输。

 

【提示】

翻看机器B,上边有刚刚中长途成立的文件夹D:Test

暗许景况下,PowerShell远程管理接受5985(http)和5986(https)端口。能够通过使用Set-Item cmdlet修改wsman:Localhostlistenerlistener*port对端口号进行安装,须求在意的是这么的操作将会变动系统中各类WinRM监听器端口号。

图片 5

当给Enable-PSRemoting cmdlet扩张-force参数后进行将会在沉默状态下启用远程管理,PowerShell远程管理是不可能因此远间距启用的。

 

1.1 测验PowerShell远程管理

 

若是远程管理被启用了,能够应用上面包车型地铁cmdlet查看:

 

PS C: > Enter-PSSession –ComputerName localhost

 

客户将会看出如下图2所示的晋升符:

接轨,小编将实践演示,怎样利用PowerShell Jenkins完结长途布置C#.NET的八种程序:

图片 6

  1. 客商端更新包, 文件系统
    2.  WCF 服务
  2. Task 布署职务
  3. MVC 网站 

【提示】

 

PowerShell线程(PS Session)是运作远程命令打城戏本的情形。PowerShell 2.0提供了多姿多彩的cmdlet管理这么些线程。能够行使Get-Command –noun PSSession命令查看全数与PSSession相关的cmdlet。

 

可以用New-PSSesssionOption改换PS线程暗中同意的突显。New-PSSession和Enter-PSSession有一个参数-sessionOption用于钦命自定义线程选项,备选的选项有:

【本人原创,招待调换和享受本事,转发请附上如下内容:
设若您感到那篇随笔对你有赞助,请记得帮自个儿点赞, 谢谢!

IdleTimeOut

作者:kevin【转自】

概念远程主机的晚点时间,在未接到本地Computer富含心跳时限信号在内的别的通讯数据的图景下,PSSession将会被关门

 

OpenTimeOut

概念顾客端主机等待线程创设连接的逾期时间,大器晚成旦过期,构造建设连接的授命将会倒闭。

OperationTimeOut

概念能在PSSession中运维任何操作的最长日子,生龙活虎旦过期,操作将会停业。

SkipCACheck

点名在通过HTTPS连接时,客商端不表明服务器证书是不是由受信的CA签发

SkipCNCheck

内定服务器的评释普通名(CN,Common Name)无需万分服务器的主机名,那些选项只是用于通过HTTPS协议传输的中间距操作。

SkipRevocationCheck

不表达主机证书的折路再次来到状态。

1.2在专业组境况中远程管理

只透过运营Enable-PSRemoting cmdlet是一贯不能连接到职业组中的Computer的。本质上来讲是因为加盟职业组的微微电脑所怀有的安全品级是比加入域中的Computer更严酷。所以借使再参加专门的职业组中的Computer,客商在创建远程线程以前必要启用相关的设置。

Windows XP

顾客供给认可将地方安全攻略设置为网络签到精髓鉴权。通过调整面板→管理工科具→本地安全战术,定位到“本地计谋”→“安全选项”双击“互连网访问:本地帐户的分享和平安格局”,并安装为“精华-本地客商以协调的身份验证”,效果如下图3所示:

图片 7

修正WSMan信任主机设置

在富有步入专门的学业组的计算机——富含Windows XP,Windows Vista或越来越高版本,顾客供给运用如下命令扩张全秘书长途顾客端的IP地址到受信主机项目清单中:

PS C: > Set-item wsman:localhostclienttrustedhosts –value *

使用*用以将全体主机加多为受信主机,要是急需钦点特定的主机能够使用上边包车型客车通令:

PS C: > Set-item wsman:localhostclienttrustedhosts –value Copmuter1,Computer2

生龙活虎旦急需增添内定域名下的持有主机可进行上边包车型客车下令:

PS C: > Set-item wsman:localhostclienttrustedhosts –value *.testdomain.com

即使急需增多远程主机的IP地址到受信主机的清单:

PS C: > Set-item wsman:localhostclienttrustedhosts –value 10.0.0.1

如果做了地点的变动,顾客能用Enable-PSRemoting cmdlet在这里些专门的工作组中的主机。

1.3在混合域情状中采用远程管理

暗中同意意况下,区别域下的顾客就是是本地管理员组的分子依然无法三回九转到其余域中的主机。那是因为从其余域的长间隔连接只是运作在单独的客户权限之上。为了能使不一致域的主机可以连接到本地Computer,客商能够改动LocalAccountTokenFilterPolicy注册表键值(设置为1)来允许其余域的分子到地方Computer

PS C: > new-itemproperty -name LocalAccountTokenFilterPolicy -path ` HKLM:SOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem -propertyType DWord -value 1

1.4 在铺子条件下启用远程管理

为了能在小卖部或域境况中的多台主机上启用远程管理,顾客需求动用组计谋,更加的多的音信方可从

1.5禁止使用远程处理

顾客能够接收Disable-PSRemoting在地点主机上禁止使用远程管理。Disable-PSRemoting将会使线程配置音信失效,那样的操作并不会移除全部Enable-PSRemoting创造的构造,包蕴WinRM的启用景况和为PS远程管理创造的监听器。

假如在本机上从没有过此外服务或机件要求WinRM服务,客户能够通过执行下列命令禁止使用WinRM服务:

Set-Service winrm -StartupType Manual

Stop-Service winrm

为了移除暗中认可景况下WinRM在5985端口设置的监听器能够实行的下述命令:

Get-ChildItem WSMan:localhostListener –Recurse | Foreach-Object { $_.PSPath } | Where-Object { (Get-Item "$_Port").Value -eq 5985 } | Remove-Item

2 实行远程命令

在远程管理的情事下,有三种方法在长间隔主机上运转命令或脚本。满含Invoke-Command cmdlet和交互作用式远程线程。风流倜傥旦客商在本机启用远程管理,顾客就能够用Invoke-Command cmdlet在本机或远程主机运营命令和本子。

2.1 在地方或远程主机运维脚本块

客商能用上边包车型大巴方法在本地和远程主机调用命令:

Invoke-Command -ComputerName WinServ-wfe -ScriptBlock {Get-Process}

脚本块此参数能用来钦赐在长途主机械运输营的风流倜傥星罗棋布命令。如若要在当地推行命令,则ComputerName参数不是必需的。若是顾客须要在五个长途主机上实施同后生可畏的通令,客商能如下例所示通过逗号分隔的ComputerName参数或接受文本文件将主机项目清单传递给cmdlet:

Invoke-Command -ComputerName WinServ-wfe, SQL-Server2008 -ScriptBlock {Get-Process}

Invoke-Command -ComputerName (get-content c:scriptsservers.txt) -ScriptBlock {Get-Process}

这种方法也被称之为散开式或少年老成对多少路程程管理。客商能用一条命令在多台主机上进行相近的吩咐。

脚本块中有着的通令和变量均会在长途计算机上运营。纵然顾客选拔肖似于-ScriptBlock {Get-Process –Name $procName},PowerShell以为远程计算机线程中$procName变量已经定义过了。客商能经过动用Invoke-Command命令,将地点计算机上的变量传递到长途线程。

2.2 传递变量到长途线程

前方的例证中,客商能够传递要探求的进度名作为变量。ArgumentList参数能帮忙顾客传递到长途线程中:

$procName = "powershell"

Invoke-Command -ComputerName (get-content c:scriptsservers.txt) ` -ScriptBlock {param ($Name) Get-Process -Name $Name} –ArgumentList $procName

地点的例证中能够展现怎么利用-ArgumentList参数字传送递本地变量到长途线程。

2.3 通过Invoke-Command使用长久线程

顾客能够行使带-ComputerName参数的Invoke-Command营造有的时候的线程实践远程命令。会在历次使用Invoke-Command cmdlet时,都会另行确立线程。在只是进行轻便、为数十分的少的一声令下时可能无所谓,但是只要要试行大气下令温州通剧本时将会极其的耗费时间费事。为了幸免这种状态,就须求动用长久线程,客商能采取New-PSSession cmdlet成立对长间隔主机的同心同德连接。

$s = New-PSSession -ComputerName WinServ-wfe

那儿,$s饱含漫长连接的线程细节,能够选用$s在长间隔主机上调用命令语法如下:

Invoke-Commad -Session $s -ScriptBlock {get-Process}

当在中间隔组合机上试行命令时,$s会蕴藏全部创造和改造的变量。那样以$s作为线程的后续试行的通令能够访谈具备在中远间距主机上创办和更新的变量,如下例所示:

$s = new-pssession -computername WinServ-wfe

Invoke-Command -Session $s -ScriptBlock {$fileCount = (Get-ChildItem D: -Recurse).Count}

invoke-command -session $s -scriptblock {$fileCount}

客商能访谈$fileCount变量,因为是利用了悠久线程实施命令。要是只是接收-ComputerName调用命令那是不大概达成的。

2.4用作后台职务运营远程命令

前边的例证中获得远程主机上全部D:下的文书数量,假设含有的文本数量非常的大的情景下将会很耗费时间,那样就必要等待远程命令实现施行。为了防止那一点,客商能够应用-AsJob参数职务令作为长途主机的后台职责。命令格式如下所示:

Invoke-Command -ComputerName WinServ-wfe -ScriptBlock {(Get-ChildItem D: -Recurse).Count} –asJob

实行后效果如下图4所示:

图片 8

当顾客选取带-AsJob参数的Invoke-Command cmdlet时,远程主机上的后台职务将会被创制和周转,在后台义务被制造后,能够运用*-job cmdlet处理职务指标。

诸如,客户能够利用Get-Job监控职分的景况而且只要职务状态变为完结,就能够运用Receive-Job cmdlet获取内定脚本块的出口。

Get-Job –id 3 | Receive-Job

客户也能应用Start-Job在长途主机上用脚本块创立后台职分。可是,通过如此形式确立的天职的输出结果只会在长间距主机上显得。当客户须要从该后台义务获取输出输出时,就必要在Invoke-Command调用的脚本块中接纳Receive-Job cmdlet。

2.5 为远程管理钦命凭据

日前的篇章里,能够用在职业组中的Computer间选择PowerShell远程管理。在前头的事例中只是生机勃勃旦是采纳管理员权限访问远程Computer,那样的秘籍得以在域中别的以管理员凭据登入的微微处理机上在域遭遇中很好的做事,客户无需显式的传递信物给Invoke-Command。不过,这样的不二秘诀是无法在专门的学业组景况下使用,需求传递信物给Invoke-Command,如下例所示:

$cred = Get-Credential

Invoke-Command -ComputerName WinServ-wfe -ScriptBlock { Get-Process} -Credential $cred

在下面的例子中,Get-Credential会向顾客索取访谈远程主机的凭据,并选拔该证据调用Invoke-Command cmdlet。

3 总结

在本文中,首先介绍了怎么启用powershell的远程处理,以至怎么着在专门的学问组和混合域遭逢下布置Computer,必要潜心的是禁止使用远程管理不能够通过Enable-PSRemoting的逆操作来落实。要是地点计算机不再须求远程处理成效,客户需求手动撤除全数的装置,富含结束和剥夺WinRM服务,移除为可信赖主机加多的监听器。

接下去介绍了如何运用Invoke-Command cmdlet用于在长途主机上实行命令,成立持久线程,在三个指令间同一线程传递的变量和参数。客户仍可以在推行较困难的通令时以往台任务的方式完毕,并在执行完结后采用命令回调施行结果。

 

Sadie网地址:

 

作者: 付海军
出处:
版权:本文版权归作者和新浪共有
转发:款待转发,为了保存小编的写作热情,请按需要【转发】,多谢
供给:未经笔者同意,必需保留此段注脚;必需在文章中提交最早的小说连接;不然必究法律责任
个人网址:

本文由星彩网app下载发布于星彩网app下载,转载请注明出处:远程管理之启用和实施命令,开启PowerShell远程管

TAG标签: 星彩网app下载
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。