Schriftgröße: +
1 minute reading time (255 words)

Powershell Spielereien

Powershell Switch 180x180Im Laufe der Zeit haben sich einige Skripte, meist zu Testzwecken angesammelt, die aber durchaus nützlich sein können. An dieser Stelle eine veröffentlichung meiner Snipets. Dieser Beitrag kann später noch ergänzt werden.

 Mit einem SecureString kann in Powershell ein verschlüsselter String erzeigt werden. Dieser kann beispielsweise im Dateisystem mit einem Passwort abgelegt werden, um ein gesicherte "RunAs" funktionalität bei einem Invoke-Command zu ermöglichen

$key = (0, 0, 2, 3, 5, 3, 3, 3, 2, 3, 2, 4, 3, 1, 3, 3);
$pass = "Password" | ConvertTo-SecureString  -AsPlainText -Force | ConvertFrom-SecureString -Key $key
#
#$pass = "NAB5AHMAZQBLAHAASgA1AE4AZwBoACsAKwA2AFkAaQB0AFUANABzAHcAPQA9AHwAZAAwADEANgBmAGYAMAAxADEANABiAGMAYwA0ADYAYwBiADIANwBhAGUAOAA0ADQAZgBiADEAMgA5ADIAMwA4ADQANABjAGQANwAwADgANAAzAGMAZgBhADYANwBhADEA"

$env = $pass | ConvertTo-SecureString -Key $key
$BSTR = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($env)
$PlainPassword = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR)
Write-Host "Password is: " $PlainPassword

 Hier ein kleines Beispiel zur Bearbeitung der ACL Access Control List im WIndows Dateisystem mit Powershell

# Andreas Nick 2015
$Folder = "c:\temp"

[System.Reflection.Assembly]::LoadWithPartialName("System.Security.Principal") | Out-Null

$List = get-acl $Folder

$List.Access | ForEach-Object {
    [System.Security.AccessControl.FileSystemAccessRule] $r = $_;
    $r.AccessControlType;
    $AdObj = New-Object System.Security.Principal.NTAccount -ArgumentList $_.IdentityReference
    Write-Host "#######"
    $strSID = $AdObj.Translate([System.Security.Principal.SecurityIdentifier])
    Write-Host "Group :" $_.IdentityReference "     SID:" $strSID.Value
}

$CurrentRightsTable = (get-acl $Folder).GetAccessRules($true, $true, [System.Security.Principal.NTAccount])
$users = @((get-acl "C:\users\Andreas").Access | Select-Object  -ExpandProperty IdentityReference ) | where { $_ -notmatch "Vordefiniert" }
$users

Der folgede Codeschnipsel ist eine echte Spielerei und füllt die Powershell Konsole mit zufälligen Nullen und Einsen

$r = new-object System.Random

for ($x = 0; $x -le 100; $x++) {
    [Sring] $line = ""
    for ($y = 0; $y -le 200; $y++) {
        $line += $r.Next(0, 2).ToString()
    }
    Write-Host $line
}

 Das schaut dann wie folgt aus:

Powershell Spielchen

 

 

 

Wie kommt man an App-V 5 und zu App-V 5?
Powershell Backup mit Winrar
 

Kommentare

Derzeit gibt es keine Kommentare. Schreibe den ersten Kommentar!
Bereits registriert? Hier einloggen
Dienstag, 03. Dezember 2024

Sicherheitscode (Captcha)

Nick Informationstechnik GmbH
Dribusch 2
30539 Hannover

+49 (0) 511 165 810 190
+49 (0) 511 165 810 199

infonick-it.de

Newsletter

Anmeldung zum deutschen M.A.D. Newsletter mit Informationen zur Anwendungsvirtualisierung!