Questions tagged «powershell-2.0»

与Windows PowerShell 2.0相关的主题和问题。Windows 7和Windows Server 2008 R2的发行版附带了PowerShell 2.0。有关PowerShell的常规主题,请使用`PowerShell`标签。

9
powershell-提取文件名和扩展名
我需要从my.file.xlsx中提取文件名和扩展名。我不知道文件或扩展名的名称,并且名称中可能包含更多的点,因此我需要从右侧搜索字符串,当我找到第一个点(或从左侧开始的最后一个点)时,请提取该部分右侧和该点左侧的部分。 也许有更好的解决方案,但我在这里或其他任何地方都找不到。谢谢


5
使用PowerShell脚本执行EXE文件
我正在尝试使用PowerShell脚本执行EXE文件。如果我使用命令行,它可以正常工作(首先我提供可执行文件的名称和一系列参数来调用它): "C:\Program Files\Automated QA\TestExecute 8\Bin\TestExecute.exe" C:\temp\TestProject1\TestProject1.pjs /run /exit /SilentMode 但是在脚本中执行完全相同的操作会返回错误: 术语 ' “C:\ Program Files文件\自动QA \ TestExecute 8 \ BIN \ TestExecute.exe” C:\ TEMP \ TestProject1 \ TestProject1.pjs /运行/退出/ SILENTMODE' 不被识别为cmdlet的名称,函数,脚本文件或可操作程序。检查名称的拼写,或者是否包含路径,请验证路径是否正确,然后重试。 (我使用“&”运算符调用了该命令。) 我该如何解决这个问题?


13
为什么不允许我在本地创建的脚本在RemoteSigned执行策略下运行?
由于此问题继续吸引被问题主体反驳或未解决实际问题的答案,因此 请阅读以下有关需要了解的简单摘要: 这不是“为什么默认安装的PowerShell运行脚本为什么不显示?” 题。 这不是“为什么我的安装PowerShell不能从Internet下载的运行脚本?” 题。 问题是为什么RemoteSigned执行策略在不应该执行时阻止脚本执行。 RemoteSigned是我要使用的唯一执行策略。 我知道可以使用其他限制较少的策略。如果这些政策是可以接受的替代方案,我将只使用它们,而这个问题将不复存在。 执行策略已设置为RemoteSigned。 从改变它RemoteSigned到RemoteSigned是没办法了。 脚本文件已创建并存储在本地。 脚本文件未被阻止。 脚本文件从未被阻止(请参阅上一点)。 无法取消阻止脚本文件,因为没有任何要取消阻止的内容(请参见上一点)。 脚本文件由管理员执行(试图执行)。 Windows PowerShell是唯一涉及的应用程序。 没有Windows PowerShell ISE也不Command Prompt或任何其他工具或编辑器是相关的。 问题的原因已经确定(请参阅接受的答案)。经过将近8年的时间,我认为所有其他显而易见的解释(无论是否适用)也已发布。如果您有其他想法,请在添加问题之前先完整阅读问题和现有答案。 我在64位Windows 7 Professional上使用Windows PowerShell 2.0。我有一个脚本,Desktop尝试运行该脚本时会导致以下错误: File C:\Users\UserName\Desktop\Script.ps1 cannot be loaded. The file C:\Users\UserName\Desktop\Script.ps1 is not digitally signed. The script will not execute on the system. Please see …

