草庐IT

powershell-cmdlet

全部标签

json - PowerShell : retrieve JSON object by field value

考虑采用这种格式的JSON:"Stuffs":[{"Name":"Darts","Type":"FunStuff"},{"Name":"CleanToilet","Type":"BoringStuff"}]在PowerShell3中,我们可以获得Stuffs列表:$JSON=Get-Content$jsonConfigFile|Out-String|ConvertFrom-Json假设我们不知道列表的确切内容,包括对象的顺序,我们如何检索具有特定名称字段值的对象?蛮力,我们可以遍历列表:foreach($Stuffin$JSON.Stuffs){但我希望存在一种更直接的机制(类似于C#

build - 在 Visual Studio Team Services 构建期间以管理员身份运行 Powershell 或命令提示符

我正在处理一个我们延迟签署程序集的项目。我需要在构建过程中使用强名称工具几次,关闭强名称验证,然后在打包程序集之前对其进行完全签名。我尝试使用powershell步骤关闭验证,但它返回此错误:脚本:$testprojs=gciProject.*.dll-r$testprojs|%{sn-Vr$_write-output$("Turnedoffsnverificationfor"+$_.Name)}错误:Failedtoopenregistrykey--Administratorpermissionsareneededtousetheselectedoptions.Useanadmini

powershell - 如何在 TFS2013 构建中将构建参数和其他信息传递给 powershell 脚本?

我在TFS2013中使用默认构建模板,我如何从powershell脚本访问构建参数(例如,构建下的变更集编号、构建目录、源路径、tfs地址、代理信息...)?示例情况:我想在Pre-Build脚本上重写所有程序集信息版本信息,其中版本号的最后一部分是变更集号,我可能可以在脚本内使用tf.exe命令获取变更集,但我不仅仅是我想在构建期间从构建代理那里知道。我尝试在脚本中运行Get-Variable并将其写入构建,但我没有在脚本中找到任何特殊变量。我是否遗漏了什么,或者默认构建模板在执行期间根本不会将任何变量传递给powershell运行时? 最佳答案

powershell - 如何显示 Visual Studio Online 构建任务 Write-Verbose 语句?

许多VisualStudioOnline(VSO)buildtasks使用Write-Verbose用于调试目的,如thisexample中所示,但是如何打开Write-Verbose以便调试语句出现在输出日志中? 最佳答案 要在日志中显示详细和调试语句,您只需将System.Debug变量添加到定义中的变量即可。 关于powershell-如何显示VisualStudioOnline构建任务Write-Verbose语句?,我们在StackOverflow上找到一个类似的问题:

regex - Powershell Parsing Help - 如何将文件夹名称列表输出到文本文件中

我有一个简单的脚本,可以读取文件夹名称并将它们输出到文本文件中。我意识到我得到了比我想要的更多的输出,所以我使用select-itemcmdlet从哈希表中仅选择name属性。问题是我遗漏的数据通常会填充的所有空白仍然存在,这对我的问题没有帮助,因为空白会破坏我的脚本。我尝试了一些[regex]命令来用(/S+)去除空格,但我不太清楚我正在使用一些代码试图从有人帮助我的示例中进行调整。主题名称与此处的标题相同,并且也在此站点上。任何可以帮助我的人都将不胜感激!基本上,我不知道如何将文件夹名称输出到一个带有零空格的简单文本文件中(每个文件夹名称1行)。$accFolder=Read-Ho

powershell - 如何在不截断值的情况下使用 Format-Table?

我目前有一个脚本可以ping服务器并检查每个服务器上运行的服务的状态。我使用Out-File保存输出,但PowerShell在长字符串后放置省略号或“...”。我不希望它这样做。例如:MachineNameServiceNameStatusStartType-------------------------------------SrvGtw01Test.MyService....Running我希望它显示全名,如:MachineNameServiceNameStatusStartType-------------------------------------SrvGtw01Test

powershell - 将整数 x.xxxxx 格式化为 xx.xxx

我有一个号码,$int,$int=9.5587452369我希望这个数字采用xx.xxx格式我试过了:$int="{0:N3}"-f($int)$int="{0:D2}"-f($int)或$int="{0:D2}"-f("{0:N3}"-f($int))但它不起作用。有什么想法吗? 最佳答案 使用指定格式的toString()方法。PS>$int=9.5587452369PS>$int.ToString("00.000")09,559或者PS>"{0:00.000}"-f$int09,559更多信息请访问MSDN-CustomNum

powershell - 使用格式表控制列宽

我正在尝试从列表中获取某些PC的上次重启时间。当我使用foreach($pcin$pclist){Get-CimInstance-ClassNamewin32_operatingsystem-ComputerName$pc|selectcsname,lastbootuptime}输出如下。csnamelastbootuptime--------------------CONFA7-L1-1A7/15/20169:55:16AMCONFA7-L1-1F5/31/20168:51:46AMCONFA7-L1-1G6/18/201611:09:15AMCONFA7-L1...6/26/201

powershell - 在字符串中格式化 PowerShell Get-Date

我无法理解如何在PowerShell中格式化字符串中的日期时间变量。$startTime=Get-DateWrite-Host"Thescriptwasstarted$startTime"#...Dostuff...$endTime=Get-DateWrite-Host"Doneat$endTime.Timeforthefullrunwas:$(New-TimeSpan$startTime$endTime)."在我想要ISO 8601时给我美国日期格式.我可以使用$(Get-Date-Formatu)但我想使用$endTime来正确计算时间跨度。我已经尝试了$、(、)、endTime、

date - 如何使用 PowerShell 将 'date-1' 格式化为 mm-dd-yyyy?

如何在PowerShell中获取date-1并将其格式化为mm-dd-yyyy?示例:如果今天是2013年11月1日,我的代码中需要10-31-2013。我以前使用过AddDays(-1),但我似乎无法让它与任何格式选项一起使用。 最佳答案 您可以使用带有日期时间格式说明符的.tostring()方法来格式化为您需要的任何内容:http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx(Get-Date).AddDays(-1).ToString('MM-dd-yyyy')11-01-