关于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,按照提示,启动服务即可!