相关疑难解决方法(0)

如何在PowerShell中将多个命令分割为多个命令

如何在PowerShell中执行如下命令并将其拆分为多行?

&"C:\Program Files\IIS\Microsoft Web Deploy\msdeploy.exe" -verb:sync -source:contentPath="c:\workspace\xxx\master\Build\_PublishedWebsites\xxx.Web" -dest:contentPath="c:\websites\xxx\wwwroot\,computerName=192.168.1.1,username=administrator,password=xxx"
Run Code Online (Sandbox Code Playgroud)

powershell

196
推荐指数
7
解决办法
18万
查看次数

如何在PowerShell中结束多行命令

这应该很容易,但无法弄清楚.如何在PowerShell中结束多行命令?例如,如果我输入Get-ChildItem |并按回车键然后我得到一个>>提示,我假设是继续命令.但如果我进入foreach{Write-Host $_.name}并按回车键,我仍然会收到>>提示.

我怎么说,我已经完成了,现在运行它?我以为当我写一个完整的命令(不是以管道或未闭合的括号结尾)时会发生这种情况,但似乎没有.也尝试以分号结尾,但这没有多大帮助.

powershell multiline

17
推荐指数
2
解决办法
1万
查看次数

Invoke-command在同一行上指定scriptblock

我想知道是否可以将一个小脚本传递给ScriptBlock参数但是在一行中完成所有操作?

例如,我想运行以下两个命令:

import-module lync get-csuser

如果我有一个powershell脚本文件并明确调用该文件,我可以这样做.脚本的内容如下所示

invoke-command -ComputerName mycomputer.mylab.com -ScriptBlock {
import-module lync
get-csuser
}
Run Code Online (Sandbox Code Playgroud)

我希望能够在不将其放入临时脚本文件的情况下执行上述操作并在一个石灰上执行此操作.这可能吗?

谢谢

powershell

10
推荐指数
1
解决办法
2万
查看次数

PowerShell 中转义反引号“`”和反斜杠“\”有什么区别?

我知道两者都在 PowerShell 中使用,但用于不同的上下文。

互联网上有关此主题的信息很少,唯一谈论此主题的网站(没有让我理解这个概念)是:
https ://www.rlmueller.net/PowerShellEscape.htm

我是 PowerShell 的初学者,最近才接触它。在我的另一个主题的答案中出现了转义
的用例:当我将参数传递给嵌套的 Start-Process 命令时,PowerShell 删除多个连续的空格\

有谁可以通过示例和用例向我详细解释PowerShell中转义反引号`和反斜杠之间的区别吗\

至少有一个来源是受欢迎的,但这不是强制性的。

powershell escaping

6
推荐指数
2
解决办法
6147
查看次数

如何在PowerShell中按名称和值过滤注册表项下的名称/值对?

我试图了解在PowerShell中使用的习语.

鉴于此脚本:

$path = 'hkcu:\Software\Microsoft\Windows\CurrentVersion\Extensions'
$key = Get-Item $path
$key
Run Code Online (Sandbox Code Playgroud)

我得到了这个问题底部的输出.

我想得到属性的输出(名称/值对下$key)我可以在名称和值上进行过滤.

例如,过滤列出所有具有以下内容的扩展:

  • 名字就像 xls*
  • 或价值 *\MSACCESS.EXE

或者排除过滤器:排除所有名称 doc*

冷杉第一个过滤器,我想要一个像这样的结果:

Name                           Value                                                                                                                                                       
----                           --------                                                                                                                                                       
xlsx                           C:\PROGRA~2\MICROS~1\Office15\EXCEL.EXE                                                                                                                 
xls                            C:\PROGRA~2\MICROS~1\Office15\EXCEL.EXE                                                                                                                 
mdb                            C:\PROGRA~2\MICROS~1\Office15\MSACCESS.EXE                                                                                                              
mda                            C:\PROGRA~2\MICROS~1\Office15\MSACCESS.EXE                                                                                                              
Run Code Online (Sandbox Code Playgroud)

