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
Please also mark the comments that contributed to the solution of the article
Content-Key: 395606
Url: https://administrator.de/contentid/395606
Printed on: September 24, 2023 at 14:09 o'clock
6 Comments
Latest comment
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.