如果我有一个带有数字的变量$ count,是否有一个单行将变量设置为true或false,具体取决于$ count = 1?
我以为
$result = ($count -eq 1)
会这样做,但我最终会得到" 1"或存储在其中的null(取决于它是否为1)。
知道我做错了吗?
编辑:我的错误 - 我实际上并没有" 1"在那个变量中。我有一个看起来的ArrayList,就像它是数字1.关闭它。
完整代码:
get-acl C:\Windows\System32\drivers\etc | select -expand access | where {$_.IdentityReference -eq "SomeACL"} | measure | select -expand count -OutVariable aclCount
$aclFound = ($aclCount –eq 1)
$TodayDate = Get-Date -Format "dd/MM/yyyy hh:mm:ss"
Add-Content f:\myfile.log "$TodayDate $aclFound "
通过在第2行的$ aclCount之后放置一个[0]来修复它。 (显然那里的ACL是我正在检查的那个)
答案 0 :(得分:0)
您始终可以使用If / Then / Else来执行此操作。
If($Count -eq 1){$result = $true}else{$result = $false}
答案 1 :(得分:0)
无法重现。
PS C:\> $count = 3
PS C:\> $result = ($count -eq 1)
PS C:\> $result
False
PS C:\> $result.GetType().Name
Boolean