2017-01-28 11 views
2

Ziel:Powershell Password Vault

Ich baue ein Password Vault. Ich möchte in der Lage sein, die Tabelle neu zu strukturieren und die Namen der Spalten zu ändern.

Frage:

Ist es möglich, diese Aufgabe zu vollenden? Und wenn ja, wie würde ich das machen?

Beispiel:

UserName        Resource        Password        Properties        
--------        --------        --------        ----------        
username        My App         password        {[hidden, False], [applicationid, 0... 

Ist es möglich, den Namen der Spalte Benutzername, Ressourcen- und Passwort permanent für zukünftige Einträge zu ändern?

function Get-SystemCreds{ 
    param(
    [switch]$AddCred, 
    [switch]$Getcred, 
    [switch]$RemoveCred 
) 
    $vaultAssembly = [void][Windows.Security.Credentials.PasswordVault,Windows.Security.Credentials,ContentType=WindowsRuntime] 
    if($AddCred -eq $true){ 
    $vaultAssembly 
    $ID= Read-Host 'Enter ID' 
    $Password= Read-Host 'Password' 
    $URL = Read-Host 'Enter URL' 
    $vault=New-Object Windows.Security.Credentials.PasswordVault 
    $cred=New-Object Windows.Security.Credentials.PasswordCredential($ID, $Password, $URL) 
    $vault.Add($cred) 
    } 
    if ($RemoveCred -eq $true){ 
    $vaultAssembly 
    $ID = Read-Host 'Enter ID' 
    $cred = Get-SystemCreds -Getcred | 
    Where-Object {$_.UserName -eq $ID} 
    $vault.Remove($cred) 
    } 
    if ($Getcred -eq $true){ 
    $vaultAssembly 
    (new-object Windows.Security.Credentials.PasswordVault).RetrieveAll() | % { $_.RetrievePassword(); $_ } 
    } 
} 
+0

Ich habe das schon mal irgendwo gesehen. Ich werde sehen, ob ich es ausgraben kann. – DeepS1X

+0

Danke ... aus irgendeinem Grund, warum ich abgelehnt wurde? Lass es mich wissen, damit ich meine Frage klären kann ... –

+0

Nicht sicher, ich habe den Downvote nicht platziert. Ich würde vorschlagen, dass Sie einen Teil des Quellcodes Ihres Tresors hinzufügen, um zu zeigen, wie er derzeit strukturiert ist. – DeepS1X

Antwort

3
#Formats username column, sets different title for column 
$format= @{Expression={$_.UserName};Label="UserNameColumnNameHere"} #Add comma and add formatting for other columns after here 
(new-object Windows.Security.Credentials.PasswordVault).RetrieveAll() | % { $_.RetrievePassword(); $_ } | format-table $format 

das Format der Tabelle Unter der Annahme verwendet Variablen, die gleichen wie die in Ihrem Bild zu sehen genannt, sollte dies ermöglicht es Ihnen, Ihre Tabelle die Namen neu zu formatieren, indem Sie die Format-Tabellenfunktion, um es anzuwenden.

+0

Hey Mann, das war eine großartige Idee. Guter Gedanke. Tut den Trick ... –

+0

Ich bin froh, dass es sich herausgestellt hat. Ich entfernte es von einem alten Code, den ich für einen RSS-Feed-Reader verwendete, und ich war mir nicht sicher, ob es hier so gut funktionieren würde. – DeepS1X