【发布时间】:2023-04-01 15:03:01
【问题描述】:
我使用Get-WindowsOptionalFeature来检查Windows功能是否开启/关闭成功,但Windows 7不支持该指令。
$IIS_InstallPro = "IIS-WebServerRole","IIS-WebServer","IIS-CommonHttpFeatures","IIS-HttpErrors"
#$features = Get-WindowsOptionalFeature -Online -FeatureName IIS*
$features = Dism /Online /Get-Features
function CheckIIS{
foreach($feature in $features)
{
if($feature.State -eq "Disabled" -and $IIS_InstallPro -match $feature.FeatureNmae)
{
return $False
}
}
return $true
}
CheckIIS
我应该使用 dism.exe 来检查并返回结果吗? 想知道这样做是否是一种好习惯以及最好的方法是什么?
【问题讨论】:
-
自January, 2020 以来,Windows 7 已完全失去支持,并且不会再收到安全补丁。考虑改为更新到受支持的版本。更重要的是,这个问题是题外话,因为它是关于如何在 SuperUser 上管理操作系统功能和更好的话题。
-
虽然我同意 OP 应该使用受支持的操作系统,但我不同意这不是 Stack Overflow 的主题。从软件工程的角度来看,OP 想要使用的 API 在较旧的运行时中不可用,他们想了解如何在自己的限制范围内解决他们的问题。他们可能在Super User 有更好的受众,但尤其是在涉及到 shell 语言时,在以编程方式访问操作系统功能、运行外部命令以及自动化期间或内部常用实用程序的问题方面存在一些可接受的软件主题重叠软件开发生命周期。
标签: powershell windows-7 dism