2012-02-20 12 views
5

Tôi không phải là lập trình viên/người viết. Tôi chỉ cần nhận tập lệnh sau để ghi vào một tệp:

[CmdletBinding()] 
param() 

# Create a web client object 
$webClient = New-Object System.Net.WebClient 


# Returns the public IP address 
$webClient.DownloadString('http://myip.dnsomatic.com/') 

Tôi đã thử out-file và export-csv nhưng nó viết một tệp trống. Tôi chắc chắn nó là một cái gì đó đơn giản ... nhưng không có kiến ​​thức làm cho nó khó khăn cho tôi.

Trả lời

7

Lệnh ghép ngắn bổ sung nên làm những gì bạn muốn.

Giả sử $webClient.DownloadString('http://myip.dnsomatic.com/') trả về một chuỗi, hãy thử:

add-content -path <filename> -value$webClient.DownloadString('http://myip.dnsomatic.com/') 

tham khảo: http://technet.microsoft.com/en-us/library/dd347594.aspx

+0

TRÌNH! Cảm ơn bạn! – pace

+0

Không sao cả. Nếu điều này giúp bạn có thể làm cho câu trả lời được chấp nhận. – Arcass

+0

Tôi gặp lỗi, có lẽ không gian cần thiết giữa $ webclient và -value? EDIT: Aah sai lầm của tôi, không quên bao gồm $ webClient = New-Object System.Net.WebClient – user230910

7

Bạn cũng có thể sử dụng phương pháp DownloadFile:

$webClient.DownloadFile('http://myip.dnsomatic.com/', 'c:\ip.txt') 
0
$PublicIP="C:\PublicIP.txt" 

$WebClient=New-Object net.webclient 

$String=$WebClient.DownloadString("http://checkip.dyndns.com") -replace "[^\d\.]" 

If (Test-Path $PublicIP) { 

    Remove-Item $PublicIP 
} 

New-Item $PublicIP -type file 

Add-Content -Path $PublicIP -Value $String