2012-11-02 42 views

Trả lời

18

Bạn có thể làm:

if ($host.name -eq 'ConsoleHost') # or -notmatch 'ISE' 
{ 
    .. do something .. 
} 
else 
{ 
    .. do something else.. 
} 
3

Một lựa chọn khác ...

Try { 
    Start-Transcript -Path <somepath> | Out-Null 
} 

Catch [System.Management.Automation.PSNotSupportedException] { 
    # The current PowerShell Host doesn't support transcribing 
} 
9

biết điều này đã hỏi nhiều thời gian trước đây, và đã được đánh dấu là đã trả lời, nhưng một trong những cách hơn:

function Test-IsISE { 
# try...catch accounts for: 
# Set-StrictMode -Version latest 
    try {  
     return $psISE -ne $null; 
    } 
    catch { 
     return $false; 
    } 
} 

$ psISE có sẵn trong ISE:

http://technet.microsoft.com/en-us/library/dd819500.aspx

0

Dưới đây là một phương pháp mà trông cho sự tồn tại của $psISE không ngoại lệ tạo:

if (Test-Path variable:global:psISE) 
{ 
... 
} 
Các vấn đề liên quan