从命令提示符运行PowerShell命令(没有ps1脚本)

时间:2013-08-26 23:27:02

标签: powershell batch-file cmd

我正在寻找一种从命令提示符运行几个PowerShell命令的方法。我不想为此创建一个脚本,因为它只需要运行几个命令,因为我真的不知道如何使用PowerShell编写脚本。

以下是我尝试使用的命令:

Get-AppLockerFileInformation -Directory <folderpath> -Recurse -FileType <type>

我真的不想为此创建一个脚本,因为如果我可以从批处理文件中运行一个或两个命令以及剩下的东西,那将会容易得多。

编辑: 这是我到目前为止所尝试过的。

1)

powershell -Command "Get-AppLockerFileInformation....."
Error: The term 'Get-AppLockerFileInformation is not recognized as the name of a cmdlet, function, script file, or operable program....

2)

powershell -Command {Get-AppLockerFileInformation.....}

这种方式没有错误,但我没有得到任何回报。如果我使用Set-AppLockerPolicy...没有任何反应。

3)

powershell -Command "{Get-AppLockerFileInformation.....}"
Error: The term 'Get-AppLockerFileInformation is not recognized as the name of a cmdlet, function, script file, or operable program....

4)

powershell -Command "& {Get-AppLockerFileInformation.....}"
Error: The term 'Get-AppLockerFileInformation is not recognized as the name of a cmdlet, function, script file, or operable program....

5)

powershell "& {Get-AppLockerFileInformation.....}"
Error: The term 'Get-AppLockerFileInformation is not recognized as the name of a cmdlet, function, script file, or operable program....

6)

powershell -ExecutionPolicy Bypass -NoLogo -NoProfile -Command {Get-AppLockerFileInformation....}

没有错误但没有任何反应。

7)

powershell -ExecutionPolicy Bypass -NoLogo -NoProfile -Command "Get-AppLockerFileInformation...."

没有错误但没有任何反应。

4 个答案:

答案 0 :(得分:50)

以下是为我的问题设法解决的唯一答案,在this网页的帮助下弄明白了(很好的参考)。

powershell -command "& {&'some-command' someParam}"

此外,这是一种做多个命令的简洁方法:

powershell -command "& {&'some-command' someParam}"; "& {&'some-command' -SpecificArg someParam}"

例如,这就是我运行2个命令的方式:

powershell -command "& {&'Import-Module' AppLocker}"; "& {&'Set-AppLockerPolicy' -XmlPolicy myXmlFilePath.xml}"

答案 1 :(得分:9)

在单个命令行上运行它,如下所示:

powershell.exe -ExecutionPolicy Bypass -NoLogo -NonInteractive -NoProfile 
  -WindowStyle Hidden -Command "Get-AppLockerFileInformation -Directory <folderpath> 
  -Recurse -FileType <type>"

答案 2 :(得分:2)

也许powershell -Command "Get-AppLockerFileInformation....."

查看powershell /?

答案 3 :(得分:0)

这在Windows 10的cmd.exe提示符下有效

powershell -ExecutionPolicy Bypass -Command "Import-Module C:\Users\william\ps1\TravelBook; Get-TravelBook Hawaii"

此示例显示

  1. 如何链接多个命令
  2. 如何使用模块路径导入模块
  3. 如何运行模块中定义的功能
  4. 不需要那些花哨的“&”。