1

この質問では、Windows エクスプローラーから PowerShell を起動する方法について回答します。

TFS シェル スナップインがプリロードされた Windows エクスプローラーから PowerShell を起動したいと考えています。

このコマンド**でバッチ ファイル ( RunPowerShell.bat ) を作成し、 System32ディレクトリに配置しました。

C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -PSConsoleFile "C:\Program Files (x86)\Microsoft Team Foundation Server 2010 Power Tools\tfshell.psc1" -noexit -command ". 'C:\Program Files (x86)\Microsoft Team Foundation Server 2010 Power Tools\TFSS

これは機能しますが、Windows エクスプローラーのアドレス バーに「PowerShell」と入力するだけで実行したいと考えています。

「PowerShell」と入力するだけで、このスナップインを Windows エクスプローラーから読み込むことはできますか?

**上記のコマンドは、メニュー オプションの PowerShell コンソール リンクの [ターゲット] ボックスからのものです。

ここに画像の説明を入力してください


アップデート

Chris N は私を正しい方向に導きました。

それを機能させるためにいくつかのことをしなければならなかったので、ここにそれらを置きます:

次のレジストリ ファイル(*.reg) を作成して登録し、PowerShell が TFS PowerShell DLL ファイルを認識できるようにします。

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellSnapIns\Microsoft.TeamFoundation.PowerShell]
"PowerShellVersion"="2.0"
"Vendor"="Microsoft Corporation"
"Description"="This is a PowerShell snap-in that includes the Team Foundation Server cmdlets."
"VendorIndirect"="Microsoft.TeamFoundation.PowerShell,Microsoft"
"DescriptionIndirect"="Microsoft.TeamFoundation.PowerShell,This is a PowerShell snap-in that includes the Team Foundation Server cmdlets."
"Version"="10.0.0.0"
"ApplicationBase"="C:\\Program Files (x86)\\Microsoft Team Foundation Server 2010 Power Tools"
"AssemblyName"="Microsoft.TeamFoundation.PowerTools.PowerShell, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
"ModuleName"="C:\\Program Files (x86)\\Microsoft Team Foundation Server 2010 Power Tools\\Microsoft.TeamFoundation.PowerTools.PowerShell.dll"
"CustomPSSnapInType"="Microsoft.TeamFoundation.PowerTools.PowerShell.TFPSSnapIn"

メモ帳で、次のコマンドを使用して新しいファイルを作成します。

if ( (Get-PSSnapin -Name Microsoft.TeamFoundation.PowerShell -ErrorAction SilentlyContinue) -eq $null )
{
    Add-PsSnapin Microsoft.TeamFoundation.PowerShell
}

IF ステートメントは、Windows メニューのリンクからロードした場合のエラーを防ぎます。

次に、そのファイルを次のように保存します。

%windir%\system32\WindowsPowerShell\v1.0\profile.ps1

これにより、Windows 上のすべてのシェルとすべてのプロファイルに対してコマンドが実行されます。より小さなスコープが必要な場合は、クリスの回答のリンクを読んでください。

4

1 に答える 1

2

Read the great article Windows PowerShell Profiles on PowerShell profiles. Depending on the profile you setup, you can affect any instance started of PowerShell on that machine.

It should work to load the snap in from the following script (to affect ALL users and ALL shells):

%windir%\system32\WindowsPowerShell\v1.0\profile.ps1
于 2012-07-30T14:32:52.687 に答える