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

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

7
PowerShell:スクリプトのディレクトリからコマンドを実行します
スクリプトの現在のディレクトリを使用していくつかのことを行うPowerShellスクリプトがあります。したがって、そのディレクトリ内では、実行.\script.ps1は正しく機能します。 スクリプトの参照ディレクトリを変更せずに、別のディレクトリからそのスクリプトを呼び出したいと思います。だから私は呼び出し..\..\dir\script.ps1たいのですが、そのスクリプトがディレクトリ内から呼び出されたときと同じように動作します。 それを行う方法、またはスクリプトを変更して任意のディレクトリから実行できるようにする方法を教えてください。
144 powershell 

6
PowerShellでパスを再読み込みします
PowerShell ISEのインスタンスを実行していて、PATHを変更するものをインストールしたり、PowerShellの外部で何らかの方法で変更したりした場合、更新されたPATH変数を表示するには、PowerShellを再起動する必要があります。 パスを再起動せずにPowerShell内からパスを再読み込みする方法はありますか?

4
PowerShellと-contains演算子
次のスニペットを考えてみましょう: "12-18" -Contains "-" これはと評価されると思いますtrueが、そうではありません。これはfalse代わりに評価されます。なぜこれが起こるのかはわかりませんが、実際に起こります。 これを回避するには、代わりにこれを使用できます。 "12-18".Contains("-") これで、式はtrueと評価されます。 最初のコードスニペットがそのように動作するのはなぜですか?-うまくいかない特別なものはあり-Containsますか?ドキュメントには、それについては何も言及していません。

2
PowerShellでコンソールに書き込む最良の方法
コンソールに出力(エコー)するさまざまな方法について少し混乱しています。コンソールに出力を書き込むには、次のような複数の方法があることがわかりました。 Write-Host "Hello world1" "Hello World2" Out-Host -InputObject "Hello World3" 3つの方法すべてがコンソールに出力されます。真ん中のものは何とかしてシンプルで冗長ではなく、使いやすいです。また、次のような関数を作成すると、 function GetValues() { "1" "2" } それでもパイプラインで2つの文字列を返します。 そして、私はまだ値を出力することができます: foreach ($s in GetValues) { Write-Host "s: " $s } 私が見つけたのは、引用符で囲まれた文字列だけを使用すると、カスタムホストに常に表示されるわけではなく、カスタムホストで印刷する値を取得するためにWrite-Hostを使用する必要があったということです。 どういうわけか私はこれを混乱させます。の"Print something"エイリアスになることになっていますWrite-Hostか、またはその意図は何ですか?
142 powershell 

7
永続的なPowerShellエイリアスを作成する方法
私が作りたいaliasのcmdlet私はPowerShellの現在のセッションを閉じた後に期限切れにならないことを、のは、私はこのエイリアスを持っているとしましょう: C:\Users\Aymen> New-Alias Goto Set-Location これは完全にGotoエイリアスを作成しますが、現在のセッションを閉じた後でも使用したいのですが、どうすればそれを実現できますか。 注意: PowerShellヘルプシステムは、作成したエイリアスをエクスポートし、次に新しいセッションを開いたときにインポートできることを示唆しています。実際、これは私が探しているものではありません。別のセッションで作成する
141 powershell 

4
PowerShellでオブジェクトを数える方法は?
PowerShellユーザーガイドで読んでいるように、PowerShellのコアコンセプトの1つは、コマンドが受け入れて返すということです。 がテキストではなくオブジェクトをです。たとえば、実行get-aliasすると、いくつかのSystem.Management.Automation.AliasInfoオブジェクトが返されます。 PS Z:\> get-alias CommandType名の定義 ----------- ---- ---------- エイリアス%ForEach-Object エイリアス?Where-Object Alias ac Add-Content エイリアスasnp Add-PSSnapIn Alias cat Get-Content Alias cd Set-Location Alias chdir Set-Location ... さて、どのように私は、これらのオブジェクトの数を取得するのですか?