3
转义引号和双引号
如何-param在以下命令行中正确转义值中的引号? $cmd="\\server\toto.exe -batch=B -param="sort1;parmtxt='Security ID=1234'"" Invoke-Expression $cmd 这当然会失败。我尝试使用转义字符`来对引号(单精度和双精度)进行转义,并进行了各种组合,但没有任何效果。

5
使用PowerShell远程复制文件
我正在编写要从服务器A运行的PowerShell脚本。我想连接到服务器B并将文件复制到服务器A作为备份。 如果不能这样做,那么我想从服务器A连接到服务器B并将文件复制到服务器B中的另一个目录。 我看到了Copy-Item命令,但看不到如何给它提供计算机名称。 我以为我可以做类似的事情 Copy-Item -ComputerName ServerB -Path C:\Programs\temp\test.txt -Destination (not sure how it would know to use ServerB or ServerA) 我怎样才能做到这一点?

7
使用PowerShell计算文件夹中的项目
我正在尝试编写一个非常简单的PowerShell脚本,以提供给定文件夹(c:\MyFolder)中的项目总数(文件和文件夹)。这是我所做的: Write-Host ( Get-ChildItem c:\MyFolder ).Count; 问题是,如果我有1或0个项目,该命令将不起作用-它什么也不返回。 有任何想法吗?


3
PowerShell中使用的GetType,变量之间的区别
$a和之间有什么区别$b? $a = (Get-Date).DayOfWeek $b = Get-Date | Select-Object DayOfWeek 我试图检查 $a.GetType $b.GetType MemberType : Method OverloadDefinitions : {type GetType()} TypeNameOfValue : System.Management.Automation.PSMethod Value : type GetType() Name : GetType IsInstance : True MemberType : Method OverloadDefinitions : {type GetType()} TypeNameOfValue : System.Management.Automation.PSMethod Value : type GetType() Name : GetType …

10
从路径中提取文件名
我想从以下路径中提取文件名: D:\ Server \ User \ CUST \ MEA \ Data \ In \ Files \ CORRECTED \ CUST_MEAFile.csv 现在,我编写了这段代码来获取文件名。只要文件夹级别没有变化,此功能就可以正常工作。但是,如果文件夹级别已更改,则此代码需要重写。我正在寻找一种使其更灵活的方法,例如代码始终可以提取文件名,而与文件夹级别无关。 ($outputFile).split('\')[9].substring(0)

9
是否等效于Powershell中C#的“ using”关键字?
当我在C#的.net-Framework中使用另一个对象时,可以使用using指令节省很多键入内容。 using FooCompany.Bar.Qux.Assembly.With.Ridiculous.Long.Namespace.I.Really.Mean.It; ... var blurb = new Thingamabob(); ... 那么在Powershell中有没有办法做类似的事情?我正在访问许多.net对象,但不满意输入 $blurb = new-object FooCompany.Bar.Qux.Assembly.With.Ridiculous.Long.Namespace.I.Really.Mean.It.Thingamabob; 每时每刻。

4
如何在PowerShell复制脚本中正确过滤多个字符串
我正在使用此答案中的PowerShell脚本进行文件复制。当我想使用过滤器包括多种文件类型时,就会出现问题。 Get-ChildItem $originalPath -filter "*.htm" | ` foreach{ $targetFile = $htmPath + $_.FullName.SubString($originalPath.Length); ` New-Item -ItemType File -Path $targetFile -Force; ` Copy-Item $_.FullName -destination $targetFile } 像梦一样工作。但是,当我想使用过滤器包含多种文件类型时,就会出现问题。 Get-ChildItem $originalPath ` -filter "*.gif","*.jpg","*.xls*","*.doc*","*.pdf*","*.wav*",".ppt*") | ` foreach{ $targetFile = $htmPath + $_.FullName.SubString($originalPath.Length); ` New-Item -ItemType File -Path $targetFile -Force; ` Copy-Item $_.FullName …

6
使用Start-Process和WaitForExit而不是-Wait获取ExitCode
我正在尝试从PowerShell运行程序,等待退出,然后获得对ExitCode的访问权限,但运气不佳。我不希望使用-Wait与Start-Process,因为我需要一些处理在后台进行。 这是一个简化的测试脚本: cd "C:\Windows" # ExitCode is available when using -Wait... Write-Host "Starting Notepad with -Wait - return code will be available" $process = (Start-Process -FilePath "notepad.exe" -PassThru -Wait) Write-Host "Process finished with return code: " $process.ExitCode # ExitCode is not available when waiting separately Write-Host "Starting Notepad without -Wait …

5
如何从Powershell打开Powershell控制台窗口
我正在编写一个脚本,以将多个plink(PuTTY)会话用作Windows版本的clusterssh。但是我被卡住了,因为我想从Powershell中打开多个Powershell窗口。当我键入powershell命令时,它将打开一个新会话。这类似于在bash中键入bash。我想打开多个物理窗口。 我尝试了-windowstyle以及其他参数都无济于事。我想知道您是否有办法。非常感谢您的帮助。我看了看,没有找到任何东西。谢谢你的时间。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.