这是脚本的原始输出:

Hive: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion
Name                           Property                                                                                                                                                       
----                           --------                                                                                                                                                       
Extensions                     rtf  : C:\PROGRA~2\MICROS~1\Office15\WINWORD.EXE ^.rtf                                                                                                         
                               dot  : C:\PROGRA~2\MICROS~1\Office15\WINWORD.EXE ^.dot                                                                                                         
                               dotm : C:\PROGRA~2\MICROS~1\Office15\WINWORD.EXE ^.dotm                                                                                                        
                               dotx : C:\PROGRA~2\MICROS~1\Office15\WINWORD.EXE ^.dotx                                                                                                        
                               docm : C:\PROGRA~2\MICROS~1\Office15\WINWORD.EXE ^.docm                                                                                                        
                               docx : C:\PROGRA~2\MICROS~1\Office15\WINWORD.EXE ^.docx                                                                                                        
                               doc  : C:\PROGRA~2\MICROS~1\Office15\WINWORD.EXE ^.doc                                                                                                         
                               xlsx : C:\PROGRA~2\MICROS~1\Office15\EXCEL.EXE                                                                                                                 
                               xls  : C:\PROGRA~2\MICROS~1\Office15\EXCEL.EXE                                                                                                                 
                               mdb  : C:\PROGRA~2\MICROS~1\Office15\MSACCESS.EXE                                                                                                              
                               mda …
Run Code Online (Sandbox Code Playgroud)

registry powershell powershell-3.0

4
推荐指数
2
解决办法
3397
查看次数

在CMD中运行多行PowerShell脚本

我正在尝试在cmd中使用以下Powershell脚本。这是一个简单的例子:

$path = "c:\"
cd $path
ls
Run Code Online (Sandbox Code Playgroud)

一些多行且带引号的PowerShell脚本。

我阅读了这篇文章以及@Alex在这篇文章中的回答,但是;在它们之间放置多行并没有用:

C:\ Users \ abcd> powershell“&c:\; ls”
&:术语'c:\'不被识别为cmdlet,函数,
脚本文件或可操作程序。检查名称的拼写,或者
包含路径,请确认路径正确,然后重试。
行:1字符:2
+&c:\; ls
+ ~~~
    + CategoryInfo:ObjectNotFound:(c:\:String)[],CommandNotFoundException
    + FullyQualifiedErrorId:CommandNotFoundException

PS:我的实际任务是运行以下命令(我在上面提供了琐碎的任务,因为并非每个人都有数据库)。

$tabular_server = "abc_123\Tabular"

[Reflection.Assembly]::LoadWithPartialName("Microsoft.AnalysisServices")
$server = New-Object Microsoft.AnalysisServices.Server
$server.connect($tabular_server)
$db = $server.Databases.Item("db_name")

$db.Process("ProcessClear")
$db.Process("ProcessDefault")
$server.Disconnect()
Run Code Online (Sandbox Code Playgroud)

powershell cmd

3
推荐指数
1
解决办法
6952
查看次数

如何在下一行继续命令(不是'如何编写多行命令')

我知道如何使用back-tick在脚本窗格或PowerShell脚本中创建多行命令.这不是一个问题.如果我在vanilla PowerShell(而不是ISE)中,我想在提示符下键入此命令:

Get-Command `
| Sort Name `
| Select -First 10
Run Code Online (Sandbox Code Playgroud)

如何在Get-Command不执行之后移动到下一行?

powershell

2
推荐指数
1
解决办法
3653
查看次数

如何在ISE中输入多行命令?

这个问题的扩展......你如何在Powershell ISE中编写多行命令?Backtick不起作用.

我在谈论命令提示符窗口 C:\>

powershell powershell-ise powershell-4.0

1
推荐指数
1
解决办法
1575
查看次数