Yeni PowerShell sürümleri açıkça yeni özellikler ve yeni cmdlet'ler ile gelecek. Bu, farklı sürümleri kurulu olan sistemler arasında yerel olarak çalıştırılabilen komut dosyaları veya PowerShell adımlarını yazarken dikkate alınması gereken önemli bir şeydir.
Basit bir örnek Get-FileHash
. Bu komut PowerShell 4.0 için yenidir ve daha önceki bir sürümü çalıştıran hiçbir sistemde kullanılamaz. PowerShell 4.0 bu sistemlerde hiç desteklenmediğinden, özellikle Windows 7 SP0 (veya Server 2008 R2 SP0) çalıştıran sistemlerde kullanılamaz.
Bununla birlikte, verilen PowerShell sürümünü destekleyen basit bir konunun yanı sıra, İşletim Sistemi sürümünün kurulu olduğu konusunda daha da fazla dikkat edilmesi gerekmektedir. Örneğin, Test-NetConnection
PowerShell'in hangi sürümünün önceki herhangi bir İşletim Sistemini çalıştıran bir sistemde yüklü olduğuna bakılmaksızın, yalnızca (şu anda) Windows 8.1 (veya Server 2012 R2) için geçerlidir.
Bunların hepsi yerel sistemde PowerShell komutlarını çalıştıracak komut dosyaları veya kılavuzlar için oldukça basittir - eğer yerel sistemde İşletim Sistemi sürüm A ve PowerShell sürüm B varsa, PS A ile desteklenen tüm komutları kullanabilirsiniz (ve yalnızca kullanabilirsiniz) B. Bununla birlikte, bir komut dosyasının farklı bir İşletim Sistemi veya PowerShell sürümü çalıştıran uzak bir bilgisayara yönelik olduğu durumlar için çok basit veya net görünmüyor.
Peki, farklı PowerShell sürümleri uzak bilgisayarlara karşı çalıştırılan komutları nasıl etkiler?
- Yerel sistem daha yüksek bir sürüm kullanıyorsa, daha yeni komutlar / özellikler uzaktaki sisteme karşı kullanılabilecek mi?
- Uzak sistem daha yüksek bir sürüm kullanıyorsa, yerel sistem desteklemediğinde, yeni komutlardan / özelliklerden yararlanmanın kolay (ve yazılabilir) bir yolu var mı?
- Hangi uyumluluk sorunlarının beklenebileceğini bilmek için akılda tutulması gereken genel kurallar var mı, yoksa bu çok çeşitli olan ve kullanılan her komut veya özellik için ayrı ayrı araştırılmalı / test edilmeli mi?
-Computer
yerel konsoldan parametre?