Tag Archives: powershell

Powershell ile Pil Bilgisini Çekme

Aşağıdaki powershell betiği ile taşınabilir bilgisayarınızın pil kapasitesi hakkında bilgi alabilirsiniz. Pilin aşınma bilgisini ve pil değiştirme zamanı gibi bilgiler edinilebilir.

$designCap = Get-WmiObject -Class “BatteryStaticData” -Namespace “ROOT\WMI” |
Group-Object -Property InstanceName -AsHashTable -AsString
Get-CimInstance -Class “BatteryFullChargedCapacity” -Namespace “ROOT\WMI” |
Select-Object -Property InstanceName, FullChargedCapacity, DesignedCapacity, Percent |
ForEach-Object {
$_.DesignedCapacity = $designCap[$_.InstanceName].DesignedCapacity
$_.Percent = [Math]::Round( ( $_.FullChargedCapacity*100/$_.DesignedCapacity),2)
$_ }

XML Biçimindeki Dosyaların Powershell ile Okunması

Powershell gibi güçlü bir araç ile XML dosyalarında yer alan verileri rahatlıkla okuyabilir ve ayrıştırabilirsiniz.

 XML biçimindeki dosyalardan powershell ile veri çekmek oldukça kolay fakat birkaç önemli püf noktasını bilmek gerekmektedir.

İlk olarak XML dosyamızı aşağıdaki komut ile bir değişkene atıyoruz.

  [xml]$Xmlsunucu= Get-Content -Path ‘C:\sunucular\dc.xml’

Dosyamızın mutlaka XML uzantısı olmasına gerek yoktur. XML uyumlu farklı uzantılı bir dosya hatta yapılandırma dosyaları (config) da olabilmektedir.

Sıra işin püf noktasına geliyor.

XML dosyasında yer alan satırlardaki başlık kısımlarını kullanarak verileri çekmeniz gerekmektedir.

<config>

  TEST

</config>

Yukardaki örnekte yer alan bir satırdan veri çekmek için şu komut verilmelidir:

$xml.config

Benim kullandığım XML dosyası;

<Sunucular>

            <DC>

                        <Name>DC1</Name>

                        <Ip>10.0.0.1</Ip>

            </DC>

            <DC>

                        <Name>DC2</Name>

                        <Ip>10.0.0.2</Ip>

            </DC>

            <DC>

                        <Name>DC3</Name>

                        <Ip>10.0.0.3</Ip>

            </DC>

</Sunucular>

Sunucular ve DC olarak iki başlık olduğundan aşağıdaki komutu veriyorum:

$xmlsunucu.sunucular.dc

XML dosyasında yer alan ve verileri çekmek istediğiniz başlıkları komutta sıra ile belirtmeniz gerekmektedir.

En son komutu geliştirip özelleştirme de yapabilirsiniz.

   $xmlsunucu.sunucular.dc | where-object {$_.name -eq  ‘DC1’}  

Powershell ile Public IP Adresleri Hakkında Bilgi Toplamak

Public IP adresiniz ve lokasyon bilgisiniz çekmek için aşağıdaki komutu kullanabilirsiniz.
Invoke-RestMethod -Uri ‘ipinfo.io/json’

Farklı bir IP adresi hakkında bilgi almak için de kullanılabilir.
Invoke-RestMethod -Uri ‘http://ipinfo.io/Ipadresi/json’

Bilgisayarınızdaki hangi uygulamanın hangi port üzerinden internete eriştiğini öğrenmek için aşağıdaki scripti kullanılabilirsiniz. Örnekteki script için 443 portu kullanılmıştır. Farklı bir port girebilirsiniz.

PowerShell Web Access

Sunucu ve istemcilerde yer alan powershell aracı ile rahatlıkla yönetim yapabiliyoruz.

Uzaktan yönetim de sağlayan powershell aracı Windows işletim sistemi dışında da yönetim yapabilmek için Powershell Web Access rolüne ihtiyaç duyuyor.

PWA rolü web ara yüzünde powershell aracını çalıştırmamızı ve  sunuculara ya da istemcilere bağlanıp yönetim yapabilmemizi sağlıyor. Bu sayede mobile cihazlardan da yönetim sağlanabiliyor.

Desteklenen tarayıcılar:

  • Windows® Internet Explorer® for Microsoft Windows® 8.0, 9.0, 10.0, and 11.0
  • Mozilla Firefox® 10.0.2
  • Google Chrome™ 17.0.963.56m for Windows
  • Apple Safari® 5.1.2 for Windows
  • Apple Safari 5.1.2 for Mac OS®

 

Mobile tarayıcılar:

  • Windows Phone 7 and 7.5
  • Google Android WebKit 3.1 Browser Android 2.2.1 (Kernel 2.6)
  • Apple Safari for iPhone operating system 5.0.1
  • Apple Safari for iPad 2 operating system 5.0.1

 

 

PWA rolü Windows Server 2012, Windows Server 2012 R2 ve Windows Server 2016 sunucularına kurulabiliyor. Bu sunuculara rolü kurup sertifika ayarı yaptıktan sonra hangi kullanıcı ya da kullanıcıların hangi sunucu ya da sunuculara bağlanabileceğini belirliyoruz.

Active Directory de Powershell ile Kullanıcı Sayılarını Görme

Powershell aracını kullanarak Active Directory yapınızda kaç adet kullanıcınız var, bu kullanıcıların kaçı aktif durumda kaçı pasif durumda ve hangi OU nun altında kaç kullanıcı var gibi bilgileri rahatlıkla görebilirsiniz.

 

Toplam kullanıcı sayısı:

(get-aduser –filter ).count

 

Aktif kullanıcı sayısı:

(get-aduser -filter *|where {$_.enabled -eq “True”}).count

 

Aktif olmayan kullanıcı sayısı:

(get-aduser -filter *|where {$_.enabled -eq “False”}).count

 

Belirli bir OU altındaki kullanıcı sayısı:

(Get-ADUser -Filter * -SearchBase “ou=ankara,dc=ortacdemirel,dc=com”).count

Powershell ile Ağ Yönetimi

Powershell komutları ile temel seviyede bilgisayarınızdan ağ yapılandırılması ve kullanımı hakkında bilgi alabilirsiniz.

Temel seviyede bilgi çekebileceğiniz komutlar çok kullandığımız ipconfig, netsh, nslookup gibi komutların yerine geçmektedir.

IP adresi yapılandırılmasını görmek için (ipconfig yerine)

Get-NetIPConfiguration

 

Tüm ağ kartlarını listemek için:

Get-NetAdapter

PowerShell ile Active Directory Entegrasyonu

Powershell, Microsoftun 2008 server ile birlikte kullanıma sunduğu güçlü bir komut satırı aracıdır. Tamamiyle wmi script ile uyumlu çalışabilmekte ve eskiden satırlarca yazdığımız kodları tek satıra indirgeyebilen oldukça güçlü bir araçtır.

Active Directory ile çok başarılı bir entegrasyonu bulunmaktadır PowerShell in. Powershell komutları ile active directory nesneleri rahatlıkla yönetilebilirken yüzlerce hatta binlerce kullanıcılı ortamlarda sistem adminlerinin tek satırlık komut ile tüm active directory kullanıcı ayarlarına hükmetmesini sağlamaktadır.

 

Continue reading