In PowerShell 7.0 gibt es als experimentelles Feature den Null Conditional Operator ?. für Einzelobjekte und ?[] für Mengen.
  
Dieses Feature muss man zunächst aktivieren:
Enable-ExperimentalFeature PSNullConditionalOperators  
Nach der Aktivierung des Features und dem Start einer neuen PowerShell-7-Konsoleninstanz steht nun ein Operator in der PowerShell-Sprache zum Abfangen von Null-Referenz-Fehlern zur Verfügung, die es auch in der Programmiersprache C# schon seit deren Version 6.0 gibt: ?. anstelle von .  
Während der Punkt-Operator mit einem Laufzeitfehler abstürzt, wenn er auf ein Objekt angewendet wird, das den Wert $null hat (z. B. eine nicht initialisierte Variable), ist ?. in diesem Fall tolerant und gibt $null weiter.
In der PowerShell ist zu beachten, dass es aber nicht reicht, . durch ?. zu ersetzen wie in C#. Vielmehr muss man den Variablennamen auch in geschweifte Klammern setzen. Grund dafür ist, dass das Fragezeichen in PowerShell ein Teil des Variablennamens sein darf.
${variablenname}?.Methode() 
oder 
  
  
${ variablenname }?.Property
Details dazu zeigt die folgende Bildschirmabbildung:
  
  
    
  
    
    
      
        
Null Conditional Operator in PowerShell 7
      
    
  
Mengenelementzugriff mit ?[]
Für Mengen setzt man neu neuen Operator ?[] ein. Bei der Menge
$menge = $null
führt der Befehl
$menge[100]
normalerweise zum Laufzeitfehler: "InvalidOperation: Cannot index into a null array."
Der Befehl 
${menge}?[100]
führt nicht zum Fehler, weil er $null liefert. Der Operator ?[] ist nicht notwendig, wenn man bei einer initialisierten Menge auf ein Element zugreift, dass es nicht gibt.
$menge = 1..10
$menge[100]
In diesem Fall gibt es keinen Laufzeitfehler. Gleichwohl kann man aus Vorsicht auch hier schreiben
${menge}?[100]
wenn man nicht sicher ist, dass $menge initialisiert ist.
()