PowerShell 模块中忽略 Write-Verbose

2024-05-13

我希望使用Write-Verbose脚本和函数中的命令行开关。它在脚本 (.ps1) 文件中按预期工作,但在模块 (.psm1) 文件中则不然 — 该 commandlet 在模块中被忽略。

运行以下脚本:

PS> .\scaffold.ps1 -verbose

生产:

VERBOSE: starting foo
path: c:\bar.txt
[missing entry here - 'verbose path: c:\bar.txt']
VERBOSE: ending foo

脚手架.ps1:

[cmdletbinding()]
param()

import-module Common -force

write-verbose "starting foo"

foo "c:\bar.txt"

write-verbose "ending foo"

常见.psm1:

function foo {

  [cmdletbinding()]
  Param(
    [string]$path
  )

  write-host "path: $path"
  write-verbose "verbose path: $path"

}

此时,我尚未将清单 (.psd1) 与模块 (.psm1) 关联。

我需要使用特定于模块的语法吗?

** 编辑 **

我需要的是一种方法来确定-verbose标志已在 .PS1 文件上设置,因此我可以将其传递给 .PSM1 文件。

脚手架.ps1:

[cmdletbinding()]
param()

import-module Common -force

write-verbose "starting foo"

foo "c:\bar.txt" $verbose_flag # pass verbose setting to module based on what was set on the script itself

write-verbose "ending foo"

To get Write-Verbose模块中 cmdlet 的输出,您需要使用-verbose公共参数。看http://technet.microsoft.com/en-us/magazine/ff677563.aspx http://technet.microsoft.com/en-us/magazine/ff677563.aspx

使用您的代码:

