首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在PowerShell中将空值赋给变量?

如何在PowerShell中将空值赋给变量?
EN

Stack Overflow用户
提问于 2015-02-24 21:41:08
回答 4查看 146.7K关注 0票数 47

我想给一个名为$dec的变量赋一个空值,但它给出了错误。下面是我的代码:

代码语言:javascript
复制
import-module activedirectory
$domain = "domain.example.com"
$dec = null
Get-ADComputer -Filter {Description -eq $dec}
EN

回答 4

Stack Overflow用户

发布于 2015-02-25 18:01:40

这些是自动变量,如$null$true$false等。

about_Automatic_Variables,请参阅https://technet.microsoft.com/en-us/library/hh847768.aspx?f=255&MSPPError=-2147217396

$NULL

$null是包含、NULL、或空值的自动变量。您可以使用此变量来表示命令和脚本中缺少或未定义的值。

Windows PowerShell将$null视为具有值的对象,即显式占位符,因此您可以使用$null来表示一系列值中的空值。

例如,当$null包含在集合中时,它将被计为其中一个对象。

C:\PS> $a = ".dir",$null,".pdf“C:\PS> $a.count 3

如果通过管道将$null变量传递给ForEach-Object cmdlet,则它将为$null生成值,就像为其他对象生成值一样。

PS C:\ps-test> ".dir",$null,".pdf“| Foreach {" Hello "}您好您好

因此,您不能使用$null来表示“没有参数值”。参数值$null将覆盖默认参数值。

但是,因为Windows PowerShell将$null变量视为占位符,所以您可以像下面这样使用它的脚本,如果忽略$null,则该脚本将不起作用。

$calendar = @($null,$null,“Meeting”,$null,$null,“团队午餐”,$null) $days =星期日“,”星期一“,”星期二“,”星期三“,”星期四“,”星期五“,”星期六“$currentDay =0 foreach($day in $calendar) { if($day -ne $null) { "Appointment on $($days$currentDay):$day”} $currentDay++ }

输出:

周二的约会:周五的会议约会:团队午餐

票数 59
EN

Stack Overflow用户

发布于 2018-08-07 13:35:56

使用$dec = $null

documentation

$null是一个包含NULL或空值的自动变量。您可以使用此变量来表示命令和脚本中缺少或未定义的值。

PowerShell将$null视为具有值的对象,即显式占位符,因此您可以使用$null来表示一系列值中的空值。

票数 7
EN

Stack Overflow用户

发布于 2015-02-24 22:09:23

如果目标只是列出所有具有空描述属性的计算机对象,请尝试以下命令

代码语言:javascript
复制
import-module activedirectory  
$domain = "domain.example.com" 
Get-ADComputer -Filter '*' -Properties Description | where { $_.Description -eq $null }
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28697349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档