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

PowerShellは、Microsoftが提供するクロスプラットフォームのコマンドラインおよびスクリプトユーティリティです。このタグは、PowerShellスクリプトの記述と実行に関する質問のみに使用してください。クロスプラットフォームバージョンのPowerShellコア(Windows、macOS、およびLinux)に固有のプログラミングの質問には、[powershell-core]のタグを付ける必要があります。システム管理に関する質問は、スーパーユーザーまたはサーバーの障害について尋ねる必要があります。

7
コマンドライン引数を使用してC#からPowerShellスクリプトを実行する
C#内からPowerShellスクリプトを実行する必要があります。スクリプトにはコマンドライン引数が必要です。 これは私がこれまでに行ったことです: RunspaceConfiguration runspaceConfiguration = RunspaceConfiguration.Create(); Runspace runspace = RunspaceFactory.CreateRunspace(runspaceConfiguration); runspace.Open(); RunspaceInvoke scriptInvoker = new RunspaceInvoke(runspace); Pipeline pipeline = runspace.CreatePipeline(); pipeline.Commands.Add(scriptFile); // Execute PowerShell script results = pipeline.Invoke(); scriptFileには、「C:\ Program Files \ MyProgram \ Whatever.ps1」のようなものが含まれています。 スクリプトは「-key Value」などのコマンドライン引数を使用しますが、Valueはスペースも含むパスのようなものにすることができます。 これは機能しません。C#内からPowerShellスクリプトにコマンドライン引数を渡し、スペースに問題がないことを確認する方法を知っている人はいますか?

3
PowerShellで1行ずつファイルを読み取る
PowerShellでファイルを1行ずつ読みたいのですが。具体的には、ファイルをループして、各行をループ内の変数に格納し、その行でいくつかの処理を行います。 私はBashの同等物を知っています: while read line do if [[ $line =~ $regex ]]; then # work here fi done < file.txt PowerShellループに関するドキュメントは多くありません。


12
PowerShellでファイル名からパスと拡張子を削除する
ファイルへのフルパスである一連の文字列があります。ファイル拡張子と先頭パスを除いて、ファイル名だけを保存したいのですが。だからこれから: c:\temp\myfile.txt に myfile 私は実際にはディレクトリを反復処理していません。その場合、Powershellのbasenameプロパティのようなものを使用できますが、文字列だけを処理しています。

7
PowerShell:単一のコマンドのみの環境変数を設定する
Linuxでは、次のことができます。 $ FOO=BAR ./myscript 環境変数FOOを設定して「myscript」を呼び出す。 PowerShellでも同様のことが可能ですか?つまり、最初に変数を設定し、コマンドを呼び出してから、変数を再度設定解除する必要はありませんか? 私の使用例をより明確にするために、これをスクリプトの一部として使用したくありません。むしろ、環境変数を使用して動作を制御できるサードパーティのスクリプトがありますが、この場合はコマンドライン引数ではありません。だからタイピングを交互にできること $ OPTION=1 ./myscript そして $ ./myscript とても便利です。

6
PowerShellでディレクトリを変更する
現在、PowerShellプロンプトはCドライブを指しています(PS C:\>)。Q(PS Q:\>)ドライブ上のフォルダにディレクトリを変更するにはどうすればよいですか? Qドライブのフォルダ名は「MyTestFolder」です。
99 powershell 

13
ローカルで作成したスクリプトがRemoteSigned実行ポリシーで実行できないのはなぜですか?
この質問は、質問の本文で反論されているか、実際の問題に対処していない回答を引き付け続けているため、知っておくべきことの簡単な要約を読んで ください。 これはない「なぜPowerShellの私のデフォルトのインストールが実行されませんスクリプトの?」質問。 これはない「なぜPowerShellの実行スクリプトの私のインストールは、インターネットからダウンロードしないのだろうか?」質問。 問題は、RemoteSigned実行ポリシーがスクリプトの実行を禁止しているのに、なぜ禁止しているのかということです。 RemoteSigned使用したい実行ポリシーはこれだけです。 他の制限の少ないポリシーが利用可能であることを認識しています。それらのポリシーが受け入れ可能な代替である場合、私は代わりにそれらを使用しただけであり、この質問は存在しません。 実行ポリシーはすでにに設定されていRemoteSignedます。 からRemoteSignedに変更することRemoteSignedは解決策ではありません。 スクリプトファイルはローカルで作成および保存されます。 スクリプトファイルはブロックされません。 スクリプトファイルがブロックされることはありませんでした(前のポイントを参照)。 ブロックを解除するものがないため、スクリプトファイルのブロックを解除することはできません(前のポイントを参照)。 スクリプトファイルは、管理者によって実行されます(実行されようとします)。 Windows PowerShell関係する唯一のアプリケーションです。また、他のツールやエディターも関係 ありWindows PowerShell ISEませCommand Promptん。 問題の原因はすでに特定されています(承認された回答を参照)。ほぼ8年後、該当するかどうかにかかわらず、他のすべての明白な説明も投稿されたと思います。そうでない場合は、質問と既存の回答をすべて読んでから、追加してください。 64ビットのWindows7ProfessionalでWindowsPowerShell2.0を使用しています。スクリプトDesktopを実行しようとすると、次のエラーが発生します。 File C:\Users\UserName\Desktop\Script.ps1 cannot be loaded. The file C:\Users\UserName\Desktop\Script.ps1 is not digitally signed. The script will not execute on the system. Please see "get-help about_signing" for more details.. At …

