Yeni ve güncelleştirilmiş cmdlet'ler

Topluluktan gelen geri bildirimlere göre yeni ve güncelleştirilmiş cmdlet'ler ekledik.

Arşiv cmdlet'leri

İki yeni cmdlet ve Compress-Archive , ZIP dosyalarını sıkıştırma ve Expand-Archive genişletmenizi sağlar.

Daha fazla bilgi için Microsoft.Powershell.Archive modülü belgelerine bakın.

Katalog Cmdlet'leri

Microsoft.PowerShell.Security modülüne iki yeni cmdlet eklendi.

Bunlar, katalog Windows oluşturur ve doğrular.

Pano cmdlet’leri

Get-Clipboardve Set-Clipboard içeriği bir oturuma aktarmayı ve bu oturumdan Windows PowerShell kolaylaştırır. Pano cmdlet'leri görüntüleri, ses dosyalarını, dosya listelerini ve metni destekler.

Daha fazla bilgi için bkz.

Şifreleme İletisi Sözdizimi (CMS) cmdlet'leri

Şifreleme İletisi Söz Dizimi cmdlet'leri, RFC5652tarafından belgelenmiş şekilde iletileri şifrelemek için IETF standart biçimini kullanarak içeriğin şifrelerini ve şifrelerini çözmeyi destekler.

CMS şifreleme standardı, içeriği şifrelemek için kullanılan anahtarın (ortak anahtar) ve içeriğin şifresini çözmek için kullanılan anahtarın (özel anahtar) ayrı olduğu ortak anahtar şifrelemesini kullanır.

Ortak anahtarınız büyük ölçüde paylaşılır ve hassas veriler değildir. Ortak anahtarla şifrelenmiş tüm içeriğin şifresi yalnızca özel anahtar kullanılarak çözülebilirsiniz. Daha fazla bilgi için bkz. Ortak anahtar şifrelemesi.

Daha fazla bilgi için bkz.:

Sertifikalar, PowerShell'de veri şifreleme sertifikası olarak tanımlamak için 'Kod İmzalama' veya 'Şifrelenmiş Posta' gibi benzersiz bir anahtar kullanım tanımlayıcısı (EKU) gerektirir. Sertifika sağlayıcısında belge şifreleme sertifikalarını görüntülemek için DocumentEncryptionCert dinamik parametresini kullanabilirsiniz: Get-ChildItem

Get-ChildItem Cert:\CurrentUser -DocumentEncryptionCert -Recurse

Dize içeriğinden yapılandırılmış nesneleri ayıklama ve ayrıştırma

ConvertFrom-String

Yeni ConvertFrom-String cmdlet iki modu destekler:

  • Temel sınırlandırılmış ayrıştırma
  • Otomatik olarak oluşturulan örnek odaklı ayrıştırma

Sınırlandırılmış ayrıştırma varsayılan olarak girdiyi boşlukta böler ve sonuçta elde edilen gruplara özellik adları atar.

UpdateTemplate parametresi, öğrenme algoritmasının sonuçlarını şablon dosyasındaki bir açıklamaya kaydeder. Bu, öğrenme sürecini (en yavaş aşama) tek seferlik bir maliyet yapar. Kodlanmış ConvertFrom-String öğrenme algoritmasını içeren bir şablonla çalıştırma artık neredeyse anlık bir işlemdir.

Daha fazla bilgi için bkz. ConvertFrom-String.

Convert-String

Convert-String , metnin nasıl bir görünüme bakarak görmek istediğinize örnekler sağlamayı sağlar. cmdlet'i metninizi otomatik olarak biçimler.

Daha fazla bilgi için bkz. Convert-String.

FileInfo nesnesi güncelleştirmeleri

Dosya sürümü bilgileri, özellikle de dosyanın düzeltme eki ekli olduğu durumlarda yanıltıcı olabilir. WMF 5.0, FileInfo nesnelerine yeni FileVersionRaw ve ProductVersionRaw betik özellikleri ekler. powershell.exe için görüntülenen özellikler ($pid PowerShell işleminin kimliği olduğu varsaysak):

Get-Process -Id $pid -FileVersionInfo | Format-List *version*
FileVersionRaw    : 10.0.17763.1
ProductVersionRaw : 10.0.17763.1
FileVersion       : 10.0.17763.1 (WinBuild.160101.0800)
ProductVersion    : 10.0.17763.1

Format-Hex

Format-Hex , metin veya ikili verileri onaltılık biçimde görüntülemenizi sağlar.

Daha fazla bilgi için bkz. Format-Hex.

Get-ChildItem -Depth parametresine sahip

Get-ChildItem şimdi özyineleme sınırlamak için Recurse ile birlikte kullanmak üzere bir Derinlik parametresine sahip:

Sürüm aralıklarını (1.*, vb.) bildirim için modül desteği

Artık modülü belirli bir aralıkta içeri aktararak MinimumVersion ve MaximumVersion'i birleştirabilirsiniz. Parametreler joker karakterleri de destekler.

