Unterschied PS 5 und PS 7
Moin,
ich habe ein Powershellskript, das bisher ohne Probleme lief. Als Parameter wird
beim Aufruf übergeben. Das soll ein Teil oder auch ein ganzer Gruppenname sein. Im weiteren Verlauf wird dann mit
geprüft, ob es denn diese Gruppe(n) gibt.
Unter 5.1.19041.1682 Desktop läuft das wie Schmitz' Katze und das gesamte Skript erstellt eine Matrix aus Usern und Gruppenmitgliedschaften. Alles gut. Unter 7.2.5 Core passiert folgendes:
Warum? Was wurde da geändert? Und warum steht in der Fehlermeldung, dass "Sourcegroup DL_RW*" nicht gefunden wurde?
Beide PS-Installationen befinden sich auf dem selben Rechner und es wird das Skript mit dem selben User ausgeführt. Es kann also kein Rechteproblem sein.
Liebe Grüße
Erik
ich habe ein Powershellskript, das bisher ohne Probleme lief. Als Parameter wird
param (
[string] $SourceGroup = $(Read-Host -prompt "Eingabe Quellgruppe"), # Wildcards are allowed.
[bool] $recursive = $false # Don't do it recursive by default. Recursive also shows inherited Memberships.
)
beim Aufruf übergeben. Das soll ein Teil oder auch ein ganzer Gruppenname sein. Im weiteren Verlauf wird dann mit
$sg = $SourceGroup + "*"
If (Get-ADGroup -Filter {SamAccountName -like $sg})
geprüft, ob es denn diese Gruppe(n) gibt.
Unter 5.1.19041.1682 Desktop läuft das wie Schmitz' Katze und das gesamte Skript erstellt eine Matrix aus Usern und Gruppenmitgliedschaften. Alles gut. Unter 7.2.5 Core passiert folgendes:
PS U:\ps1> .\gruppen_user_matrix.ps1 -SourceGroup DL_RW_ED -recursive $true
Get-ADGroup: Variable: 'sg' found in expression: $sg is not defined.
WARNING: Sourcegroup DL_RW_ED* not found not in AD.
PS U:\ps1> .\gruppen_user_matrix.ps1 -SourceGroup DL_RW -recursive $true
Get-ADGroup: Variable: 'sg' found in expression: $sg is not defined.
WARNING: Sourcegroup DL_RW* not found not in AD.
PS U:\ps1> .\gruppen_user_matrix.ps1 -SourceGroup DL_RW_EDV -recursive $true
Get-ADGroup: Variable: 'sg' found in expression: $sg is not defined.
WARNING: Sourcegroup DL_RW_EDV* not found not in AD.
Warum? Was wurde da geändert? Und warum steht in der Fehlermeldung, dass "Sourcegroup DL_RW*" nicht gefunden wurde?
Beide PS-Installationen befinden sich auf dem selben Rechner und es wird das Skript mit dem selben User ausgeführt. Es kann also kein Rechteproblem sein.
Liebe Grüße
Erik
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 3209579330
Url: https://administrator.de/forum/unterschied-ps-5-und-ps-7-3209579330.html
Ausgedruckt am: 21.12.2024 um 14:12 Uhr
4 Kommentare
Neuester Kommentar
Servus Erik,
kann das hier im Test zwischen 5.1 und 7.2.5 leider nicht nachvollziehen, aber schreibe den Filter stattdessen mal so
damit umgehst du die Subexpression, die führt als Filter manchmal zu nicht nachvollziehbaren Scope-Problemen, bei denen der Parent Scope nicht im Filter lesbar ist.
Evt. auch mal das AD Module explizit vorladen (ohne Autoload).
Grüße Uwe
kann das hier im Test zwischen 5.1 und 7.2.5 leider nicht nachvollziehen, aber schreibe den Filter stattdessen mal so
Get-ADGroup -Filter "SamAccountName -like '$sg'"
Evt. auch mal das AD Module explizit vorladen (ohne Autoload).
Grüße Uwe
Den Interop-Typ Microsoft.Office.Interop.Excel musst du erst mit Add-Type laden bevor du ihn nutzen kannst, der Namespace wird nicht automatisch geladen.
Alternativ statt den Namespace zu nutzen ist das __Value der Konstanten dort einzutragen dann brauchst du den Typ nicht laden.
Die PS7 verzeiht halt ein paar Ungenauigkeiten nicht mehr so wie die 5er.
Alternativ statt den Namespace zu nutzen ist das __Value der Konstanten dort einzutragen dann brauchst du den Typ nicht laden.
Die PS7 verzeiht halt ein paar Ungenauigkeiten nicht mehr so wie die 5er.