Tag: powershell

如何从powershell中的csv文件循环一行

我想在PowerShell中处理一个csv文件,但是我不知道CSV文件中的列标题是什么时候处理的。 例如: $path = "d:\scratch\export.csv" $csv = Import-csv -path $path foreach($line in $csv) { foreach ($head in $line | get-member | where-object {$_.MemberType -eq "NoteProperty"} | select Definition) { #pseudocode… doSomething($head.columnName, $head.value) } } 如何循环访问csv文件中的行,获取列的名称和值? 还是有另一种方法,我应该这样做(如不使用导入CSV)?

PowerShell是否准备好在Windows上replace我的Cygwin shell?

我在辩论是否应该学习PowerShell,或者只是坚持使用Cygwin / Perl脚本/ Unix shell脚本等。 PowerShell的好处在于,没有Cygwin的队友可以更轻松地使用脚本; 然而,我不知道我是否真的在写这么多的通用脚本,或者甚至人们会使用它们。 Unix脚本function非常强大,PowerShell能够保证切换吗? 以下是我将在PowerShell中查找的一些特定事物(或等价物): grep的 分类 uniq的 Perl(PowerShell与Perl的function有多近?) AWK SED 文件(提供文件信息的命令) 等等

如何input多行命令?

是否有可能通过多行分割Powershell命令行? 在Visual Basic中,我可以使用下划线( _ )继续下一行中的命令。

如何在PowerShell中使用带空格和引号的参数运行EXE文件

如何在PowerShell中运行以下命令? C:\ Program Files \ IIS \ Microsoft Web Deploy \ msdeploy.exe -verb:sync -source:dbfullsql =“Data Source = mysource; Integrated Security = false; User ID = sa; Pwd = sapass!; Database = mydb;” -dest:dbfullsql =“Data Source =。\ mydestsource; Integrated Security = false; User ID = sa; Pwd = sapass!; Database = mydb;”,computername = 10.10.10.10,username = administrator,password […]

在Powershell中,将两个表连接成一个表的最好方法是什么?

我对Powershell相当陌生,想知道是否有人知道任何更好的方法来完成下面的示例问题。 我有一个从IP地址到主机名的映射数组。 这代表了一个活跃的DHCP租约清单: PS H:\> $leases IP Name — —- 192.168.1.1 Apple 192.168.1.2 Pear 192.168.1.3 Banana 192.168.1.99 FishyPC 我有从MAC地址到IP地址的另一个映射arrays。 这代表IP预留的列表: PS H:\> $reservations IP MAC — — 192.168.1.1 001D606839C2 192.168.1.2 00E018782BE1 192.168.1.3 0022192AF09C 192.168.1.4 0013D4352A0D 为了方便起见,我能够使用下面的代码生成从MAC地址到IP地址和主机名的第三组映射。 这个想法是, $reservations应该得到第三个字段,“名称”,这是填充每当有一个匹配的“IP”字段: $reservations = $reservations | foreach { $res = $_ $match = $leases | where {$_.IP -eq $res.IP} […]

如何find已安装的MSI安装程序的产品GUID?

我需要find已安装的MSI文件的产品GUID ,以便执行修补,卸载和审计等维护。

什么是更好(更清洁)的方式来忽略PowerShell中的输出?

假设你有一个方法或一个CMDlet返回一些东西,但是你不想使用它,你不想输出它。 我发现了这两种方式: Add-Item > $null [void]Add-Item Add-Item | Out-Null 你用什么? 哪个更好/更干净的方法? 为什么?

如何从batch file运行PowerShell脚本

我想在PowerShell中运行这个脚本。 我在桌面ps.ps1下面的脚本保存为ps.ps1 。 $query = "SELECT * FROM Win32_DeviceChangeEvent WHERE EventType = 2" Register-WMIEvent -Query $query -Action { invoke-item "C:\Program Files\abc.exe"} 我已经做了一个批处理脚本来运行这个PowerShell脚本 @echo off Powershell.exe set-executionpolicy remotesigned -File C:\Users\SE\Desktop\ps.ps1 pause 但是我得到这个错误:

使用PowerShell上传FTP文件

我想使用PowerShell将FTP文件传输到匿名FTP服务器。 我不会使用任何额外的软件包。 怎么样? 脚本不会有挂起或崩溃的风险。

用Start-Process捕获标准和错误

访问StandardError和StandardOutput属性时,Powershell的Start-Process命令中是否存在错误? 如果我运行以下,我得不到输出 $process = Start-Process -FilePath ping -ArgumentList localhost -NoNewWindow -PassThru -Wait $process.StandardOutput $process.StandardError 但是,如果我redirect到一个文件的输出,我得到了预期的结果 $process = Start-Process -FilePath ping -ArgumentList localhost -NoNewWindow -PassThru -Wait -RedirectStandardOutput stdout.txt -RedirectStandardError stderr.txt