Import-Module psreadline -Verbose -MinimumVersion 1.0 -MaximumVersion 1.2.*
VERBOSE: Loading module from path 'C:\Program Files\WindowsPowerShell\Modules\psreadline\1.1\psreadline.psd1'.
VERBOSE: Importing cmdlet 'Get-PSReadlineKeyHandler'.
VERBOSE: Importing cmdlet 'Get-PSReadlineOption'.
VERBOSE: Importing cmdlet 'Remove-PSReadlineKeyHandler'.
VERBOSE: Importing cmdlet 'Set-PSReadlineKeyHandler'.
VERBOSE: Importing cmdlet 'Set-PSReadlineOption'.
VERBOSE: Importing function 'PSConsoleHostReadline'.

New-Guid

Benzersiz tanımlayıcıya sahip olmak için gereken birçok senaryo vardır. New-GUIDcmdlet'i yeni BIR GUID oluşturmak için basit bir yol sağlar.

New-Guid
Guid
----
e19d6ea5-3cc2-4db9-8095-0cdaed5a703d

NoNewLine parametresi

Out-File, ve artık çıktıdan sonra yeni bir satır Add-Content Set-Content atan yeni bir NoNewline anahtarına sahip. Örnek:

"This is " | Out-File -FilePath Example.txt -NoNewline
"a single " | Add-Content -Path Example.txt -NoNewline
"sentence." | Add-Content -Path Example.txt -NoNewline
Get-Content .\Example.txt
This is a single sentence.

NoNewline belirtilmezse her parça ayrı bir satırda olur:

"This is " | Out-File -FilePath Example.txt
"a single " | Add-Content -Path Example.txt
"sentence." | Add-Content -Path Example.txt
Get-Content .\Example.txt
This is
a single
sentence.

Item cmdlet'i ve ilgili birkaç cmdlet sembolik bağlantıları destekleyecek şekilde genişletilmiştir.

Bu örnekte, C:\Temp dizininde $MySymLinkFile.txt bağlantısı olan MySymLinkFile.txt adlı yeni bir sembolik bağlantıpshome\profile.ps1. Üç örnek de aynı sonucu üretir.

New-Item -ItemType SymbolicLink -Path C:\Temp -Name MySymLinkFile.txt -Value $pshome\profile.ps1
New-Item -ItemType SymbolicLink -Path C:\Temp\MySymLinkFile.txt -Value $pshome\profile.ps1
New-Item -ItemType SymbolicLink -Name C:\Temp\MySymLinkFile.txt -Value $pshome\profile.ps1

Bu örnekte, C:\Temp dizininde MySymLinkDir adlı yeni bir sembolik bağlantı dizini $pshome oluşturuz. Üç örnek de aynı sonucu üretir.

New-Item -ItemType SymbolicLink -Path C:\Temp -Name MySymLinkDir -Value $pshome
New-Item -ItemType SymbolicLink -Path C:\Temp\MySymLinkDir -Value $pshome
New-Item -ItemType SymbolicLink -Name C:\Temp\MySymLinkDir -Value $pshome

Yukarıda açıklandığı gibi Yol ve Ad birleşimlerinin aynılarına izin verilir.

New-Item -ItemType HardLink -Path C:\Temp -Name MyHardLinkFile.txt -Value $pshome\profile.ps1

Dizin birleşimleri

Yukarıda açıklandığı gibi Yol ve Ad birleşimlerinin aynılarına izin verilir.

New-Item -ItemType Junction -Path C:\Temp\MyJunctionDir -Value $pshome

Get-ChildItem

Get-ChildItem şimdi Mode özelliğinde sembolik bağlantı dosyasını veya dizinini belirtmek için bir 'l' görüntüler.

Get-ChildItem C:\Temp | sort LastWriteTime -Descending

Directory: C:\Temp

Mode       LastWriteTime Length Name
----       ------------- ------ ----
-a---- 6/13/2014 3:00 PM     16 File.txt
d----- 6/13/2014 3:00 PM        Directory
-a---l 6/13/2014 3:21 PM      0 MySymLinkFile.txt
d----l 6/13/2014 3:22 PM        MySymLinkDir
-a---l 6/13/2014 3:23 PM  23304 MyHardLinkFile.txt
d----l 6/13/2014 3:24 PM        MyJunctionDir

Remove-Item

Sembolik bağlantıların kaldırılması, diğer öğe türlerini kaldırmaya benzer.

Remove-Item C:\Temp\MySymLinkFile.txt
Remove-Item C:\Temp\MySymLinkDir

Hedef dizinde ve sembolik bağlantıda dosyaları kaldırmak için Force parametresini kullanın.

Remove-Item C:\Temp\MySymLinkDir -Force

New-TemporaryFile

Bazen betiklerde geçici bir dosya oluşturmanız gerekir. Artık bunu New-TemporaryFile cmdlet'iyle de yapabiliriz:

