问题描述
我有一个用于1级的Powershell论坛。 现在,要求添加一个按钮,该按钮调用用于解决自动Outlook问题的脚本。
当我直接在计算机本身上调用脚本时(通过。\ outlook.ps1),脚本可以工作
当我将其添加到按钮时,它不起作用。
按钮本身可以工作并且可见。
示例代码:
$button_Outlookrest_Click={
Get-ComputerTXTBOX
Add-logs -text "$ComputerName - Create new Outlook profile"
function button{
Copy-Item -Path "D:\path\Repair_outlook_Profile.ps1" -Destination "\\$ComputerName\C$\local" -Recurse
Invoke-Command -ComputerName $ComputerName -ScriptBlock {C:\local\Repair_outlook_Profile.ps1}
}
}
我已经对代码进行了单独测试,并且可以正常工作:
Copy-Item -Path "D:\path\Repair_outlook_Profile.ps1" -Destination "\\replaced-with-targetcomputer\C$\local" -Recurse
当我想调用脚本时,我使用以下内容:
Invoke-Command -ComputerName $ComputerName -ScriptBlock {C:\local\Repair_outlook_Profile.ps1}
但是,以上文字为我提供了以下错误:
PS C:\ Users \ admin>调用命令-ComputerName目标计算机-ScriptBlock {C:\ local \ Repair_outlook_Profile.ps1}
[目标计算机]连接到远程服务器目标计算机失败,并显示以下错误消息:WinRM无法 完成操作。验证指定的计算机名称有效,并且可以通过以下方式访问该计算机: 网络,并且启用了WinRM服务的防火墙例外,并允许从此计算机进行访问。通过 默认情况下,公共配置文件的WinRM防火墙例外将限制对同一本地内的远程计算机的访问 子网。有关更多信息,请参见about_Remote_Troubleshooting帮助主题。 + CategoryInfo:OpenError :(客户端目标:字符串)[],PSRemotingTransportException + FullyQualifiedErrorId:WinRMOperationTimeout,PSSessionStateBroken
我想避免使用Powershell,因为这不是该按钮的想法。
在脚本本身中,它不会将文件复制到目标计算机,也不会使用invoke命令运行脚本。 这被公司防火墙阻止了吗? 我的代码有问题吗? 一个没有任何问题的示例按钮是:
$button_DriverQuery_Click={
$button_DriverQuery.Enabled = $False
Get-ComputerTxtBox
$DriverQuery_command="cmd.exe"
$DriverQuery_arguments = "/k driverquery /s $ComputerName"
Start-Process $DriverQuery_command $DriverQuery_arguments
$button_DriverQuery.Enabled = $true
}
仅此附加按钮不起作用。我目前无法弄清楚。 我在这里做什么错了?
谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)