【问题标题】:Run a command without leaving traces in history运行命令而不在历史中留下痕迹
【发布时间】:2020-10-31 10:49:15
【问题描述】:

我想知道 powershell 中是否有任何方法可以运行命令而不将其记录在历史记录或向上箭头“缓冲区”中。

bash 中类似于以下内容。

history -d $(history 1) ; ls

感谢任何帮助!

谢谢

【问题讨论】:

    标签: powershell


    【解决方案1】:

    您可以执行一个简单的Clear-History 来清除整个历史记录或清除最近的条目,您可以尝试Clear-History -Id $((Get-History).Id[-1]) 但这会将那个命令留在历史记录中。

    还有其他方法可以绕过历史,这里有很好的解释:PowerShell's Clear-History doesn't clear history

    但是,我想知道什么实际/道德用途会导致您需要在历史中隐藏一个命令。

    【讨论】:

    • 感谢您的建议!我将不得不深入研究它们。为了解决您的问题,我需要使用一组不同的凭据来管理不同的平台(Vcenter、不同的 AD 域等)。当我打开 powershell 时,我想为所有这些凭据设置变量,但我没有信心将它们留在我的个人资料中。到目前为止,我最好的想法是保存几行 powershell 以在 keepass 中设置凭据,并在我打开它时将它们复制/粘贴到 powershell 中。当然,我没有任何人能够窥视历史并找回它们。
    • 我想说看看 PowerShell Secrets Management。它仍然是 WIP,但可以访问。 devblogs.microsoft.com/powershell/…
    • 感谢您的建议!这种方法有两个问题。 1. 信用管理器有其自身的问题(当我更新凭据时有时不会保留) 2. 如果我的帐户遭到入侵,他们将可以访问我的所有凭据,从安全角度来看这有点令人担忧....
    猜你喜欢
    • 2015-05-04
    • 2011-01-31
    • 1970-01-01
    • 2021-06-24
    • 2011-09-09
    • 2013-09-07
    • 1970-01-01
    • 2016-04-27
    • 2013-09-11
    相关资源
    最近更新 更多