我的客户没有Puppet,Chef或Choco,我无法在他们的服务器上安装它们来安装我的应用程序。
步骤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框架的安装版本。转换成 '。'拆分字符串转换为系统。...
根据您的问题,我想您有问题(从注册表中)转换检索到的版本。如果是这样,您可以像这样进行简单的转换: