タグ付けされた質問 「powershell」

PowerShellは、Microsoftが提供するクロスプラットフォームのコマンドラインおよびスクリプトユーティリティです。このタグは、PowerShellスクリプトの記述と実行に関する質問のみに使用してください。クロスプラットフォームバージョンのPowerShellコア(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()); } これは可能ですか?

11
ウィンドウを表示せずにPowerShellスクリプトを実行する方法は?
ウィンドウやその他のサインをユーザーに表示せずにPowerShellスクリプトを実行するにはどうすればよいですか? 言い換えると、スクリプトは、ユーザーに署名することなく、バックグラウンドで静かに実行する必要があります。 サードパーティのコンポーネントを使用しない回答に対する追加のクレジット:)

8
GitHub APIでの基本認証には、ユーザー名とパスワードを指定してInvoke-WebRequestを使用します
cURLでは、次のようにHTTP Webリクエストでユーザー名を渡すことができます。 $ curl -u <your_username> https://api.github.com/user -uフラグは、認証用のユーザ名を受け入れ、その後、カールがパスワードを要求します。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マルチスレッド) 理想的には、.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による):... スーパーユーザーの質問への回答で提案されているような追加のツールを使用せずに、昇格した権限でコマンドラインからプログラムを実行する方法。)

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の教祖


7
呼び出しが1つのオブジェクトのみを返すときに、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は配列を返します。配列の長さをクエリして、最初と2番目のアドレスを問題なく抽出できます。 問題は-IPが1つしかない場合、Powershellは1要素の配列を返さず、IPアドレスを返します(「192.168.0.100」のような文字列として)-文字列には.lengthプロパティがあり、1より大きいため、テストに合格すると、コレクションの最初の2つのIPアドレスではなく、文字列の最初の2文字で終了します。 …
123 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 


2
PowerShellの複数行コメント
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 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.