问题标签 [powershell-5.0]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
238 浏览

powershell - v5 特殊方法 `New` 与静态方法 `New` 冲突

PowerShell v5 带有一个新功能。而不是老式的对象创建

可以使用新语法

新语法虽然引入了一个问题。如果一个类有一个静态方法 New,那么就不能再直接调用它了。看起来 PowerShell 认为我们将要调用构造函数,而不是这个静态方法。

我的真正问题案例无法在这里解释,所以我使用现有的类作为示例。

此代码适用于 PowerShell v4

它调用静态方法New并创建一个表达式。

在 v5 中它失败了

问题是我们如何New在 PowerShell v5 中调用静态方法?

0 投票
1 回答
2479 浏览

powershell - 运行 Enable-Migrations 时出错

在我的 ASP.NET MVC5 项目(Powershell v5 和 Visual Studio 2015)上运行 Enable-Migrations 时出现以下错误。我曾尝试卸载并重新安装 EntityFramework (v6.1.3) 但不走运。有谁知道如何解决它?

类型名称 'Microsoft.VisualStudio.Shell.Package' 不明确,可能是 'Microsoft.VisualStudio.Shell.Package, Microsoft.VisualStudio.Shell.14.0, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 或 ' Microsoft.VisualStudio.Shell.Package,Microsoft.VisualStudio.Shell.11.0,版本=14.0.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a'。在 C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 14.0\COMMON7\IDE\EXTENSIONS\MSHGPU2S.W4I\Modules\NuGet\profile.ps1:126 char:5 + $service = [Microsoft.VisualStudio.Shell.Package] ::GetGlobalServi ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (:) [], RuntimeException + FullyQualifiedErrorId : AmbiguousTypeReference

