gpt4 book ai didi

powershell - Powershell-如何在Powershell脚本中以非交互方式调用cmdlet?

转载 作者:行者123 更新时间:2023-12-03 00:04:47 25 4
gpt4 key购买 nike

在我的Powershell脚本中,我正在调用cmdlet(说“Connect-Database”)。如果cmdlet需要其他参数,则会提示用户提供这些值(例如,“Connect-Database”无法从注册表获取凭据,因此它会在Powershell控制台上提示“Username”“password”,并希望用户提供该值)。值)。

我查看了Powershell cmdlet的代码。我发现它使用“CommandInvocationIntrinsics”来提示用户(使用“NewScriptBlock”,然后使用“CommandInvocationIntrinsics”的“Invoke”方法)。

由于我是从Powershell脚本调用此cmdlet的,因此我希望每当发生此类提示时,该提示都会被抑制,并引发异常。

代码是这样的-

try
{
$db = Connect-Database <databasename>
#if username / password is prompted, it should be converted into error. But it should not be shown in powershell console.

if($Error.Count > 0)
{
throw $Error[0]
}
}
catch
{
#do something
}

最佳答案

我这样做的方法是,首先枚举必需的参数,然后使用$ null vars初始化它们。因此,不再有任何交互,并且会引发错误。

关于powershell - Powershell-如何在Powershell脚本中以非交互方式调用cmdlet?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6672759/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com