cmdkey 删除名称中带有破折号和空格的凭据“-”

lif*_*kes 5 windows cmd batch-file credential-manager

当所述名称包含空格和破折号时,cmdkey 似乎无法按目标名称删除凭据 -

我有一个Test Credential - Iteration1要删除的凭据,但是当我尝试

cmdkey /del:Test Credential - Iteration1
Run Code Online (Sandbox Code Playgroud)

我得到了,The command line parameters are incorrect.因为我猜它把破折号作为一个新参数。

到目前为止,我已经尝试过引号,双引号,2 个双引号,用 ^ 转义破折号,用 {} 括起来,但这些都不起作用:

cmdkey /del:Test Credential - Iteration1
cmdkey "/del:Test Credential - Iteration1"
cmdkey /del:"Test Credential - Iteration1"
cmdkey /del:{Test Credential - Iteration1}
cmdkey {/del:"Test Credential - Iteration1}
cmdkey /del:{LegacyGeneric:target=Test Credential - Iteration1}
Run Code Online (Sandbox Code Playgroud)

如何使用 cmdkey 删除凭据 Test Credential - Iteration1

编辑:我验证了该命令适用于没有空格的名称。我创建TestCredential-Iteration1并使用以下命令成功删除它

cmdkey /del:TestCredential-Iteration1
Run Code Online (Sandbox Code Playgroud)

小智 3

我有类似的问题。首先我找到了这段代码:

cmdkey /list | ForEach-Object{if($_ -like "*Target:*"){cmdkey /del:($_ -replace " ","" -replace "Target:","")}}
Run Code Online (Sandbox Code Playgroud)

https://gist.github.com/janikvonrotz/7819990,这允许我删除除带空格的凭据之外的所有凭据。然后我运行了这个:

rundll32.exe keymgr.dll, KRShowKeyMgr 
Run Code Online (Sandbox Code Playgroud)

从这里: https: //forflukesake.co.za/wp/clear-credential-manager-fast/这打开了 GUI 并允许我将其删除。