Jump to content

PowerShell Array auslesen und abgleichen


Guest
Go to solution Solved by BOfH_666,
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Recommended Posts

OK, jetzt hab ichs :-). Danke auch.

 

if ((Compare-Object -ReferenceObject $SourceACL -DifferenceObject $TargetACL -Property IdentityReference, FileSystemRights) -eq $null)

ist die Lösung.

Entwerder Compare-Object gibt etwas zurück oder eben nicht. Und wenn es nix zurück gibt ist alles OK und wenn doch was zurück kommt, kann ich eine Aktion dran hängen.

Manchmal kann die Lösung so einfach sein...

Link to post

Supi.

 

Eine Kleinigkeit noch. Beim Vergleich mit $NULL sollte $NULL auf der linken Seite des Vergleichsoperators stehen. Also ... 

if ($null -eq (Compare-Object -ReferenceObject $SourceACL -DifferenceObject $TargetACL -Property IdentityReference, FileSystemRights))

 

Link to post
vor 7 Minuten schrieb BOfH_666:

Supi.

 

Eine Kleinigkeit noch. Beim Vergleich mit $NULL sollte $NULL auf der linken Seite des Vergleichsoperators stehen. Also ... 


if ($null -eq (Compare-Object -ReferenceObject $SourceACL -DifferenceObject $TargetACL -Property IdentityReference, FileSystemRights))

 

Interessant.

 

Was ist der Grund dafür? 

Ich schreibe das $null auch immer rechts.

Link to post
vor 38 Minuten schrieb tesso:

Interessant.

 

Was ist der Grund dafür? 

Ich schreibe das $null auch immer rechts.

Ich bin doch immer so schlecht im Erklären .... 

 

PowerShell – Null comparison demystified

 

Powershell check variable for NULL

 

Comparing against $NULL

 

Checking for NULL in Powershell

 

... und wenn Du VSCode benutzt, weist Dich der dort im Hintergrund laufende PSScriptAnalyzer auch direkt darauf hin.  ;-) 

 

Link to post
  • 1 month later...
Am 31.7.2020 um 14:14 schrieb BOfH_666:

Eine Kleinigkeit noch. Beim Vergleich mit $NULL sollte $NULL auf der linken Seite des Vergleichsoperators stehen. Also ... 


if ($null -eq (Compare-Object -ReferenceObject $SourceACL -DifferenceObject $TargetACL -Property IdentityReference, FileSystemRights))

 

OT: Und dann entdeckst du das im ExchangeSetup.log: ;-)

Zitat

[09.19.2020 12:29:26.0494] [1] [ERROR] The following error was generated when "$error.Clear(); 
          $tpath = "$env:SystemRoot\system32\inetsrv\microsoft.web.administration.dll";
          add-type -Path $tpath;
          $sm = new-object Microsoft.Web.Administration.ServerManager;
          if ($sm.Sites["Exchange Back End"] -eq $null)
          {
            $backEndWebSitePath = [System.IO.Path]::Combine($RoleInstallPath, "ClientAccess");
            $s = $sm.Sites.Add("Exchange Back End","http", "*:81:", $backEndWebSitePath);
            $s.ServerAutoStart = $true;
            $sb =$s.Bindings;
            $b = $sb.Add("*:444:","https");
            $sm.CommitChanges();
          }
        " was run: "System.Management.Automation.RuntimeException: Es ist nicht möglich, einen Index auf ein NULL-Array anzuwenden.

 

Link to post
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...