Answers:
$^
是扩展到最后执行的Powershell命令的变量。
您可以使用来以其他用户身份运行命令runas
,因此可以进行以下工作:
runas /user:domain\administrator $^
为了简化一点,您可以使用别名做一些魔术。请参阅此Technet文章以了解更多信息。
编辑:一个警告- $^
仅在管道或多命令行中执行第一个命令。如果需要重做带有管道或分号的整个命令,请Invoke-History
改用(默认为最后一个完整的命令)。
我一直将JEA(仅足够的管理)作为一种近似sudo功能的尝试。你可以在这里读到它:
https://docs.microsoft.com/zh-cn/powershell/jea/overview
区别在于它使用PS远程处理而不是应用于本地计算机。这可能是非常关键的区别,足以将其推离sudo太远。
使用runas或其他方法提升为User Account Control的帐户对我而言并不十分合适。它更像是的并行su -
。
$^
是上一个命令的第一个标记。如果我点源的脚本. ./foo.ps1
,然后$^
是.
。这也意味着不包含参数。做任何超出单个令牌的操作都不会以这种方式工作。