Powershell v5 und ConstrainedLanguage-Mode
Hi @ All
Vor kurzen ist mir aufgefallen, dass einfachste Dinge in Powershell v5 nicht mehr funktionieren, wenn PS nicht als Administrator ausgeführt wird.
Z.B.:
MS rechtfertigt das (verkürzt) so: Normale User sollen daran gehindert werden "alle" Powershell-Features ausführen zu können
W T F ???
Selbst das Erstellen von Objects oder das Abfragen des WindowsPrinzipals ist nicht mehr möglich ohne administrative Rechte
z.B.
Nun meine Frage und die ist durchaus ernst gemeint:
Was geht ab mit Microsoft? Manche Unternehmen vergeben standardmäßig keine Adminrechte, der Aufgabenbereich erfordert es aber trotzdem mit Powershell zu arbeiten. Anscheined will MS, dass man das Net.Framework nicht mehr verwendet.
Beste Grüße!
Mayho
Vor kurzen ist mir aufgefallen, dass einfachste Dinge in Powershell v5 nicht mehr funktionieren, wenn PS nicht als Administrator ausgeführt wird.
Z.B.:
PS C:\> [System.Console]::WriteLine("Hello")
Cannot invoke method. Method invocation is supported only on core types in this language mode.
At line:1 char:1
+ [System.Console]::WriteLine("Hello")
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) , RuntimeException
+ FullyQualifiedErrorId : MethodInvocationNotSupportedInConstrainedLanguage
MS rechtfertigt das (verkürzt) so: Normale User sollen daran gehindert werden "alle" Powershell-Features ausführen zu können
W T F ???
Selbst das Erstellen von Objects oder das Abfragen des WindowsPrinzipals ist nicht mehr möglich ohne administrative Rechte
z.B.
function Show-ScriptRunAsAdmin() {
$User = New-Object System.Security.Principal.WindowsPrincipal([System.Security.Principal.WindowsIdentity]::GetCurrent())
$user.IsInRole([System.Security.Principal.WindowsBuiltInRole]::Administrator)
}
Nun meine Frage und die ist durchaus ernst gemeint:
Was geht ab mit Microsoft? Manche Unternehmen vergeben standardmäßig keine Adminrechte, der Aufgabenbereich erfordert es aber trotzdem mit Powershell zu arbeiten. Anscheined will MS, dass man das Net.Framework nicht mehr verwendet.
Beste Grüße!
Mayho
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 395606
Url: https://administrator.de/forum/powershell-v5-und-constrainedlanguage-mode-395606.html
Ausgedruckt am: 14.04.2025 um 03:04 Uhr
6 Kommentare
Neuester Kommentar
Müsste laut dem Artikel nur so sein wenn du UMCI machst
https://blogs.msdn.microsoft.com/powershell/2017/11/02/powershell-constr ...
Ist das bei dir der Fall?
https://blogs.msdn.microsoft.com/powershell/2017/11/02/powershell-constr ...
Ist das bei dir der Fall?
Moin,
also hier geht's als normaler User.
Liebe Grüße
Erik
also hier geht's als normaler User.
PS P:\ps1> [System.Console]::WriteLine("Hello")
Hello
PS P:\ps1> $User = New-Object System.Security.Principal.WindowsPrincipal([System.Security.Principal.WindowsIdentity]::Ge
tCurrent())
PS P:\ps1> $user.IsInRole([System.Security.Principal.WindowsBuiltInRole]::Administrator)
False
PS P:\ps1> $PSVersionTable
Name Value
---- -----
PSVersion 5.1.14409.1018
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.14409.1018
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
Liebe Grüße
Erik

Zitat von @mayho33:
Firmen-PC W10 1809 x64 Ent. definitiv nicht mehr. Dieses Feature ist zwar schon sein 11.2017 im Umlauf
Im Umlauf ja aber nur auf Kisten bei denen Applocker oder Deviceguard oder ähnliche Produkte zum Einsatz kommen!Firmen-PC W10 1809 x64 Ent. definitiv nicht mehr. Dieses Feature ist zwar schon sein 11.2017 im Umlauf
, ich vermute aber, dass es nun "Scharf" ist.
Nein, kann ich definitiv nicht bestätigen. Jungfräuliche VM mit W10 Enterprise x64 1809 auf aktuellstem Build, stink normaler User in seiner Powershell:An deinem Firmen PC wird sehr wahrscheinlich Applocker oder Device Guard zum Einsatz kommen, dann ist das ja auch korrektes Verhalten!
Gruß A.

Zitat von @mayho33:
Hi answer,
habe das überprüft und kann deine Aussage bestätigen :D . Nervt nur leider etwas hier eine Ausnahme zu bekommen.
Es ist keine Ausnahme. Es wurde eine frische VM ohne irgendwelche Änderungen genommen. An anderen Rechnern gleiches Verhalten. Muss also bei euch liegen.Hi answer,
habe das überprüft und kann deine Aussage bestätigen :D . Nervt nur leider etwas hier eine Ausnahme zu bekommen.