类型名称“NuGet.VisualStudio.IVsPackageInstallerServices”不明确,可能是“NuGet.VisualStudio.IVsPackageInstallerServices, Microsoft.VisualStudio.ApplicationInsights, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 或 'NuGet.VisualStudio.IVsPackageInstallerServices, Microsoft.VisualStudio.Web.Application,版本=14.0.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a'。在 D:\xxx\packages\EntityFramework.6.1.3\tools\EntityFramework.psm1:1004 char:5 + $packageInstallerServices = $componentModel.GetService([NuGet.Vis ... + ~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~ + CategoryInfo : InvalidArgument: (:) [], RuntimeException + FullyQualifiedErrorId : AmbiguousTypeReference

您不能在空值表达式上调用方法。在 D:\xxx\packages\EntityFramework.6.1.3\tools\EntityFramework.psm1:1006 char:5 + $vsPackage = $packageInstallerServices.GetInstalledPackages() | ? ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId : InvokeMethodOnNull

加入路径:无法将参数绑定到参数“路径”,因为它为空。在 D:\xxx\packages\EntityFramework.6.1.3\tools\EntityFramework.psm1:713 char:28 + $toolsPath = Join-Path $installPath tools + ~~~~~~~~~~~~ + CategoryInfo : InvalidData: (:) [Join-Path], ParameterBindingValidationException + FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.JoinPathCommand

加入路径:无法将参数绑定到参数“路径”,因为它为空。在 D:\xxx\packages\EntityFramework.6.1.3\tools\EntityFramework.psm1:780 char:74 + ... [System.Reflection.Assembly]::LoadFrom((Join-Path $ToolsPath EntityF ... + ~~~~~~~~~~ + CategoryInfo : InvalidData: (:) [Join-Path], ParameterBindingValidationException + FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.JoinPathCommand

您不能在空值表达式上调用方法。在 D:\xxx\packages\EntityFramework.6.1.3\tools\EntityFramework.psm1:781 char:5 + $dispatcher = $utilityAssembly.CreateInstance( + ~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId : InvokeMethodOnNull

加入路径:无法将参数绑定到参数“路径”,因为它为空。在 D:\xxx\packages\EntityFramework.6.1.3\tools\EntityFramework.psm1:810 char:20 + (Join-Path $runner.ToolsPath EntityFramework.PowerShell.dll), + ~~~~~~~~~ ~~~~~~~~ + CategoryInfo : InvalidData: (:) [Join-Path], ParameterBindingValidationException + FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.JoinPathCommand

0 投票
1 回答
772 浏览

windows - 调用 getElementById() 时出现“未指定的错误”

执行以下脚本时出现此错误。还提到了相同的输出。我确实检查了错误,但没有找到任何修复方法。我正在使用带有 PowerShell 版本的 Windows 10:5.0.10586.0。请求任何人帮助解决此错误。我只能看到带有上述 URL 和可执行文件记事本的 IE 打开。脚本无法执行自动登录。

输出:

脚本:

0 投票
1 回答
1525 浏览

powershell - 为什么我不能在 Powershell 5 中访问函数中的类变量?

我正在尝试在 Powershell v5 中定义一个类,但我无法从类函数中访问变量。

前任。

0 投票
1 回答
1829 浏览

powershell - 在 Powershell 5.0 类中使用自定义类型

这是目前让我很头疼的示例代码。

这个类可以像这样使用

基本上,我要做的是从user32.dllas 类型导入一个函数[Win32.NativeMethods],然后在class.

如果我在创建类型中单独执行Add-Type语句Powershell_ISE,然后脚本就可以正常工作。

但是,当我在手动创建类型之前尝试执行整个脚本时,我收到以下 Powershell 解析器错误

看起来解析器忽略了Add-Type语句并在执行前退出。

有没有办法克服这个问题?也许有一个using声明?或者,有没有办法告诉解析器该类型是动态创建的?

编辑1:

我已阅读在Powershell (V5) 类中使用 .Net 对象的答案,并且接受的答案不是我的问题的答案。将一个简单的脚本拆分为多个文件并不是真正的答案。

我要问的是天气有一种方法可以告诉解析器该类型是动态创建的。

编辑2:

为了进一步澄清这一点,这里的代码等效于上面的代码,但使用functions而不是classes.

这段代码将完美地解析和执行。解析器是否classes以与脚本的其余部分不同的方式处理?

0 投票
1 回答
7577 浏览

powershell - 在 Powershell 中绑定“分隔符”

我知道您可以使用该export-csv功能将数据快速导出到 csv 文件,但我一直收到错误消息

导出 csv:无法绑定参数“分隔符”。
无法将值“C:\Test”转换为类型 System.Char
错误:字符串必须恰好是一个字符长

这是我的 powershell 语法 - 我要导出的数据可以包含\或包含-在其中

0 投票
1 回答
284 浏览

powershell - Start-BitsTransfer 的 Destination 字段不是必需的

我在我指定的脚本中有一个错误,-Description $dest而不是-Destination $dest在调用Start-BitsTransfer. 对于一个小文件,它没有错误/快速运行,而对于一个大文件则需要一段时间。因此,我认为该文件已复制到我的机器上;就是找不到复制到哪里了。。。

问题

  • 为什么 Destination 不是必填字段?
  • 默认情况下/未指定目标时文件在哪里?
0 投票
1 回答
3833 浏览

powershell - 检查服务是否正在运行或停止并相应输出

我刚开始使用 Powershell 并想运行一些基本脚本。

我首先编写一个脚本来查看 MSSQLSERVER 是在运行还是停止,并相应地输出一条消息。

这是我目前所拥有的......

但是,当我(在 Powershell ISE 中)执行此操作时,我得到的只是第一行“检查 SQL Server 是否正在运行......”

我做错了什么?

0 投票
6 回答
9109 浏览

powershell - 如何在控制台中关闭语法突出显示?

我只想让 PowerShell 成为白色背景上的黑色文本。但是,PowerShell v5 会突出显示我的命令并将它们变成黄色,这是无法看到的。有没有办法在 PowerShell 中关闭所有语法突出显示?

0 投票
1 回答
925 浏览

powershell - 将 NoteProperty 和计算列对象转换为字符串

我想使用 Write-ObjectToSQL 模块在 SQL Server 表中导入文件信息和 MD5 哈希。如果可能的话,我正试图在一行中做到这一点。这是我所拥有的:

这是我在 SQL Server 中得到的:在此处输入图像描述

我没有得到 MD5 列或 Directory 列。这是获取会员信息:

所以 SQL Server 将只导入不是对象的 NoteProperties。

现在,如果我们看看我在 Write-ObjectToSQL 之前得到了什么。我删除了时间列以获得更好的结果。

我的问题是有没有办法将 MD5 列转换为只有 MD5 结果而不是 @{Hash= 和结束 } AND 将 Directory 列转换为字符串?