【问题标题】:Powershell - prompt for a variable to add to a commandPowershell - 提示输入要添加到命令的变量
【发布时间】:2023-03-09 07:47:01
【问题描述】:

老实说,我对 powershell 和所有类似的东西都非常陌生。

我正在尝试实现一个简单的批处理文件来执行并简化解锁用户帐户。

目前我已经设法根据谷歌搜索创建了以下内容,这将简单地解锁一个名为“USERNAME”的用户帐户。

powershell -Command "& { import-module activedirectory; unlock-adaccount USERNAME }"

我想要实现的是将“USERNAME”部分设置为变量,并在执行批处理文件时创建提示以要求输入用户名,以便能够解锁输入的任何帐户。

我已尝试搜索相关帖子,但似乎无法找到自己将其组合在一起的方法。 如果能提供任何帮助,我将不胜感激!

谢谢。

【问题讨论】:

    标签: powershell active-directory account unlock


    【解决方案1】:

    使用Read-Host 命令例如:

    PowerShell -Command "& {$username = Read-Host "Enter username"; Import-Module ActiveDirectory; Unlock-ADAccount $username}"
    

    【讨论】:

      【解决方案2】:

      如果您将用户名作为命令的参数,我认为 Show-Command 可能就是您在此处寻找的内容。

      powershell -Command "& { import-module activedirectory; Show-Command unlock-adaccount }"
      

      它会弹出一个小 gui 并允许您的管理员输入用户名或您在命令中定义的任何其他参数。

      【讨论】:

        【解决方案3】:

        研究编写可重复使用的工具。简单的函数和脚本。

        从 PowerShell.exe 调用各种命令仅适用于您编写它们的特定场景。函数和脚本可以在任何有意义的地方使用。一次写一些东西,在很多地方使用它。它可以节省大量时间,并将帮助您学习和改进 PowerShell。

        这是一个简单的例子!将此代码另存为 C:\Unlock-ADAccountSimple.ps1

        param (
            $Username = (Read-Host "Enter Username")
        )
        
        Import-Module ActiveDirectory
        Unlock-ADAccount $Username
        

        现在您可以在您的场景中使用它。这将提示输入用户名:

        PowerShell.exe -File C:\Unlock-ADAccountSimple.ps1
        

        您也可以为特定用户运行它:

        PowerShell.exe -File C:\Unlock-ADAccountSimple.ps1 -Username jdoe
        

        你可以在你编写的脚本中使用它

        #Inside a script, you could run it like this, with various logic before or after:
        & "C:\Unlock-ADAccountSimple.ps1" -Username Someone
        

        接下来,您可以编写更多有趣和有用的函数,并将它们组合成更大的解决方案。但是您需要从某个地方开始,构建小型可重用工具(函数/脚本)将使您走上正轨!

        祝你好运!

        【讨论】:

        • 我还想指出,使用[Parameter(Mandatory = $true)]$Username 会产生相同的效果。
        猜你喜欢
        • 1970-01-01
        • 2021-04-16
        • 2015-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-08
        • 2010-10-23
        • 2017-01-16
        • 2014-08-09
        相关资源
        最近更新 更多