alphasec
PowerShell protip 0082
in 𝕏

Add-Type -t 'public class User32 {[System.Runtime.InteropServices.DllImport("user32.dll")] public static extern bool LockWorkStation();}'; [User32]::LockWorkStation() - zablokuj ekran PowerShellem

tty1 · powershell
PS> Add-Type -t 'public class User32 {[System.Runtime.InteropServices.DllImport("user32.dll")] public static extern bool LockWorkStation();}'; [User32]::LockWorkStation()
#Powershell#ProzaŻycia#Windows

Podobnie jak w protipie /pl/0081 wykorzystujemy funkcję LockWorkStation windowsowej biblioteki user32.dll. Tym razem jednak nie wykorzystujemy aplikacji rundll32.exe lecz importujemy bibliotekę do aktualnej sesji PowerShella.

Wersja bardziej czytelna, ale już nie jako oneliner, mogłaby wyglądać następująco:

Add-Type -TypeDefinition @'
public class User32 {
    [System.Runtime.InteropServices.DllImport("user32.dll")]
    public static extern bool LockWorkStation();}
'@
[User32]::LockWorkStation()

Jak już zapewne wiecie, w tle uruchomi się kompilator csc.exe, zgodnie z tym co omawialiśmy przy okazji protipa /pl/007f.

Przydatne linki

learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/add-type dokumentacja cmdletu Add-Type web ↗ # aptm.in/protip/0081 rundll32 user32,LockWorkStation - zablokuj ekran z wiersza poleceń protip ↗ # aptm.in/protip/007f Add-Type -t 'public class Foo { public static void Main(){ System.Console.WriteLine("Ciekawe te protipy!");}}';[Foo]::Main() - uruchom kod C# prosto z PowerShella protip ↗
← poprzedni protip 0081 ••• Wszystkie protipy następny → protip 0083
// subskrybuj

Nowe protipy prosto na maila.

Mięsiste jednolinijkowce i triki z prawdziwych zleceń. Zero spamu, zero teorii. Wypisujesz się jednym kliknięciem.

wersja newslettera: