小编use*_*851的帖子

使用Powershell和Proxy访问Web

我似乎无法使用Powershell访问网页.我一直得到"(407)代理身份验证要求".我尝试了很多东西.我不知道代理是什么或它需要什么样的身份验证.我唯一可以访问的是IE,它使用脚本进行配置.我尝试使用一些IP,但没有运气.有任何想法吗?

这是我尝试过的一个例子:

$wc = New-Object System.Net.WebClient
$wc.Headers.Add("User-Agent","Mozilla/4.0+")        
$wc.Proxy = [System.Net.WebRequest]::DefaultWebProxy
$wc.Proxy.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials
$wc.DownloadString("http://stackoverflow.com")
Run Code Online (Sandbox Code Playgroud)

proxy powershell-2.0

27
推荐指数
5
解决办法
7万
查看次数

无法在存在的对象上找到属性

我有一个对象数组,我试图操纵它,并得到一个错误,属性RptFile不存在.我检查了拼写和所有内容,并对所发生的事情感到困惑.

给出错误的代码:

$AllContents | Where-Object {$_.RptFile -eq 'CB-Officer Trial New'} 

AllContents | Get-Member returns:


TypeName: Selected.System.Management.Automation.PSCustomObject

Name         MemberType   Definition                                            
----         ----------   ----------                                            
Equals       Method       bool Equals(System.Object obj)                        
GetHashCode  Method       int GetHashCode()                                     
GetType      Method       type GetType()                                        
ToString     Method       string ToString()                                     
RptFile      NoteProperty System.String RptFile=ABL - Branch5206 Daily OD Report
TotalSeconds NoteProperty System.String TotalSeconds=25   
Run Code Online (Sandbox Code Playgroud)

所以财产确实存在.知道发生了什么事吗?如果我只输入$ AllContents,我也会得到一个包含该属性的列表.

powershell powershell-2.0

7
推荐指数
1
解决办法
2万
查看次数

如果我没有列出属性,则Compare-Object无法正常工作

我有两个Excel电子表格我想比较:

$OleDbAdapter = New-Object System.Data.OleDb.OleDbDataAdapter “Select * from [Report$]“,”Provider=Microsoft.ACE.OLEDB.12.0;Data Source=S:\FIS-BIC Reporting\Report Output Files\Product-Marketing\TEST_XI\ECM - Pipeline by LOB_04182013_040544.xls;Extended Properties=”"Excel 12.0 Xml;HDR=YES”";”
$RowsReturned = $OleDbAdapter.Fill($DataTable)

$OleDbAdapter2 = New-Object System.Data.OleDb.OleDbDataAdapter “Select * from [Report$]“,”Provider=Microsoft.ACE.OLEDB.12.0;Data Source=S:\FIS-BIC Reporting\Report Output Files\Product-Marketing\ECM - Pipeline by LOB_04182013_074004.xls;Extended Properties=”"Excel 12.0 Xml;HDR=YES”";”
$RowsReturned2 = $OleDbAdapter2.Fill($DataTable2)

Compare-Object $DataTable $DataTable2 
Run Code Online (Sandbox Code Playgroud)

它什么都不返回.我知道在第6栏中,它们是不同的.如果我指定"-property F6",它确实会返回差异.除非我指定属性,否则任何想法都没有?列数可以变化(虽然比较中的每个文件都相同),因此具体指定属性将不起作用.

powershell powershell-2.0

7
推荐指数
2
解决办法
2万
查看次数

对 PowerShell 的 Invoke-Expression 变量中的字符进行转义

我编写了一个脚本来通过使用 7-Zip 压缩文件来备份一堆文件。问题是某些文件包含“&”和“'”(单引号)。我尝试用“`'”或“``'”替换它们(在下面的变量中),但这也不起作用。我想我不确定与Invoke-Expression一起使用时转义字符如何工作。

以下是代码行:

$exec = "& 'C:\Program Files\7-Zip\7z.exe' u -mx5 -tzip -r  '$DestFileZip' '$DestFile'"

Invoke-Expression $exec
Run Code Online (Sandbox Code Playgroud)

powershell

4
推荐指数
1
解决办法
9834
查看次数

正则表达式 - 非捕获组不起作用

我在 Powershell 中使用正则表达式。我有一个非捕获组,但它仍然显示在我的结果中。

字符串是:

Grid1.Data = [['TRE - Significant Flux','EG Report','w939909','59e8a31f-d9e9-4ebf-a027-929ec62953ac'],['CB - Daily OD Report','EG Report','w9
39909','59e8a31f-d9e9-4ebf-a027-929ec62953ac'],['BC - Balance Transfers Daily - DRAFT','BC - Balance Transfers Daily - DRAFT','w939909','59e8
a31f-d9e9-4ebf-a027-929ec62953ac'],['CB - CL Activity Report','CB - CL Activity Report','w939909','59e8a31f-d9e9-4ebf-a027-929ec62953ac']]
Run Code Online (Sandbox Code Playgroud)

正则表达式是:

$regex = "(?:\[').*?(?=')"  
Run Code Online (Sandbox Code Playgroud)

它仍然返回诸如 ['TRE - 显着通量

我需要排除开头的“['”。单引号末尾的非捕获组正在工作。

regex powershell powershell-2.0

4
推荐指数
1
解决办法
3959
查看次数

如果Powershell中不存在目录结构,请创建目录结构

我试图创建一个目录结构,如果它不存在于另一个位置.它工作正常,但我在名称中带括号的任何目录上都出错.我想我不得不以某种方式逃脱,但不知道如何.

脚本代码:

$source = "c:\data"
$destination = "c:\scrap\data"

Get-ChildItem -Path $source -Recurse -Force |
  Where-Object { $_.psIsContainer } |
  ForEach-Object { $_.FullName -replace [regex]::Escape($source), $destination } |
  ForEach-Object {
    if (!(Test-Path -path $_ )) { $null = New-Item -ItemType Container -Path $_ }
  }
Run Code Online (Sandbox Code Playgroud)

powershell

1
推荐指数
1
解决办法
6296
查看次数

Powershell将持续时间字符串解析为秒

我有一个这样的字符串:"00:02:37.6940000".有没有一种简单的方法可以将其转换/解析为秒?我是否必须将它拼凑成片并按照这种方式进行操作?

我不关心毫秒.

powershell powershell-2.0

1
推荐指数
1
解决办法
3161
查看次数

标签 统计

powershell ×6

powershell-2.0 ×5

proxy ×1

regex ×1