$tempFile = New-TemporaryFile
$tempFile.FullName
C:\Users\user1\AppData\Local\Temp\tmp375.tmp

PowerShell ile Ağ Anahtarı Yönetimi

WMF 5.0'da tanıtılan Ağ Anahtarı cmdlet'leri, anahtar, sanal LAN (VLAN) ve temel Katman 2 ağ anahtar bağlantı noktası yapılandırmasını Windows Server 2012 R2 logo sertifikalı ağ anahtarlarına uygulamana olanak sağlar. Bu cmdlet'leri kullanarak şunları gerçekleştirin:

  • Genel anahtar yapılandırması, örneğin:

    • Konak adını ayarlama
    • Anahtar başlığı ayarlama
    • Yapılandırmayı kalıcı olarak yapılandırma
    • Özelliği etkinleştirme veya devre dışı bırakma
  • VLAN yapılandırması:

    • VLAN oluşturma veya kaldırma
    • VLAN'ı etkinleştirme veya devre dışı bırakma
    • VLAN'ı numaralandır
    • Kolay adı VLAN olarak ayarlama
  • Katman 2 bağlantı noktası yapılandırması:

    • Bağlantı noktalarını numarala
    • Bağlantı noktalarını etkinleştirme veya devre dışı bırakma
    • Bağlantı noktası modlarını ve özelliklerini ayarlama
    • Bağlantı noktası üzerinde Gövde veya Erişim için VLAN ekleme veya ilişkilendirme

Daha fazla bilgi için NetworkSwitchManager belgelerine bakın.

ODataUtils ile bir OData uç noktasını temel alan PowerShell cmdlet'leri oluşturma

ODataUtils modülü, OData'yı destekleyen REST uç noktalarından PowerShell cmdlet'lerinin üretimine olanak sağlar. Microsoft.PowerShell.ODataUtils modülü aşağıdaki özellikleri içerir:

  • Ek bilgileri sunucu tarafı uç noktadan istemci tarafına kanalla kanala girin.
  • İstemci tarafı disk belleği desteği
  • -Select parametresini kullanarak sunucu tarafı filtreleme
  • Web isteği üst bilgileri desteği

cmdlet'i tarafından oluşturulan proxy cmdlet'leri, Bilgi akışında sunucu tarafı Export-ODataEndPointProxy OData uç noktasına ilişkin ek bilgiler sağlar.

Import-Module Microsoft.PowerShell.ODataUtils -Force
$generatedProxyModuleDir = Join-Path -Path $env:SystemDrive -ChildPath 'ODataDemoProxy'
$uri = "http://services.odata.org/V3/(S(fhleiief23wrm5a5nhf542q5))/OData/OData.svc/"
Export-ODataEndpointProxy -Uri $uri -OutputModule $generatedProxyModuleDir -Force -AllowUnSecureConnection -Verbose -AllowClobber

Aşağıdaki örnekte, en iyi ürünü alıcaz ve değişkende çıktıyı $infoStream yakalarız.

IncludeTotalResponseCount parametresini belirterek, sunucudaki kullanılabilir tüm Product kayıtlarının toplam sayısını alız.

Import-Module $generatedProxyModuleDir -Force
$product = Get-Product -Top 1 -AllowUnsecureConnection -AllowAdditionalData -IncludeTotalResponseCount -InformationVariable infoStream
$additionalInfo = $infoStream.GetEnumerator() | % MessageData
$additionalInfo['odata.count']

İstemci tarafı disk belleği desteğini kullanarak kayıtları sunucudan toplu olarak eldeabilirsiniz. Bu, ağ üzerinden sunucudan büyük miktarda veri alasanız yararlı olur.

$skipCount = 0
$batchSize = 3
while($skipCount -le $additionalInfo['odata.count'])
{
  Get-Product -AllowUnsecureConnection -AllowAdditionalData -Top $batchSize -Skip $skipCount
  $skipCount += $batchSize
}

Oluşturulan proxy cmdlet'leri, yalnızca istemcinin ihtiyacı olan kayıt özelliklerini almak için filtre olarak kullanılan Select parametresini destekler. Filtreleme sunucuda gerçekleşir ve bu da ağ üzerinden aktarılan veri miktarını azaltır.

Get-Product -Top 2 -AllowUnsecureConnection -AllowAdditionalData -Select Name

Export-ODataEndpointProxyCmdlet ve tarafından oluşturulan proxy cmdlet'leri artık Headers parametresini desteklemektedir. Üst bilgi, OData uç noktası tarafından beklenen ek bilgileri kanala almak için kullanılabilir.

Aşağıdaki örnekte, Headers parametresine Abonelik anahtarı içeren bir karma tablo sağlanmıştır. Bu, kimlik doğrulaması için Abonelik anahtarı bekleyen hizmetler için tipik bir örnektir.

Export-ODataEndpointProxy -Uri $endPointUri -OutputModule $generatedProxyModuleDir -Force -AllowUnSecureConnection -Verbose -Headers @{'subscription-key'='XXXX'}