如何使用Snap-Ins从Windows资源管理器启动PowerShell

时间:2012-07-30 14:24:46

标签: powershell registry windows-explorer tfs-power-tools

This question解答了如何从Windows资源管理器启动PowerShell。

我希望在预装了TFS Shell Snap-In的情况下从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控制台链接的“目标”框:

Enter image description here


更新

Chris N让我朝着正确的方向前进。

我必须做一些事情才能让它发挥作用,所以我会把它们放在这里:

Create and register the following registry file(* .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
}

如果我从Windows菜单中的链接加载IF statement prevents an error

然后,将该文件保存为:

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

这将使命令在Windows上运行所有shell和所有配置文件;如果您需要更小的范围,请阅读Chris的答案中的链接。

1 个答案:

答案 0 :(得分:2)

阅读PowerShell配置文件中的精彩文章 Windows PowerShell Profiles 。根据您设置的配置文件,您可以影响该计算机上PowerShell的任何启动实例。

应该可以从以下脚本加载快照(以影响所有用户和所有shell):

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