我正在使用密码生成器,供个人使用:
当前我有:
if ( $argumentsNonValid ){ exit }
# different parameters for the generation
$setting1= 3
$setting2= 7
$setting3=13
$setting4=77
$trim=$args[0].ToUpper()
这是我脚本的开头,我想将其隐藏,因此我将其编码为Base64
但是由于我需要使用$ args [0](在下一个会话中消失),除了将其放入txt文件然后读取它之外,我不知道如何将其传递给:< / p>
PowerShell.exe -EncodedCommand "......."
-args参数对于-EncodedCommand无效
最后,我想要这样的东西:
if ( $argumentsNonValid ){ exit }
# different parameters for the generation
$setting1= 3
$setting2= 7
$setting3=13
$setting4=77
$trim=$args[0].ToUpper()
USAGE OF ENCODED STRING
有可能吗? :)
谢谢
答案 0 :(得分:0)
我对要求不完全理解,而且太长了,无法发表评论。目前,这还不是答案。但我想知道这是否对我们有帮助或推动了正确的方向。
# $command contains all of the code you want encoded including the argument
$command = @'
function test {
"your argument is $($args[0])"
}
test something
'@
$encodedcommand = [convert]::toBase64String([text.encoding]::Unicode.GetBytes($command))
# Output
powershell.exe -encodedcommand $encodedcommand
your argument is something
这表明在对命令进行编码时,$args
不会丢失。但是我需要帮助来了解如何进一步处理您的问题。
这似乎更适合于模块。然后,您可以创建可以设为私有或隐藏的功能。