Powershell 应用程序在Windows 7中运行,但不在Windows 10中运行

Powershell 应用程序在Windows 7中运行,但不在Windows 10中运行,powershell,windows-10,Powershell,Windows 10,我已经创建了一个用于备份和恢复计算机的应用程序。我还允许通过使用自定义Profile.ps1文件修改ADObject。该应用程序在ISE中运行良好,没有错误,在Windows 7中运行正常,没有错误。然而,当我尝试在新映像的Windows10机器上运行它时,我的所有对象属性都出现了“Property Can Not Found”错误 问题是,当我填充组合框时,我可以读取所有属性。该错误仅在提交表单时发生。我会附上我有问题的表格之一。同样,它在Windows7中运行良好,但在Windows10中运

我已经创建了一个用于备份和恢复计算机的应用程序。我还允许通过使用自定义
Profile.ps1
文件修改ADObject。该应用程序在ISE中运行良好,没有错误,在Windows 7中运行正常,没有错误。然而,当我尝试在新映像的Windows10机器上运行它时,我的所有对象属性都出现了“Property Can Not Found”错误

问题是,当我填充组合框时,我可以读取所有属性。该错误仅在提交表单时发生。我会附上我有问题的表格之一。同样,它在Windows7中运行良好,但在Windows10中运行不好

这可能是Microsoft更新的问题吗

另外,是的,我正在设置
Set ExecutionPolicy-Scope Process-ExecutionPolicy Unrestricted

错误消息:

The property 'company' cannot be found on this object. Verify that the property exist and can be set. + $CO.company = $company + Categoryinfo :InvalidOperation: (:) [] RuntimeExeption 在此对象上找不到属性“company”。验证 属性存在并且可以设置。 +$CO.company=$company +类别信息:无效操作:(:)[]运行时验证 代码:

\\iotsdsp01pw\installs$\MoveToOU\PcDeployment\Profile.ps1
#区域验证函数
函数验证IsEmail([string]$Email){
返回$Email-match“^(?“”(“+?”@)([0-9a-zA-Z]((\.(?!\))[-!\$%&'\*\+/=\?\^\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

将计算机对象分配给一个scriptblock中的变量
$computerObject
,并尝试在另一个scriptblock中更改其属性之一。但是,为了能够在scriptblock之间共享一个变量,需要将其设为全局变量,否则您有两个彼此一无所知的单独局部变量

$No_Load = {
  ...
  $global:computerObject = Get-ADObject $distinguishedName
  ...
}
...
$btnSubmitNewNo_Click = {
  ...
  $global:computerObject.company = $company
  ...
}

顺便说一句,我怀疑这在Windows7中是否有效,因为它在我的Windows7测试框中失败,并出现相同的错误。

我要指出的是,一两周前的W10更新破坏了我机器上的AD cmdlet。我没有研究这是否是一个常见问题,我只是修复了它。很抱歉,我没有响应,但确实没有任何代码可以发布应用程序在W7中工作正常,但在W10中不工作。我正在读取对象的属性以获得输出。但是,当我尝试在提交时修改它们时,单击会出现以下错误:例如,一个运行时没有代码的程序…令人惊讶…无法在此对象上找到属性“company”。请验证该属性是否存在并可以设置。+$CO.company=$company+Categoryinfo:InvalidOperation:(:)[]RuntimeExeption$CO是如何填充的?另外,您应该编辑问题,而不是添加注释来显示代码。
$No_Load = {
  ...
  $global:computerObject = Get-ADObject $distinguishedName
  ...
}
...
$btnSubmitNewNo_Click = {
  ...
  $global:computerObject.company = $company
  ...
}