1
PowerShellの&記号はどういう意味ですか?
$tool = 'C:\Program Files\gs\gs9.07\bin\gswin64c.exe' & $tool -q -dNOPAUSE -sDEVICE=tiffg4 $param -r300 $pdf.FullName -c quit 誰かがこれがどのように機能するかを私に説明できますか?PowerShellで&記号は正確に何を意味しますか?
98 powershell 

13
PowerShellモジュールがインストールされているかどうかを確認するにはどうすればよいですか?
モジュールが存在するかどうかを確認するために、次のことを試しました。 try { Import-Module SomeModule Write-Host "Module exists" } catch { Write-Host "Module does not exist" } 出力は次のとおりです。 Import-Module : The specified module 'SomeModule' was not loaded because no valid module file was found in any module directory. At D:\keytalk\Software\Client\TestProjects\Export\test.ps1:2 char:5 + Import-Module SomeModule + ~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ResourceUnavailable: …
97 powershell 

4
単一のPowerShellスクリプトパラメーターに複数の値を渡す
$ argsでサーバー名を渡すスクリプトがあります。 このように、私はこの(これらの)サーバーに次のものを使って何かをすることができますforeach: .\script.ps1 host1 host2 host3 foreach ($i in $args) { Do-Stuff $i } vlanという名前のオプションパラメータを追加したいと思います。私はもう試した: Param( [string]$vlan ) foreach ($i in $args) { Write-Host $i } Write-Host $vlan -vlanパラメータを渡すと機能しますが、渡さない場合、スクリプトは最後のサーバー名をに自動的に割り当てます$vlan。 では、単一または複数のパラメーターとオプションの名前付きパラメーターをPowerShellスクリプトに渡すにはどうすればよいでしょうか。 理想的には、ここに有効な例があります: .\script.ps1 host1 .\script.ps1 host1 host2 host3 .\script.ps1 host1 host2 -vlan office

4
二重引用符で囲まれた文字列でオブジェクトのプロパティをどのように使用できますか?
私は次のコードを持っています: $DatabaseSettings = @(); $NewDatabaseSetting = "" | select DatabaseName, DataFile, LogFile, LiveBackupPath; $NewDatabaseSetting.DatabaseName = "LiveEmployees_PD"; $NewDatabaseSetting.DataFile = "LiveEmployees_PD_Data"; $NewDatabaseSetting.LogFile = "LiveEmployees_PD_Log"; $NewDatabaseSetting.LiveBackupPath = '\\LiveServer\LiveEmployeesBackups'; $DatabaseSettings += $NewDatabaseSetting; 文字列実行コマンドでプロパティの1つを使用しようとすると: & "$SQlBackupExePath\SQLBackupC.exe" -I $InstanceName -SQL ` "RESTORE DATABASE $DatabaseSettings[0].DatabaseName FROM DISK = '$tempPath\$LatestFullBackupFile' WITH NORECOVERY, REPLACE, MOVE '$DataFileName' TO '$DataFilegroupFolder\$DataFileName.mdf', MOVE …

6
「Get-ADUser」という用語はコマンドレットの名前として認識されません
次のクエリを使用してWindows 2008サーバーのユーザーを一覧表示しましたが、失敗して以下のエラーが発生しました。 $server='client-pc-1';$pwd= convertto-securestring 'password$' -asplaintext - force;$cred=new-object -typename System.Management.Automation.PSCredential -argumentlist 'Administrator',$pwd; invoke-command -computername $server -credential $cred -scriptblock {Get-ADUser -Filter (enabled -ne $true)} 例外は以下のとおりです...これを解決するために誰かが私を助けることができますか? The term 'Get-ADUser' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if …
96 powershell 

7
ハッシュをループする、またはPowerShellで配列を使用する
私はこの(簡略化された)コードチャンクを使用して、SQL ServerからBCPでテーブルのセットを抽出しています。 $OutputDirectory = "c:\junk\" $ServerOption = "-SServerName" $TargetDatabase = "Content.dbo." $ExtractTables = @( "Page" , "ChecklistItemCategory" , "ChecklistItem" ) for ($i=0; $i -le $ExtractTables.Length – 1; $i++) { $InputFullTableName = "$TargetDatabase$($ExtractTables[$i])" $OutputFullFileName = "$OutputDirectory$($ExtractTables[$i])" bcp $InputFullTableName out $OutputFullFileName -T -c $ServerOption } これはうまく機能しますが、現在、ビューを介して抽出する必要があるテーブルとそうでないテーブルがあります。だから私はこのようなデータ構造が必要です: "Page" "vExtractPage" , "ChecklistItemCategory" "ChecklistItemCategory" , …
96 powershell 

1
PowerShellスクリプトが$(ドル)記号を受け入れない
PowerShellスクリプトを使用してSQLデータ接続を開こうとしていますが、パスワードに$記号が含まれています。 $cn = new-object system.data.SqlClient.SqlConnection("Data Source=DBNAME;Initial Catalog=Catagory;User ID=User;Password=pass$word;") 接続を開こうとすると、次のように表示されます。 ログインに失敗しました

12
PowerShellでパスを正規化する方法は?
私には2つのパスがあります。 fred\frog そして ..\frag PowerShellで次のように結合できます。 join-path 'fred\frog' '..\frag' それは私にこれを与えます: fred\frog\..\frag しかし、私はそれを望んでいません。次のように、二重ドットのない正規化されたパスが必要です。 fred\frag どうすれば入手できますか?
94 powershell  path 

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