ALPHACON BBSGość · pl
← Protipy

Protipy / PowerShell

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

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

Wstęp

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.

Linki