Powershell相当于bash-ampersand(&;),用于分叉/运行后台进程

在bash中,可以使用符号(&)在后台运行命令,并在命令完成运行之前将交互控件返回给用户。是否有在Powershell中执行此操作的等效方法 bash中的用法示例: sleep 30 & 我已经在PowerShell v1.0中成功地使用了这里描述的解决方案。在PowerShell v2.0中肯定会更容易 ps2> start-job {start-sleep 20} 我还没有弄明白如何实时获取stdout,启动作业要求您使用get job轮询stdout 更新:我无法开始工

在PowerShell中调用时,新QADUser CmdLet未添加UserPrincipalName

我正在尝试使用CSV文件、PowerShell和Quest的AD cmdlet将用户导入AD。添加用户时,不会添加UserPrincipleName 以下是CSV示例: FirstName、LastName、DisplayName、SamAccount、UserPrincipleName、Email FirstA,LastA,First-Last,FLastAL.ou1,FLastAL。ou1@clients.domain.local,FLastA@outemail.com First2A,La

PowerShell脚本是否在Mono下运行?

PowerShell脚本是否在Mono下运行? 我想在Mac上运行它们。有一个开源版本的PowerShell,名为Pash,专为Mono设计。它不完整,但可能能够满足您的需要: (这个项目已经有一段时间没有活动了) 在GitHub上的:处签出重新启动。powershell.exe存根实际上是本机win32程序,而不是托管程序集。将来可能会在Mono中托管System.Management.Automation程序集,但我相当确定它目前不起作用。Powershell现在已经开源并可用 到目前为止,

Powershell,如何更新多个dns记录

我有以下脚本,但出现错误- 脚本- $CNAMES = Get-Content "C:\Temp\alias.txt" $Query = "Select * from MicrosoftDNS_CNAMEType" $Record = Get-WmiObject -Namespace "root\microsoftdns" -Query $Query -ComputerName 10.10.10.1 | Where-Object{$_.Ownername -match $CNAME} Forea

“的别名”foreach{quot;$};在PowerShell中

我喜欢使用以下代码来模拟Unix“查找”行为: ls DIRECTORY -recurse -include PATTERN | foreach { "$_" } 事实上,我还想将这个|foreach{“$”}附加到其他几个命令中。所以我在想办法让它更容易打字。我试过这样的东西: function xfind { ls $args | foreach { "$_" } } 然后我这样调用它: xfind DIRECTORY -recurse -include PATTERN 但这似

企业查找文件(通过powershell)排除临时Internet文件

我正在尝试通过powershell在网络上的每台计算机上运行此命令 我遇到了一个问题,临时互联网文件,提供了太多的误报 有人能提出一种改进此命令的方法吗 dir C:\Users\ /S /B | findstr /i "".t.st."" > "C:\test.txt" 一个建议是 dir C:\Users\ /S /B | findstr /i "".t.st."" > "C:\test.txt" dir C:\Users\ /S /B | findstr /i "".t.st

Powershell 将NLB绑定到接口

我已经安装并设置了NLB。我得到的接口数据如下: Get-NlbClusterNodeNetworkInterface InterfaceName : quanet NlbBound : False Cluster : DhcpEnabled : False InterfaceIP : 10.165.250.206 InterfaceSubnetMask : 255.25

如何使用Powershell从文本文件中拉出字段

我正在尝试从文件中提取一个字段,并将提取的字段写入一个新文件,有人能帮我吗。我有如下文件中的数据 "","Processed","XXXXXX XX XXXX XXXX","Import","hgjgf XXXXXXXXXXX LTD","XXX","sss,ggg.00","0x/xx/xxxx","Xrrrr XXXXXXXX","","XTH asdf XX XXXXXX XXX000XXX XXXXXX XXX OCEAN

PowerShell';中国清晰的历史并不意味着';我不清楚历史

