无法获取为IISStatus返回的$true或$false值
IISStatus
$true
$false
$status = iisreset /start
我想检查IIS是否已启动。
kwvwclae1#
检查自动变量-或者$LASTEXITCODE- * 包含运行的最后一个基于Windows的程序的退出代码。*或$?- * 包含最后一个命令的执行状态。如果最后一个命令成功,则包含True,如果失败,则包含False。*考虑到以下关系(同一来源):对于本机命令(可执行文件),当$LASTEXITCODE为0时,$?设置为True,当$LASTEXITCODE为任何其他值时,$?设置为False。
$LASTEXITCODE
$?
True
False
0
示例1:
$status = iisreset /start "$? $LASTEXITCODE" $status
False 5 Access denied, you must be an administrator of the remote computer to use this command. Either have your account added to the administrator local group of the remote computer or to the domain administrator global group.
示例2(提升的PowerShell):
True 0 Attempting start... Internet services successfully started
xxb16uws2#
根据我的评论。
Get-Service -Name IISADMIN # Results <# Status Name DisplayName ------ ---- ----------- Running IISADMIN IIS Admin Service #> iisreset /stop # Results <# Attempting stop... Internet services successfully stopped #> Get-Service -Name IISADMIN # Results <# Status Name DisplayName ------ ---- ----------- Stopped IISADMIN IIS Admin Service #> iisreset /start # Results <# Attempting start... Internet services successfully started #> Get-Service -Name IISADMIN # Results <# Status Name DisplayName ------ ---- ----------- Running IISADMIN IIS Admin Service #> Stop-Service -Name IISADMIN # Results <# WARNING: Waiting for service 'IIS Admin Service (IISADMIN)' to stop... WARNING: Waiting for service 'IIS Admin Service (IISADMIN)' to stop... #> Get-Service -Name IISADMIN # Results <# Status Name DisplayName ------ ---- ----------- Stopped IISADMIN IIS Admin Service #> Start-Service -Name IISADMIN Get-Service -Name IISADMIN # Results <# Status Name DisplayName ------ ---- ----------- Running IISADMIN IIS Admin Service #> (Get-Service -Name IISADMIN).Status # Results <# Running #>
仅供参考,有许多IIS cmdlet可供使用,而不必还原为可执行文件。
Get-Command -Name 'IIS*'
它们是“IIS管理”模块的一部分。
Find-Module -Name 'IIS*' Version Name Repository Description ------- ---- ---------- ----------- 1.1.0.0 IISAdministration PSGallery IIS Configuration management module
2条答案
按热度按时间kwvwclae1#
检查自动变量-或者
$LASTEXITCODE
- * 包含运行的最后一个基于Windows的程序的退出代码。*或
$?
- * 包含最后一个命令的执行状态。如果最后一个命令成功,则包含True
,如果失败,则包含False
。*考虑到以下关系(同一来源):
对于本机命令(可执行文件),当
$LASTEXITCODE
为0
时,$?
设置为True
,当$LASTEXITCODE
为任何其他值时,$?
设置为False
。示例1:
示例2(提升的PowerShell):
xxb16uws2#
根据我的评论。
仅供参考,有许多IIS cmdlet可供使用,而不必还原为可执行文件。
它们是“IIS管理”模块的一部分。