关于Powershell执行时的问题

问题1:

【问题描述】

使用Invoke-Command命令登录远程主机执行命令时,提示如下错误:

[192.168.1.135] 连接到远程服务器失败,错误消息如下: WinRM 客户端无法处理该请求。如果身份验证方案与 Kerberos 不同,或者
客户端计算机未加入到域中, 则必须使用 HTTPS 传输或者必须将目标计算机添加到 TrustedHosts 配置设置。 使用 winrm.cmd 配置
TrustedHosts。请注意,TrustedHosts 列表中的计算机可能未经过身份验证。 通过运行以下命令可获得有关此内容的更多信息: winrm
 help config。 有关详细信息,请参阅 about_Remote_Troubleshooting 帮助主题。
    + CategoryInfo          : OpenError: (:) [], PSRemotingTransportException
    + FullyQualifiedErrorId : PSSessionStateBroken


【解决方法】

出现该问题是由于本机没有将要远程登录主机的IP(192.168.1.135)加入到本机的可信主机列表中;

在本机添加可信主机方法:


#1.切到远程管理的client目录下

cd WSMan::localhost\client


#2.查看目录下的子项,其中TrustedHosts会列出本机已添加的可信主机IP

Get-ChildItem


#3.将192.168.1.135添加为可信主机

Set-Item ./TrustedHosts 192.168.1.135


#4.再次获取子项时即可看到已添加的主机IP


PS:将所有主机添加为可信主机的方法

Set-Item ./TrustedHosts *


--------------------------------------------------------------------------------------------------------------------------------------

问题2:

【问题描述】

使用Powershell脚本将A主机的E盘的Stocks目录复制到B主机的E盘的Stocks目录下进行覆盖操作!

PowerShell使用Copy-Item进行复制!然后报如下错误:


Copy-Item : 对路径“\\192.168.10.130\E$\Stocks\bin\MapControl.Web.dll”
的访问被拒绝。
所在位置 C:\webcopy.ps1:6 字符: 10
+ Copy-Item <<<<  -Path \\192.168.10.237\E$\Stocks\*  \\192.168.10.130\E$\Stocks\ -Force -Recurse  -ErrorAction Stop
    + CategoryInfo          : PermissionDenied: (A4MapControl.Web.dll:FileInfo
   ) [Copy-Item], UnauthorizedAccessException
    + FullyQualifiedErrorId : CopyFileInfoItemUnauthorizedAccessError,Microsof
   t.PowerShell.Commands.CopyItemCommand


【解决方法】

  • 如果复制时,出现“Copy-Item : 找不到网络名。”,说明是目标主机的磁盘未设置共享;
  • 出现上述访问被拒绝,是因为目标主机设置共享的权限有问题;


关于设置共享(包括设置权限)的方法如下:

#1.设置E盘共享,并开启所有权限

net share E$=E:  /unlimited /grant:Everyone,full



#2.如果在设置共享时,提示“名称已使用”,应该是之前该盘符设置过共享,请先删除共享

net share E$ /delete


#3.查看共享盘符具有的权限信息

net share E$


--------------------------------------------------------------------------------------------------------------------------------------

问题3:

【问题描述】

使用powershell脚本远程部署IIS站点,在执行脚本后,报如下错误:

[192.168.1.176] 连接到远程服务器失败,错误消息如下: 客户端无法连接到请求中指定的目标。 请验证该目标上的服务是否正在运行
以及是否正在接受请求。 有关目标(通常是 IIS 或 WinRM)上运行的 WS 管理服务,请查阅日志和文档。 如果目标是 WinRM 服务,则
在目标上运行以下命令来分析和配置 WinRM 服务: "winrm quickconfig"。 有关详细信息,请参阅 about_Remote_Troubleshooting 帮
助主题。
    + CategoryInfo          : OpenError: (:) [], PSRemotingTransportException
    + FullyQualifiedErrorId : PSSessionStateBroken


【解决方法】

出现该错误的原因是由于远程主机没有开启WinRM服务!

开启方法:

登录远程主机,在命令行输入winrm quickconfig,按照提示,启动服务即可!



posted @ 2017-03-16 16:03  foreverfriends  阅读(3774)  评论(1编辑  收藏  举报