-
-
Save janikvonrotz/7819990 to your computer and use it in GitHub Desktop.
cmdkey /list | ForEach-Object{if($_ -like "*Ziel:*"){cmdkey /del:($_ -replace " ","" -replace "Ziel:","")}} |
Danke/grazie/thanks/děkuji! This line I needed this late night.
And yes, Cermak, those "*" were important. :)
So, correct English line:
cmdkey /list | ForEach-Object{if($_ -like "*Target:*"){cmdkey /del:($_ -replace " ","" -replace "Target:","")}}
works great. However what if you want to delete just specific Items that starts with a specific name for example I wasn't ot delete All credentials that the Target Name starts with Microsoft_OC1. I have tried using the above command with the following but does not work
cmdkey /list | ForEach-Object{if($_ -like "Target:Microsoft_OC1"){cmdkey /del:($_ -replace " ","" -replace "Target:","")}}
the object here is to only delete specific credentials not all of them.
Here is a credential that is currently stored.
Users\marquesj.AUTOCLUB> cmdkey /list
Currently stored credentials:
Target: LegacyGeneric:target=Microsoft_OC1:[email protected]:specific:
LOC:1
Type: Generic
User: marquesj
appreciate any help you can provide. Thanks!!!
Try this.
cmdkey /list | ForEach-Object{if($_ -like "*Microsoft_OC1*"){cmdkey /del:($_ -replace " ","" -replace "Target:","")}}
Here is a "filtering" allowing to erase all, whatever windows language it is
$Credentials = (cmdkey /list | Where-Object {$_ -like "*Target=*"})
Foreach ($Target in $Credentials) {
$Target = ($Target -split (":", 2) | Select-Object -Skip 1).substring(1)
$Argument = "/delete:" + $Target
Start-Process Cmdkey -ArgumentList $Argument -NoNewWindow -RedirectStandardOutput $False
}
Try this. Just tried it and it work! Used regex to remove everything the beginning of Target:....to after target=. Then pass that on to /del:$_
cmdkey /list | ForEach-Object {if ($_ -like "Target:") {cmdkey /del:($_ -replace '^.+=', '')}}
looks like the * asterisks were removed when posting. You can add them before/after the quotes to -like "Target:" or use -match "Target: "
I need to delete cached credentials of a user. The tool I am using to connect to the remote computer runs under sys. So cmdkey /list is returning only the targets that it has access to. When the cmdkey /list is run on the target computer directly on the powershell console, it returns all the target that the logged user has access to. How do I retrieve these targets from a remote session running user sys?
@vinayiitkgp I think you can use the runas
command
Target: LegacyGeneric:target=Adobe App Prefetched Info (cc)(Part2)
cmdkey /list | ForEach-Object {
if ($_ -like "*Adobe*") {
cmdkey /del:($_ -replace '^[^=]+',"" -replace "=","")
}
}
German:
cmdkey /list | ForEach-Object{if($_ -like "*Ziel:*"){cmdkey /del:($_ -replace " ","" -replace "Ziel: ","")}}
English:
cmdkey /list | ForEach-Object{if($_ -like "*Target:*"){cmdkey /del:($_ -replace " ","" -replace "Target: ","")}}
This will even delete entries with spaces (based on the original version).
O comando é cmdkey /list | ForEach-Object {if($_ -like "Target=") {echo($_ -replace " ","" -replace "^.*target=","")}}
O comondo correto é
cmdkey /list | ForEach-Object {if($_ -like "Target=") {echo($_ -replace " ","" -replace "^.*target=","")}}
cmdkey /list | ForEach-Object {if($_ -like "*Target=*") {cmdkey /delete:($_ -replace " ","" -replace "^.*target=","")}}
For me all your listing depends from windows language version.
If you want to delete all key ignoring the lang of windows you can do:
cmdkey /list | ForEach-Object{
if($_ -like "*=*"){
$c = ($_ -replace (' ')).split(":", 2)[1]
cmdkey.exe /delete $c | Out-Null
}
}
In the english version the * are missing for the "-like":
cmdkey /list | ForEach-Object{if($_ -like "Target:"){cmdkey /delete:($_ -replace " ","" -replace "Target:","")}}