PowerShell脚本适用于Windows 10,但不适用于Windows Embedded Standard

时间:2017-10-09 11:33:37

标签: windows powershell scripting

我有以下脚本在Windows 10中工作,但在Windows Embdedded Standard:

上没有
$LogTime = Get-Date -Format "MM-dd-yyyy_hh-mm-ss"
$Path1= "TEST\TESTLog_$(get-date -f yyyy-MM-dd).txt"
$AffPBS= Get-Process "LLCService.exe" | Select-Object ProcessorAffinity
$AffLC= Get-Process "LCService.exe" | Select-Object ProcessorAffinity
$AffinityLLCFinal = "LLC  " + $AffPBS
$AffinityLCFinal = "LC   " + $AffLC
$FinalOutput = $LogTime+"  " +$AffinityLLCFinal +"     " + $AffinityLCFinal 
$FinalOutput | Out-File -Append $Path1

我以管理员身份运行Powershell_ISE,并设置了Set-ExecutionPolicy RemoteSigned

我在Windows 10上获得的结果:

10-09-2017_03-31-10  LLC  @{ProcessorAffinity=63}     LC   @{ProcessorAffinity=63}

我得到的结果是Windows 7:

10-09-2017_11-23-26  LLC       LC  

似乎Get-Process并不适用于Windows Embedded Standard。还有其他办法吗?

1 个答案:

答案 0 :(得分:0)

Win 10有PS版5.1。 Win 7可能有2.0或3.0。您可以尝试升级它。如果没有,则在旧版本中,您必须使用Select-object "ProcessorAffinity"而不是简单地使用-ComputerName

您也可以选择从win 10运行它,并使用Get-Process Get-WMIObject -Class Win32_Process -ComputerName "Win7Computer" -Credential $PSCredentialObject参数指定Win7计算机。但是,如果win 7需要与您登录的内容不同,则无法指定凭据。

在这种情况下,您可以使用trait PetCareInfo[T <: Pet[T] with PetCareInfo[T]] { self: T => def registerPet: Unit } abstract class Cat extends Feline[Cat] with PetCareInfo[Cat] // OK abstract class Dog extends Pet[Dog] with PetCareInfo[Dog] // OK abstract class Tiger extends Feline[Tiger] with PetCareInfo[Cat] // Error. ,但这会给您略微不同的结果。我找不到&#34;处理器亲和力&#34;财产就可以了。