Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
PowerShell, veri çıkışını doğrudan denetlemenize olanak sağlayan çeşitli cmdlet'ler sağlar. Bu cmdlet'ler iki önemli özelliği paylaşır.
İlk olarak, verileri genellikle bir metin biçimine dönüştürürler. Bunun nedeni, verilerin metin girişi gerektiren sistem bileşenlerine çıkışıdır. Bu, nesneleri metin olarak temsil etmeleri gerektiği anlamına gelir. Bu nedenle, metin PowerShell konsol penceresinde gördüğünüz şekilde biçimlendirilir.
İkincisi, bu cmdlet'ler PowerShell'den başka bir yere bilgi gönderdiğinden PowerShell Out fiilini kullanır.
Konsol çıktısı
Varsayılan olarak PowerShell, tam olarak Out-Host cmdlet'in yaptığı gibi veriyi konak penceresine gönderir.
Out-Host cmdlet'inin birincil kullanımı sayfalamadır. Örneğin, aşağıdaki komut Out-Host kullanarak Get-Command cmdlet'inin çıktısını sayfalar:
Get-Command | Out-Host -Paging
Ana ortam pencere görüntüsü PowerShell'in dışındadır. Veriler PowerShell'in dışına gönderildiğinde aslında kaldırıldığı için bu önemlidir. Verileri konak penceresine sayfalayan bir işlem hattı oluşturmayı ve ardından burada gösterildiği gibi liste olarak biçimlendirmeyi denerseniz bunu görebilirsiniz:
Get-Process | Out-Host -Paging | Format-List
komutunun işlem bilgileri sayfalarını liste biçiminde görüntülemesini bekleyebilirsiniz. Bunun yerine, varsayılan tablosal listeyi görüntüler:
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
101 5 1076 3316 32 0.05 2888 alg
...
618 18 39348 51108 143 211.20 740 explorer
257 8 9752 16828 79 3.02 2560 explorer
...
<SPACE> next page; <CR> next line; Q quit
...
Out-Host Cmdlet verileri doğrudan konsola gönderir, böylece Format-List komut hiçbir zaman biçimlendirecek bir şey almaz.
Bu komutu yapılandırmanın doğru yolu, cmdlet'i Out-Host aşağıda gösterildiği gibi işlem hattının sonuna yerleştirmektir. Bu, işlem verilerinin sayfalandırılıp görüntülenmeden önce listede biçimlendirilmesine neden olur.
Get-Process | Format-List | Out-Host -Paging
Id : 2888
Handles : 101
CPU : 0.046875
Name : alg
...
Id : 740
Handles : 612
CPU : 211.703125
Name : explorer
Id : 2560
Handles : 257
CPU : 3.015625
Name : explorer
...
<SPACE> next page; <CR> next line; Q quit
...
Bu, tüm Out cmdlet'leri için geçerlidir. Bir Out cmdlet'i her zaman işlem hattının sonunda yer almalıdır.
Uyarı
Tüm Out cmdlet'leri, satır uzunluğu sınırları da dahil olmak üzere konsol penceresi için geçerli olan biçimlendirmeyi kullanarak çıktıyı metin olarak işler.
Çıkışı iptal et
Out-Null Cmdlet, aldığı tüm girişleri hemen atacak şekilde tasarlanmıştır. Bu, komut çalıştırmanın yan etkisi olarak elde ettiğiniz gereksiz verileri atmak için kullanışlıdır. Aşağıdaki komutu yazdığınızda, komuttan hiçbir şey geri alamazsınız:
Get-Command | Out-Null
Out-Null cmdlet hata çıkışını yok saymıyor. Örneğin, aşağıdaki komutu girerseniz, PowerShell'in öğesini tanımadığını Is-NotACommandbildiren bir ileti görüntülenir:
PS> Get-Command Is-NotACommand | Out-Null
Get-Command : 'Is-NotACommand' isn't recognized as a cmdlet, function, operable program, or script file.
At line:1 char:12
+ Get-Command <<<< Is-NotACommand | Out-Null
Verileri yazdırma
Out-Printeryalnızca Windows platformlarında kullanılabilir.
Cmdlet'ini Out-Printer kullanarak verileri yazdırabilirsiniz. Yazıcı Out-Printer adı sağlamazsanız cmdlet varsayılan yazıcınızı kullanır. Windows tabanlı herhangi bir yazıcıyı, görünen adını belirterek kullanabilirsiniz. Herhangi bir tür yazıcı bağlantı noktası eşlemesine veya hatta gerçek bir fiziksel yazıcıya gerek yoktur.
Örneğin, Microsoft Office belge görüntüleme araçları yüklüyse, şunu yazarak verileri bir görüntü dosyasına gönderebilirsiniz:
Get-Command -Name Get-* | Out-Printer -Name 'Microsoft Office Document Image Writer'
Verileri kaydetme
Cmdlet'ini kullanarak çıktıyı konsol penceresi yerine bir dosyaya Out-File gönderebilirsiniz. Aşağıdaki komut satırı dosyaya C:\temp\processlist.txtbir işlem listesi gönderir:
Get-Process | Out-File -FilePath C:\temp\processlist.txt
Geleneksel çıkış yeniden yönlendirmesine Out-File alışkınsanız cmdlet'i kullanmanın sonuçları beklediğiniz gibi olmayabilir. Davranışını anlamak için cmdlet'in çalıştığı bağlamı Out-File bilmeniz gerekir.
Windows PowerShell 5.1'de Out-File , cmdlet bir Unicode dosyası oluşturur. ASCII dosyaları bekleyen bazı araçlar, varsayılan çıkış biçimiyle düzgün çalışmaz.
Kodlama parametresini kullanarak varsayılan çıkış biçimini ASCII olarak değiştirebilirsiniz:
Get-Process | Out-File -FilePath C:\temp\processlist.txt -Encoding ascii
Out-File dosya içeriğini konsol çıkışı gibi görünecek şekilde biçimlendirin. Bu, çoğu durumda bir konsol penceresinde olduğu gibi çıkışın kesilmesine neden olur. Örneğin, aşağıdaki komutu çalıştırırsanız:
Get-Command | Out-File -FilePath C:\temp\output.txt
Çıkış şöyle görünür:
CommandType Name Definition
----------- ---- ----------
Cmdlet Add-Content Add-Content [-Path] <String[...
Cmdlet Add-History Add-History [[-InputObject] ...
...
Çizgi kaydırmalarını ekran genişliğiyle eşleşmeye zorlamayan bir çıktı almak için , Genişlik parametresini kullanarak çizgi genişliğini belirtebilirsiniz. Width bir 32 bit tamsayı parametresi olduğundan, sahip olabileceği en büyük değer 2147483647. Çizgi genişliğini bu en yüksek değere ayarlamak için aşağıdakileri yazın:
Get-Command | Out-File -FilePath C:\temp\output.txt -Width 2147483647
Cmdlet Out-File en çok çıkışı konsolda görüntülendiği gibi kaydetmek istediğinizde kullanışlıdır.
PowerShell