用于安装所需dotnetframework版本的Powershell

问题描述 投票:0回答:1

我的客户没有Puppet,Chef或Choco,我无法在他们的服务器上安装它们来安装我的应用程序。

  1. 检查dotnet框架的安装版本。
  2. 转换为'。分割字符串
  3. 转换为System.Version(某些具有2拆分或3拆分数组)>
  4. 与所需的dotnetframework版本进行比较,例如4.6.2
  5. 如果安装了更高版本,则中止
  6. 如果没有,则安装所需框架版本的MSI / EXE
  7. 步骤1:将dotnet版本检查为System.Version:

到目前为止,我有:

Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -Recurse |
  Get-ItemProperty -name Version, Release -EA 0 |
  Where-Object { $_.PSChildName -match 'Full'} |
  Select-Object Version

但是GetType,Split,Select-String对我不起作用。

到目前为止已尝试的错误和代码:

| Select-String $_

结果:Select-String:无法将参数绑定到参数'Pattern',因为它为null。

| {Select-String $_}

结果:仅允许将表达式作为管道的第一个元素。

|Select-Object $_.GetType

不列出版本类型

|Select-Object $_.Split(".")

导致:您不能在空值表达式上调用方法。

我的客户没有Puppet,Chef或Choco,我无法在他们的服务器上安装它们来安装我的应用程序。检查dotnet框架的安装版本。转换成 '。'拆分字符串转换为系统。...

.net powershell dsc
1个回答
0
投票

根据您的问题,我想您有问题(从注册表中)转换检索到的版本。如果是这样,您可以像这样进行简单的转换:

© www.soinside.com 2019 - 2024. All rights reserved.