最近,我不得不运行一个命令,不幸的是,该命令要求我在命令行上键入密码 之后,我用“Clear”(清除)清除了屏幕,但还想清除命令历史记录,以便不在会话历史记录中显示有问题的命令。不幸的是,cmdlet似乎并没有真正做到它的文档所宣称的——运行Clear History似乎对会话历史没有任何影响 我仍然可以在弹出的历史菜单中看到以前的命令,并通过按up键滚动浏览旧命令。下面是一个屏幕抓图,演示了这个问题: 我已经用清晰的历史记录验证了是否确实正在执行预期的内置PowerShell cmdlet

将powershell脚本更改为不带省略号的输出(…)

我需要一些关于以下脚本输出的帮助,这样输出就不会用省略号(…)显示。 我试图插入| Format Table-Wrap-AutoSize,但似乎无法正确执行 clear-host Add-PSSnapin microsoft.sharepoint.powershell -ErrorAction SilentlyContinue $services = new-object system.collections.sortedlist $servers = (get-spfarm).s

Powershell 使用Get childitem获取过去3天内修改的文件列表

按目前的情况编写代码 get-childitem c:\pstbak\*.* -include *.pst | Where-Object { $_.LastWriteTime -lt (get-date).AddDays(-3)} | 基本上,我想做的是得到一个列表,上面的文件夹中的所有PST文件的基础上,他们是新的超过3天。然后我想数一数结果。上面的代码没有错误,但返回的结果为零(文件夹中肯定有PST文件更新了三天。有人知道吗?试试这个: (Get-ChildItem -Path c:\ps

如何在Powershell中按顺序获取名称和

当我运行下面的代码时,我得到了一个型号错误,其中标题没有显示,还有一件事是我无法按顺序获得所有三个 $arrComputers = get-Content -Path "C:\Desktop\Computers.txt" $e=$arrComputers | ForEach-Object {Get-WMIObject -Class Win32_BIOS -ComputerName $_ } |Select PSComputerName, Version,Manufacturer,Stat

PowerShell If Else逻辑不正常

现在我的语法问题已经解决了(请不要看缺少的下划线,这是网站上的一个问题),我很难用经理(组或用户)的“显示名称”填充“ManagedBy”字段。出于这样或那样的原因,我的if/else逻辑并不可靠,因为它只返回blancs $When = ((Get-Date).AddDays(-21)).Date Get-ADGroup -SearchBase "OU=Groups,OU=BEL,OU=EU,DC=domain,DC=net" -Filter {whenCreated -ge $When}

如何通过从另一个powershell文件调用来并行运行powershell文件?

我有File1.ps1,它需要并行调用File2.ps1和File3.ps1,它们必须在不同的窗口中打开。你知道我该如何做到这一点吗 启动进程和其他命令似乎不起作用。尝试设置要执行的每个文件,同时启动计划任务。我对它进行了测试,发现这两个窗口同时出现并执行 $filePath = "C:\path\to\files" $fileList = ".\File2.ps1", ".\File3.ps1" $startTime = (get-date).AddMinutes(1) foreach ($

Powershell通过登录调用webrequest

我有一个我正试图浏览的工作站点 用这个做的 $login = Invoke-WebRequest -Uri 'http://www.privateworksite.com' -SessionVariable GetIP $form = $login.Forms[0] $Form.Fields['ctl00$ContentPlaceHolder1$RadTextBox7']= "*******" <-- User ID goes here $Form.Fields['ctl00$Conte

如何在powershell中将字符串转换为表或对象

如何将下面导出的文本转换为csv,以便将其用作powershell中的对象。例如: where{$_.qlimit -eq 27} 正文: 使用cmdlet加载文件,用逗号替换两个或多个空格,并使用cmdlet将其转换为CSV: 如果现在查询对象: $object | where qlimit -eq 27 您将获得所需的输出: samid qlimit qused ----- ------ ----- admin 27 8 ConvertFrom字符串的另一种方式(文件中

Powershell 用新行替换字符

Powershell第4版。Windows 7 我想用文本文件中的新行替换,。我试过下面的脚本 (Get-Content C:\Test\test.txt).Replace(',','`n') | Set-Content C:\Test\testv2.txt 但是当我看到输出文件时,我看到的是,被替换为'n'而不是新行 我也尝试了双引号而不是单引号 Replace(',',"`n") 这对我有用 (Get-Content C:\Test\Test.txt) -replace ',',"`n"

Powershell 启动Internet Explorer,等待用户关闭它,然后退出脚本

我有一个脚本,在没有工具栏的情况下打开IE并导航到url(如下所示) 我需要让窗口显示为这样的原因, 我不能使用信息亭模式 我需要做的是: 运行脚本(LaunchIE_noToolbar.vbs) 打开IE,隐藏工具栏,转到url 在后台等待,用户可能会在10-15分钟后进行操作 确认它已关闭并退出脚本 这似乎很简单,但我无法解决,等待的部分快把我逼疯了 如果你能在PowerShell中这样做,那也太好了,我不介意。我现在不在电脑前,但我记得 我想你可以开始一个过程,也就是开始一个过程。获取

将函数连接到powershell studio中的进度栏

有没有一种方法可以将函数连接到进度条对象 $buttonAdd_Click = { create $loadingbar.Refresh } 这是我的按钮对象。变量“$loadingbar”是我的进度条对象 这是我的创建函数: function create() { $wshell = New-Object -ComObject Wscript.Shell $UserList = Import-Csv -Path $txt_csv.Text -Delimite

Powershell 进程执行后不会创建CSV文件

我对Powershell并不陌生,但我自己对在Powershell中制作脚本是陌生的 我必须制作一个简单的脚本,记录所有工作中的员工和他们的一些信息,然后输出一个包含这些信息的CSV文件。但是当我运行下面的代码时,什么也没有发生。ISE只是执行这个过程,一秒钟过去,它就完成了。然后不创建CSV文件 PROCESS { $path = Split-Path -parent "C:\Users\omitted\Desktop" $pathexist = Test-Path -Path

Powershell 如何停止ConvertToHTML创建空表?

我正在尝试使用PowerShell转换为HTML if($FileLine){ $frag1 = $FileLine | Sort-Object Name | ConvertTo-Html -Fragment -Property Name,Action -PreContent “<h3>Group Sync : $gcount change(s)</h3>” | Out-String }else{ $frag1 = "<h3>Group Sy

Powershell TFS构建标记

我正在使用TFS作为项目的源代码和构建。成功构建后,我希望使用powershell或任何TFS任务自动标记构建。之后,我想使用相同的标记在特定环境中进行部署。您可以指导我如何使用它吗?假设您使用的是VNext build,您可以在构建过程中使用添加标记,然后设置CD发行版以部署标记的工件 PowerShell示例: 您可以按照以下步骤执行此操作: 创建PowerShell脚本并签入服务器,请参见上面的示例 创建生成定义并添加PowerShell任务作为结束任务 选择要运行的PowerShell脚

Powershell 运行脚本块时如何使Invoke命令返回空数组而不是null

我正在创建一个函数,有时它会返回一个空数组,因为没有结果。在某些情况下,此功能可能需要使用Invoke命令运行,例如在远程PC上运行等 但我发现,当我的函数在带有脚本块的Invoke命令下运行时,它不能返回空数组,只能返回null 所以我试着发现,Invoke命令似乎无法返回空数组,即使我显式地这样做 对于exmaple: > $foo = @() > $foo.GetType() IsPublic IsSerial Name

Powershell 使用Get-childitem获取类似$pattern或比任何类似文件$pattern更新的文件列表

到目前为止,我已经有了查找文件的脚本,比如“*ver1.0*”,它工作得很好 $files = Get-ChildItem "D:\path\" | where {($_ -like "*$version*.sql")} 文件列表: file_ver1.0_xx.sql file_ver1.0_xy.sql 但是现在我需要找到看起来像以前或者比以前更新的文件 例如,我需要查找模式为:*ver1.0*或*ver0.9*的文件,其LastWriteTime比任何*ver1.0*文件都要新。我知道这

通过Powershell为AzureAD设置StrongAuthenticationUserDetails电话号码?

这个标题真的很流行 当设置用于Azure Active Directory的计算机时,我们会让它进行初始设置和配置。这包括首次登录并加入Azure Active Directory。登录时,它会强制您选择验证方法。为了方便,我们会使用台式电话或手机 现在是我们更新第二因素电话号码的时候了。我知道有一种方法可以通过Azure AD Web UI手动完成,但我正在寻找一种脚本化的方法来在PowerShell中设置该数字 Get-msoluser -UserPrincipalName "email@e

如何确保使用PowerShell模块清单(.psd1)

我为它创建了一个PowerShell模块MyUtil.psm1和一个清单文件MyUtil.psd1。在psd1文件中,定义了前缀以防止导出函数的名称冲突: DefaultCommandPrefix = 'MyToolbox' 这样,在运行导入模块之后。\MyUtil.psd1,psm1文件中类似于Get Command的函数将是Get MyToolboxCommand,一切正常。但是如果有人运行导入模块。\MyUtil.psm1直接导入psm1文件,则不会使用psd1文件,也不会应用我想要的前

如何从Azure Powershell重新启动Azure appservice

如何从Azure中ARM订阅的自动化帐户中的Runbook中运行的Azure Powershell重新启动AppService 我认为方法是: Restart-AzureWebsite -Name "your-appservice-name" 但这会得到: Restart-AzureWebsite : No default subscription has been designated. Use select-AzureSubscription -Default #<subscript

在PowerShell中设置包含符号(&;)的位置

如何使用PowerShell将目录设置到以下位置 W:\B&M\Store Segmentation\Pete\Python 我尝试使用: PS > Set-Location -Path W:\B"&"M\Store Segmentation\Pete\Python 使用“双引号或”撇号,如下所示: Set-Location -Path "W:\B&M\Store Segmentation\Pete\Python" 或 阅读说明。使用“或”完全是一个更好的主意

powershell脚本以获取目录的大小和磁盘上的大小

我正在编写一个powershell脚本来获取目录的大小 (get-childitem <path> -recurse | measure-object -property length -sum).sum/1MB (获取子项-递归|度量对象-属性长度-总和)。总和/1MB 现在,我希望文件夹的“大小”和“磁盘大小”都显示为输出,请尝试以下操作: GCI <Path> -Recurse | Group-Object -Property Directory | % {Ne

Powershell GetSmoObject错误:尝试检索ManagedComputer对象的数据失败

我正在尝试编写一个PowerShell脚本,该脚本将启用TCP/IP和命名管道服务器协议,但我的服务器找不到它们。这是我用来连接协议的代码 [reflection.assembly]::LoadWithPartialName("Microsoft.SqlServer.Smo") [reflection.assembly]::LoadWithPartialName("Microsoft.SqlServer.SqlWmiManagement") $wmi = new-object ('Micros

Powershell 获取子项递归但跳过特定父文件夹中的文件

这应该是一个简单的问题。我需要递归运行Get ChildItem以在以下文件夹结构中查找.jpgs: 'D:\Images\' + $local:YM + '\' + $local:YMD + '\' + $env:USERNAME 用户名文件夹包含JPG和其他包含JPG的文件夹。我希望递归Get Childitem在username文件夹的子文件夹中寻址JPG,但跳过username文件夹本身中的JPG 例如,我希望Get Childitem能够解决: 'D:\Images\2018_03\

Powershell 为自动电子邮件脚本存储帐户凭据(尤其是密码)的最佳方法是什么?

我正在编写一个简单的脚本windows powershell来发送自动电子邮件。计算机将随时运行,收集数据,然后定期发送电子邮件。发送电子邮件的一部分显然是收集凭据,而且由于它是自动的,我们不能每次都有人在那里输入用户和密码。显而易见的解决方案是只在脚本中的$user和$pass变量中存储信息,但这对我来说似乎非常不安全,而且容易受到攻击。有没有更好的办法?也许只需使用用户地址设置一次安全电子邮件连接,而不必再次输入?我是powershell的新手,所以我不太清楚最好的方法。目前我正在做的是:

无论脚本是在“常规”powershell控制台中运行还是在powershell ISE中运行,如何以相同的方式处理错误?

我有一个简单的脚本: $ErrorActionPreference = "Stop" try { cmd /c mklink a .\DataSvc.sln } catch { "Failed" } 存在文件DataSvc.sln 当我在ISE powershell控制台中运行它时,它打印失败,当我在常规powershell控制台中运行它时,它输出您没有足够的权限执行此操作: ISE: 常规: 我应该如何编写它,使它在两种情况下都打印失败 编辑1 在Windows

通过PowerShell清除IE上的SSL状态

在使用帮助台时,用户经常会遇到证书错误,可以通过运行可执行文件并通过IE内容选项卡中的“清除SSL状态”按钮清除SSL状态来修复这些错误 我正在创建一个PowerShell脚本,该脚本将在用户计算机上远程执行这些任务。是否有PowerShell命令可以完成此按钮在IE上执行的相同任务 我很难找到SSL缓存的实际存储位置。如果我能找出此按钮执行的功能,那么我可能可以在Powershell中重新创建它们。可以在此处找到答案: 我相信这是一个过程 也使用 invoke-command -compute

Powershell 将文件从多个文件夹移动到相应的目标文件夹

我正试图找出如何在将文件从源位置移动到目标位置时执行ForEach 我已经厌倦了以下代码,但无法使其正常工作:( For Each在您的情况下并不理想,因为您需要源数组和目标数组中的值。假设两个数组的长度相同,您可以使用For循环,例如: $SrcLocations = @('Src1','Src2','Src3') $DestLocations = @('dest1','dest2','dest3') For($i = 0; $i -lt $SrcLocations.Count; $i++

Powershell 将管道传输到格式表时,自定义注释中的原始数据以及power shell中的函数

我正在尝试为我正在编写的电源外壳模块创建备忘单。我正在使用自定义帮助消息,您可以将其添加到powershell模块中的函数中。然后调用每个方法的Get帮助,然后选择一些特定的输出并将其格式化为表。我一直在尝试获取原始数据,您可以使用“获取帮助”功能绑定这些数据 电源外壳模块示例 # example_psmod_psm1 #this is a test function commitWithMessage() { <# .SYNOPSIS git commit --verbose --me

有关多个集合的Powershell foreach

所以我有一个powershell脚本,我想请求社区的帮助。我不得不说,我并不总是最善于表达我想做的事情,部分原因是我没有编程经验,所以请容忍我,如果我用不正确的词来解释我的意思,请提问/纠正我 话虽如此,我想做的是: 增加服务和启动类型时: 停止服务器X上的服务A($services)($rebootingServer) 在服务器X上禁用服务A($services)($rebootingServer) 给定:我们知道在脚本运行之前,服务器Y上禁用了服务A 基于文本文件列表$startupty

使用Powershell从一个文件夹中的多个CSV文件中删除前15行

我有一个Powershell脚本,可以从单个CSV文件中整齐地删除前15行 $import = get-content c:\temp\test.csv $import | Select-Object -Skip 15 | Set-Content c:\temp\test2.csv 我想通过一个文件夹中的多个CSV文件来循环这个过程。我不太明白怎么做 可选-NumberOfLines参数,默认为15 可选-Verbose参数将输出修改过的文件 function Remove-CSVLines

如何在PowerShell中将哈希字符串转换为字节数组?

当我的脚本运行时,我读取一个散列,我想将它写入注册表。 我发现下面的命令可以做到这一点: New-ItemProperty $RegPath -Name $AttrName -PropertyType Binary -Value $byteArray 我还找到了 但是,所有答案都假设字符串的形式为: "50,33,01,00,00,00,00,00,...." 但我只能读取以下格式的哈希: "F5442930B1778ED31A....." 我不知道如何将其转换为值为F5、44等的字节数

Powershell 如何将基于XML的XLS文件转换为XLSX?

我有一堆XLS文件。打开文件时,我得到提示:格式和扩展名不匹配 后来,我发现这是一个旧的基于XML的XLS文件。由于这个原因,我无法直接将这些文件导入R或SAS 我尝试打开一个并使用另存为以R和SAS支持的任何格式保存文件,如XLSX或CSV等 问题是有数百个文件,无法逐个打开和保存 我可以将任何流程整合到PowerShell流程中,这都是非常棒的。尝试以下PowerShell解决方案: $Excel = New-Object -Com Excel.Application foreach ($

Powershell Visual Studio代码中的多线程调试

我一直在编写一个交给我的Powershell脚本。以前从未处理过powershell scritps,我有很多东西要学。到目前为止,我一直在使用VisualStudio代码来运行/调试它。它一直工作得很好,但是,我遇到了一个问题,在一个特定的领域,处理多线程。我无法在特定断点上暂停Powershell脚本 在查看了过去几天的所有内容后,似乎可以在VisualStudio中处理线程。我下载了Visual Studio Community 2019,并尝试安装该套件。据软件包管理器称,它已安装,没有

获取powershell脚本';s位置,可选通过符号链接

很多人都曾问过“如何在Powershell中获取脚本本身的路径?”这个问题,并得到了多种不同的答案。然而,在我的情况下,我有一些实用程序函数存储在脚本旁边的一个公共模块中,但我实际上并没有从该特定目录运行脚本,而是将脚本符号链接到$HOME\bin,我在PATH中有。我不想将所有实用程序库符号链接到$HOME\bin目录中 考虑到用户实际运行的脚本(即在路径中找到的脚本)可能是符号链接,我如何在Powershell中获取“真实”脚本路径的路径?这有点笨重,但使用通用的$PSCommandPath

Powershell 如何在新aduser中跳过空值

您好,我编写的程序将从powershell gui创建用户,但我遇到问题: 有时并非所有字段都有值,并且它们都是空的,但当我尝试使用具有空值的参数创建用户时,我得到了一个错误 new-aduser server is unwilling to process the request 我可以为每个字段使用许多if-else块,但我认为这不是一个好的解决方案。请帮助我用空参数传递create user New-ADUser -AccountPassword (ConvertTo-Secur

用于替换名称的Powershell脚本

我有一个数组,其中包含需要替换名称的文本列表。 例如:星期一、星期二、星期三是从test.txt文件调用数组中的文本 我想将它们分别重命名为周一1111、周二1111、周三1111。 下面是我的powershell脚本 $Web = Get-SPWeb "https://test.com" $DocLib = $Web.Lists["Documents"] $filename = @(Get-Content F:\ish\test.tx

Powershell 为什么递归在if语句中不起作用?

我正在尝试编写脚本,将扩展名为.txt的文件内容复制到一个。脚本正在工作,但-recurse不工作。(它不会复制子文件夹中的文件),我不知道为什么会这样。我的脚本是这样的: function UnifyConfigs { param ( $destination = "C:\temp\all.txt", [Parameter()] $files ) foreach ($config in $

Powershell If/Then-Then即使在条件为false时也执行

下面是一个包含jpg的文件夹,将文件名替换为nnnZ.jpg,如果图像是横向的,则跳过一个数字 我在上看到了示例,看起来if语句或条件($w-gt$h)的语法没有问题,但是每次都会执行“then”,即使文件夹中只有一个图像是纵向的。$w和$h的值是正确的(根据echo),所以我不明白出了什么问题 编辑:或者这些值实际上是字符串,这就是%s的意思吗 Get-ChildItem | foreach { $w=$(magick identify -format '%w' $_) $h=$(ma

powershell正在重新打开子窗体

我正在PowerShell中编写我的第一个子表单。当我编写代码时,一切都会完美地启动。当我通过窗口中的x关闭子窗体,然后重新打开它时,我收到错误: 异常设置“可见”:“无法访问已处置的对象”。 对象名称:“表单” 第5行字符:5 $ExampleForm.visible=$true ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +CategoryInfo:NotSpecified:(:)[],SetValueInvocationException +FullyQualifiedErr

上一页 1 2 ...  5   6   7   8    9   10   11  ... 下一页 最后一页 共 1231 页