2014-06-10 25 views
2

我有一種感覺,這是一個非常簡單的修復方法,但每當我嘗試使用右鍵單擊粘貼到PowerShell時,它都會自動執行所嘗試的任何操作粘貼。該功能是根據使用AD的輸入查找計算機名稱,然後複製計算機名稱以用於其他功能。下面是隻有做複製的部分代碼:如何在PowerShell中粘貼輸入時不自動執行

$strComputer = $output.Name 
    $strComputer | clip | Out-Null 

所以,當我用鼠標右鍵單擊粘貼,它執行任何$ strComputer的等於,顯然引發錯誤。謝謝!

+0

你能顯示錯誤嗎?剪輯命令在做什麼?我只是在本地嘗試過(儘管我沒有在這裏訪問AD,所以沒有完整的測試),我不能重現你的意思。 –

回答

2

與粘貼的東西進入的PowerShell(和clip.exe就是很好的例子)的問題是事實,(使用好像是會在末尾添加換行,並clip.exe)任何新行會觸發同樣的反應,你迫切的進入會。

有它周圍至少有兩種方法:

  • 粘貼不換行(如使用[System.Windows.Clipboard]::SetText($output.Name)
  • ,如果你是V3 - 使用PSReadLine模塊和CTRL + V

對於第一個 - 確保首先運行Add-Type -AssemblyName PresentationCore - 此組件僅在PowerShell ISE中默認加載。如果你使用v3 +,儘管我真的會推薦給PSReadLine一個嘗試。

+1

如果您使用的是PSCX,您可以使用'$ strComputer | Set-Clipboard',而不是'Out-Clipboard',它附加換行符。 –

0

或者,您可以使用ISE,您可以將其粘貼到腳本窗格(上半部分)中,然後進行編輯,直到其按需顯示,然後在需要時運行。

相關問題