19
.ps1ファイルをダブルクリックしてPowerShellスクリプトを機能させる方法はありますか?
私はチームにPowerShellスクリプトを配布しています。スクリプトは、VsphereクライアントからIPアドレスを取得し、mstsc接続を作成して、共有ファイルに記録します。 彼らがスクリプトを使用した瞬間、彼らはマシンのIPアドレスを知るようになりました。その後、PowerShellスクリプトを実行するのではなく、常に直接mstscを使用する傾向があります。(mstscを使用しているため、VMを頻繁に使用しているかどうかはわかりません。) 主に彼らは、PowerShellの実行は簡単ではないと私に言っています。 私は彼らの怠惰にうんざりしています。 .ps1ファイルをダブルクリックしてPowerShellスクリプトを機能させる方法はありますか?

11
Powershell ISE内の別のPS1スクリプトからPowerShellスクリプトPS1を呼び出す
Powershell ISE内の2番目のmyScript2.ps1スクリプト内のmyScript1.ps1スクリプトの呼び出し実行が必要です。 MyScript2.ps1内の次のコードは、Powershell管理からは正常に機能しますが、PowerShell ISE内では機能しません。 #Call myScript1 from myScript2 invoke-expression -Command .\myScript1.ps1 PowerShell ISEからMyScript2.ps1を実行すると、次のエラーが表示されます。 「。\ myScript1.ps1」という用語は、コマンドレット、関数、スクリプトファイル、または操作可能なプログラムの名前として認識されません。名前のスペルを確認するか、パスが含まれていた場合は、パスが正しいことを確認して、再試行してください。
138 powershell 


29
ユーザーがメンバーになっているすべてのグループを取得するにはどうすればよいですか?
PowerShellのGet-ADGroupMemberコマンドレットは、特定のグループのメンバーを返します。特定のユーザーがメンバーであるすべてのグループを取得するコマンドレットまたはプロパティはありますか? 私は私のミスを修正:Get-Memberする必要がありますGet-ADGroupMember。

5
PowerShellで出力を無視するより良い(よりクリーンな)方法は何ですか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 昨年休業。 この質問を改善する 何かを返すメソッドまたはコマンドレットがあるが、それを使用したくなく、出力したくないとします。私はこれらの2つの方法を見つけました: Add-Item > $null [void]Add-Item Add-Item | Out-Null あなたは何を使うのですか?より良い/よりクリーンなアプローチはどれですか?どうして?
134 powershell  null  void 

4
PowerShellで配列のすべてのオブジェクトの1つのプロパティの値を選択します
$ objectsというオブジェクトの配列があるとします。これらのオブジェクトに「名前」プロパティがあるとしましょう。 これが私がやりたいことです $results = @() $objects | %{ $results += $_.Name } これは機能しますが、より良い方法で実行できますか? 私が次のようなことをした場合: $results = objects | select Name $resultsNameプロパティを持つオブジェクトの配列です。$ resultsに名前の配列を含めたいです。 もっと良い方法はありますか?

24
PowerShellコマンドラインからWindowsバージョンを見つける方法
使用しているWindowsのバージョンを確認するにはどうすればよいですか? PowerShell 2.0を使用して試してみました。 PS C:\> ver The term 'ver' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify tha t the path is correct and try again. At line:1 char:4 + …

6
プロパティ名でオブジェクトのプロパティの値を取得するにはどうすればよいですか?
PowerShellでは、名前(文字列)を指定してオブジェクトのプロパティ値をどのように取得しますか?次のようなものが欲しい: $obj = get-something # View the object's members: $obj | gm # I could retrieve a property by doing so: write-host $obj.SomeProp # But for many purposes, I would really want to: write-host $obj | Get-PropertyByName "SomeProp" PowerShellの「Get-PropertyByName」に似たものはありますか?
132 powershell 

8
Visual Studioでsystem.management.automation.dllを参照する
PowerShellモデルとスナップインの開発を検討し始めています。最初に気付くのは、System.management.automation.dllを参照することです。ただし、Visual Studioでは、.NETタブにはそのアセンブリがなく、参照することもできません。 C:\windows\assembly\GAC_MSIL\System.Management.Automation\1.0.0.0__31bf3856ad364e35\System.Management.Automation.dll ファイルベースの参照を作成します。 簡単に参照できるようにファイルを手動でコピーする必要がありますか?

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