我想给一个名为$dec的变量赋一个空值,但它给出了错误。下面是我的代码:
import-module activedirectory
$domain = "domain.example.com"
$dec = null
Get-ADComputer -Filter {Description -eq $dec}发布于 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++ }
输出:
周二的约会:周五的会议约会:团队午餐
发布于 2018-08-07 13:35:56
使用$dec = $null
$null是一个包含NULL或空值的自动变量。您可以使用此变量来表示命令和脚本中缺少或未定义的值。
PowerShell将$null视为具有值的对象,即显式占位符,因此您可以使用$null来表示一系列值中的空值。
发布于 2015-02-24 22:09:23
如果目标只是列出所有具有空描述属性的计算机对象,请尝试以下命令
import-module activedirectory
$domain = "domain.example.com"
Get-ADComputer -Filter '*' -Properties Description | where { $_.Description -eq $null }https://stackoverflow.com/questions/28697349
复制相似问题