>import-module R:\Common.psm1
>foo "c:\users"
path: c:\users
>foo "c:\users" -verbose
path: c:\users
VERBOSE: verbose path: c:\users
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PowerShell 模块中忽略 Write-Verbose 的相关文章

  • 在 C# 中检查 PowerShell 执行策略的最佳方法是什么?

    当你跑步时Get ExecutionPolicy在 PowerShell 中 它得到有效的执行政策 https learn microsoft com en us powershell module microsoft powershell
  • 如何获取 64 位的 pshome 路径?

    32 位的主文件夹路径可以使用 PSHome多变的 c Windows System32 WindowsPowerShell v1 0 如何访问包含 64 位版本路径的变量 c Windows SysWOW64 WindowsPowerSh
  • PowerShell Trim 字符串包含“< char >$”的错误?

    如果我使用Trim 包含字符串的方法 char repeated char 例如 BL LA 或 LA AB Trim 删除之后的重复字符 以及 例如 a BL LA b a Trim BL returns A not LA but a B
  • 从输出中删除空行

    我有这个脚本 for true Write Host Get Date UFormat Y m d H M S ping n 1 10 10 50 203 Select String SimpleMatch Pinging Context
  • 使用 powershell 版本 2 查询 AD

    我们有由 Windows 7 和 Windows 10 组成的混合桌面操作系统 我有一个登录脚本 该脚本从每次用户登录时运行的 powershell 脚本收集各种信息 Windows 7 powershell 仅是版本 2 这意味着我无法使
  • PowerShell 脚本 ffmpeg

    作为一名优秀的 Windows 系统管理员 我终于开始学习 PowerShell 话虽这么说 我不知道我在做什么 惊讶 惊讶 我认为远离生产环境 在家里使用 PowerShell 对我来说将是一次很好的学习经历 最近 我开始使用 FFMPE
  • 通过 Powershell 拆分 9 GB csv 文件时遇到问题

    我有一个大约 9 GB 的大型 csv 文件 在 Powershell 中 我需要将其拆分为 10 MB 的块 问题是我需要保持行完整 因此每个分割文件在一行的末尾结束 并在下一行的开头开始 由于文件太大 我需要一种拆分它的方法 该方法不会
  • 在Powershell中传递引用类型参数

    function test1 param System Collections ArrayList x x Add Test1Add write in Test1 x x New Object System Collections Arra
  • 将 Unicode 字符串转换为 ASCII

    我的字符串包含 ASCII 中未找到的字符 如 我需要一个函数将它们转换为可接受的内容 例如 a e i o u 这是因为我将根据这些字符串创建 IIS 网站 即我将使用它们作为域名 function Convert DiacriticCh
  • 如何从powershell获取主机名?

    我如何获得hostname https stackoverflow com q 42014215 262852 for dur来自 powershell PS home thufir powershell gt PS home thufir
  • 是否可以在 PowerShell 中使 IndexOf 不区分大小写?

    我在终端服务器中由查询会话命令组成的数组中搜索索引时遇到问题 这是有问题的脚本 Array of logged users in terminal servers a Get RDUsersession CollectionName BLA
  • 获取在特定日期之后修改的一组文件

    有没有人有一个方便的 powershell 脚本根据修改日期从 TFS 获取一组文件 我想说 给我这个文件夹 或子文件夹 中在 X Y ZZZZ 之后修改的所有文件 并将这些文件转储到它们通常所在的文件夹之外的文件夹中 我知道足够的 pow
  • 使用 init.ps1 和 nuget 将文件复制到解决方案文件夹

    我在使用 nuget 包的 init ps1 中的 ps 脚本时遇到问题 我试图在安装包时创建一个解决方案文件夹 然后将 dll pdbs 复制到此文件夹 并删除项目中包安装的源 dll pdbs 我能够创建解决方案文件夹 但将文件从 co
  • 如何在不安装 AWS SDK 的情况下通过 Powershell 从 S3 下载文件?

    我想使用 Windows Powershell 从我的 AWS S3 存储桶下载文件 我无法安装任何 AWS 软件 需要创建一个 API 才能访问 AWS S3 中的文件 我使用Postman测试该文件是否可访问并且成功 鉴于这一成功 我尝
  • Start-Job 将 XML 对象传递给 -ArgumentList 在 Powershell V2 和 V3 中工作方式不同

    我正在使用 Powershell v3 在 Windows Server 2012 上测试我的应用程序的部署脚本 该脚本在使用 Powershell v2 的 Win Server 2008 R2 和 Win 7 上运行良好 我现在遇到的问
  • 当存在另一个参数时在 PowerShell 中需要参数

    到目前为止我读到的所有内容都告诉我这应该有效 这是一个用于自动从 AD 帐户转出的脚本 我希望它的工作方式是 如果设置了 TransferHomeDrive 开关 那么它将需要旧服务器和新服务器的名称 我相信我应该能够通过参数集来做到这一点
  • 使用 PEM 证书验证 Powershell 中的 XML 签名

    我正在尝试创建一个 powershell 脚本来使用 XML 文档中的数据 然而 在进行任何工作之前 我需要通过验证签名来验证 XML 没有被篡改 我有一份用于以 PEM 格式签署 XML 的证书的公钥副本 但我不知道如何让 powersh
  • 如何使用PowerShell批量调用Update-Database

    我们使用 Azure 弹性池生成多个客户端数据库和一个引用客户端数据库的主数据库 我们已经拥有多个数据库 并且正在开发新版本的代码 我们使用 EF6 代码优先 当我们更改模型 添加属性 时 我们创建迁移文件并需要调用Update Datab
  • 查找“未找到身份”的角色分配的可靠方法是什么?在 Azure 上使用 Powershell?

    如果您在 Azure 中分配角色 然后在删除角色分配之前删除该身份 则会出现 找不到身份 的情况 健康 状况 它是无害的 但它会占用角色分配空位并使角色分配列表变得混乱 我想找到并删除这些 我想这个 Get AzRoleAssignment
  • Powershell从字符串中获取数字

    大家好 我正在尝试使用 powershell 从用户 ID 中获取号码 我们使用的格式是名字的第一个字母 姓氏的前四个字母和学生 ID 因此名为 John Smith ID 123456 的学生将是 jsmit123456 如果用户的名字少

随机推荐