Questions tagged «powershell»

PowerShell是Microsoft的跨平台命令行和脚本实用程序。将此标签仅用于有关编写和执行PowerShell脚本的问题。跨平台版本PowerShell Core(Windows,macOS和Linux)特定的编程问题应标记为[powershell-core]。有关系统管理的问题应在“超级用户或服务器故障”时提出。


1
Powershell 2.0尝试捕获如何访问异常
这是try catchPowerShell 2.0中的 $urls = "http://www.google.com", "http://none.greenjump.nl", "http://www.nu.nl" $wc = New-Object System.Net.WebClient foreach($url in $urls) { try { $url $result=$wc.DownloadString($url) } catch [System.Net.WebException] { [void]$fails.Add("url webfailed $url") } } 但是我想做的是C# catch( WebException ex) { Log(ex.ToString()); } 这可能吗?


8
使用带有用户名和密码的Invoke-WebRequest进行GitHub API上的基本身份验证
使用cURL,我们可以通过HTTP Web请求传递用户名,如下所示: $ curl -u <your_username> https://api.github.com/user 该-u标志接受用于身份验证的用户名,然后cURL将请求密码。cURL示例用于使用GitHub Api进行基本身份验证。 我们如何类似地将用户名和密码与Invoke-WebRequest一起传递?最终目标是在GitHub API中使用基本身份验证来使用PowerShell。

11
Powershell v3 Invoke-WebRequest HTTPS错误
使用Powershell v3的Invoke-WebRequest和Invoke-RestMethod,我成功地使用POST方法将json文件发布到https网站。 我正在使用的命令是 $cert=New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("cert.crt") Invoke-WebRequest -Uri https://IPADDRESS/resource -Credential $cred -certificate $cert -Body $json -ContentType application/json -Method POST 但是,当我尝试使用GET方法时: Invoke-WebRequest -Uri https://IPADDRESS/resource -Credential $cred -certificate $cert -Method GET 返回以下错误 Invoke-RestMethod : The underlying connection was closed: An unexpected error occurred on a send. At line:8 char:11 + $output = Invoke-RestMethod …
126 .net  rest  powershell  https 

8
Powershell可以并行运行命令吗?
我有一个powershell脚本来对一堆图像进行一些批处理,我想进行一些并行处理。Powershell似乎有一些后台处理选项,例如start-job,wait-job等,但是我发现进行并行工作的唯一好资源是编写脚本文本并运行它们(PowerShell Multithreading) 理想情况下,我想要类似于.net 4中的并行foreach的东西。 看起来很像的东西: foreach-parallel -threads 4 ($file in (Get-ChildItem $dir)) { .. Do Work } 也许我最好只是下降到C#...

3
如何从命令提示符下以“以管理员身份运行”身份运行应用程序?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Stack Overflow 的主题。 7年前关闭。 改善这个问题 我有一个名为的批处理文件test.bat。我正在test.bat文件中调用以下说明: start /min powershell.exe %sysdrive%\testScripts\testscript1.ps1 当我通过命令提示符运行此脚本时,我的测试脚本已成功运行。我想以管理员身份运行它(就像我已经创建了桌面快捷方式并以管理员身份运行。它不应提示输入任何用户名或密码)。 我已经尝试在上面添加/elevate和/NOUAC参数test.bat,但是没有运气。如何解决此问题? 我知道如何手动执行此操作,但是我希望从命令提示符处执行此操作。 (作者:Marnix Klooster):...无需使用任何其他工具,例如在超级用户问题“ 如何从具有提升权限的命令行中运行程序的答案”中建议的工具。


7
当调用仅返回一个对象时,如何强制Powershell返回数组?
我正在使用Powershell在Web服务器上设置IIS绑定,并且以下代码有问题: $serverIps = gwmi Win32_NetworkAdapterConfiguration | Where { $_.IPAddress } | Select -Expand IPAddress | Where { $_ -like '*.*.*.*' } | Sort if ($serverIps.length -le 1) { Write-Host "You need at least 2 IP addresses for this to work!" exit } $primaryIp = $serverIps[0] $secondaryIp = $serverIps[1] 如果服务器上有2个以上的IP,则很好-Powershell返回一个数组,我可以查询该数组的长度并提取第一个和第二个地址。 问题是-如果只有一个IP,Powershell不会返回一个单元素的数组,而是返回IP地址(作为字符串,如“ …
123 powershell 

8
查找和替换具有特定扩展名的所有文件的PowerShell脚本
我在Windows Server 2008上嵌套了几个配置文件,如下所示: C:\Projects\Project_1\project1.config C:\Projects\Project_2\project2.config 在我的配置中,我需要像这样进行字符串替换: <add key="Environment" value="Dev"/> 会变成: <add key="Environment" value="Demo"/> 我考虑过使用批处理脚本,但是没有很好的方法来执行此操作,并且听说使用PowerShell脚本可以轻松地执行此操作。我已经找到了查找/替换的示例,但是我希望找到一种遍历C:\ Projects目录中所有文件夹并找到以'.config'扩展名结尾的文件的方法。当找到一个时,我希望它替换我的字符串值。 是否有任何好的资源来找出如何执行此操作的方法,或任何可以提供一些见识的PowerShell专家?

6
一种在PowerShell中检查路径是否存在的更好方法
我只是不喜欢以下语法: if (Test-Path $path) { ... } 和 if (-not (Test-Path $path)) { ... } if (!(Test-Path $path)) { ... } 特别是在检查“不存在”这种常见用法时,括号太多,而且可读性很差。有什么更好的方法可以做到这一点? 更新:我目前的解决方案是使用别名exist,并not-exist为解释在这里。 PowerShell存储库中的相关问题:https : //github.com/PowerShell/PowerShell/issues/1970
122 powershell 

5
如何列出PowerShell对象的所有属性
当我看Win32_ComputerSystem类,它表明类似性质的负荷Status,PowerManagementCapabilities等等。然而,当在PowerShell中我做了以下我只拿回一对夫妇: PS C:\Windows\System32\drivers> Get-WmiObject -Class "Win32_computersystem" Domain : YYY.com Manufacturer : VMware, Inc. Model : VMware Virtual Platform Name : LONINEGFQEF58 PrimaryOwnerName : Authorised User TotalPhysicalMemory : 2147016704 如何查看所有属性?
121 powershell 



9
无法加载ps1,因为此系统上禁用了运行脚本
我尝试powershell从C#运行脚本。 首先,我将设置ExecutionPolicy为Unrestricted,脚本现在从开始运行PowerShell ISE。 现在这是C#我的代码: class Program { private static PowerShell ps; static void Main(string[] args) { ps = PowerShell.Create(); string ps1File = Path.Combine(Environment.CurrentDirectory, "script.ps1"); ExecuteScript(ps1File); Console.ReadLine(); } static void ExecuteScript(string script) { try { ps.AddScript(script); Collection<PSObject> results = ps.Invoke(); Console.WriteLine("Output:"); foreach (var psObject in results) { Console.WriteLine(psObject); } Console.WriteLine("Non-terminating errors:"); …
120 c#  powershell 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.