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.
Geliştirilmiş Öğe cmdlet'lerini kullanarak Sembolik bağlantılarla etkileşim kurma
Item cmdlet'i ve ilgili birkaç cmdlet sembolik bağlantıları destekleyecek şekilde genişletilmiştir.
Sembolik bağlantı dosyaları
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
Sembolik bağlantı dizinleri
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
Sabit bağlantılar
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'}