Author Archives: Ortaç Demirel

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)
$_ }

Windows 10’dan Windows 11’e Yükseltme. UEFI, Secure boot ve GPT

Windows 10 işletim sistemi kullanıyorsanız eğer Microsoft en yeni işletim sistemi olan Windows 11’e geçiş için yerinde yükseltme desteği vermektedir. Yani Windows 10 işletim sistemine Windows 11 medyasını takıp direkt olarak geçiş yapmanıza olanak sağlanmaktadır. Dosyalarınız, ayarlarınız ve desteklenen uygulamalarda aynen kalacaktır.

Fakat bu yükseltme işlemi bir takım ön gereksinimlere bağlı. Bu ön gereksinimler temiz bir Windows 11 kurulumu için de gereklidir.

Ön gereksinimlerin en önemlileri bios üzerinden aktif ettiğimiz UEFI ve secure boot ile donanım bazlı güvenlik sağlayan TPM 2.0.

Ön gereksinimler için aşağıdaki bağlantıdan faydalanabilirsiniz.

https://www.microsoft.com/en-us/windows/windows-11-specifications

TPM 2.0’ı aktif etmek için:

https://support.microsoft.com/en-us/windows/enable-tpm-2-0-on-your-pc-1fd5a332-360d-4f46-a1e7-ae6b0c90645c

UEFI, secure boot ya da TPM 2.0 destekli olmayan bir bilgisayarınız var ise şimdilik Windows 11 kuramıyorsunuz. Bazı yollar ile bu tür gereksinimleri aşabilirsiniz fakat hem önerilmiyor hem de işletim sisteminin kararlı çalışması garanti edilmiyor.

UEFI ve Secure boot ayarlarınızı bios ayarlarından kontrol edebilirsiniz.

Bilgisayarınızın bios ayarlarından UEFI özelliğini aktif edip Windows 10 kurmuş iseniz eğer işletim sistemi diski GPT olarak hazırlanmıştır.

Disk ayalarına gelip işletim sistemi yüklü olan diskin özelliklerine geldiğinizde bu ayarı görebilirsiniz.

Bu durumda sadece secure boot özelliğini de aktif edip Windows 11 işletim sistemine geçiş yapabilirsiniz.

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’}  

RSAT Yönetim Araçlarının Kapalı Ağda Kurulumu

Remote Server Administration Tool aracı başta Active Directory olmak üzerine bir çok Windows uygulamasını yönetmemizi sağlayan konsolları içerir. Bu konsollar sayesinde sunuculara RDP yapmadan gerekli hizmetlere bağlanır ve yönetiriz.

RSAT aracı Windows 10 1809 sürümüne kadar internetten ayrıca indirilebiliyordu. 1809 sürümü ile birlikte isteğe ağlı özellik olarak kurulmaktadır. Kurulum ile ilgili bilgileri aşağıdaki bağlantıdan öğrenebilirsiniz.

Windows 10 1809 Sürümü Üzerine RSAT Yüklenmesi | Ortaç DEMİREL (ortacdemirel.com)

Böylelikle kapalı ağda kurulum da zorlamış oldu.

Kapalı ağda kurulum yapmak için öncelikle Microsoft lisans yönetim sayfasından “Feature on Demand” medyasını indirmeniz gerekmektedir.

Tüm Windows 10 sürümleri için ayrı ayrı indirilen bu medyanın sadece birinci medyasını indirmeniz yeterlidir.

1909 için 1903 sürümünü kullanabilirsiniz.

Ardından bu medyayı RSAT yükleyeceğiniz kapalı ağdaki Windows 10 bilgisayara takıp powershell yönetim aracını yönetici modda açıp aşağıdaki komutları vermeniz gerekmektedir.

NOT: Komutlarda “- – – -” gözüken yerler tilda işareti olmalıdır.

Active Directory Users and Computers konsolu :

Add-WindowsCapability -Online -Name Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0 -LimitAccess -Source e:\

DNS konsolu:

Add-WindowsCapability -Online -Name Rsat.dns.tools~~~~0.0.1.0 -LimitAccess -Source e:\

Group Policy Yönetim konsolu:

Add-WindowsCapability -Online -Name Rsat.grouppolicy.management.tools~~~~0.0.1.0 -LimitAccess -Source e:\

DHCP konsolu:

Add-WindowsCapability -Online -Name Rsat.dhcp.tools~~~~0.0.1.0 -LimitAccess -Source e:\

Ping Komutu ile İşletim Sistemini Öğrenme

Ping attığınız işletim sistemini komutdan dönen TTL değeri ile öğrenebilirsiniz.

Device / OSVersionProtocolTTL
AIXTCP60
AIXUDP30
AIX3.2, 4.1ICMP255
BSDIBSD/OS 3.1 and 4.0ICMP255
CompaTru64 v5.0ICMP64
CiscoICMP254
DEC PathworksV5TCP and UDP30
FoundryICMP64
FreeBSD2.1RTCP and UDP64
FreeBSD3.4, 4.0ICMP255
FreeBSD5ICMP64
HP-UX9.0xTCP and UDP30
HP-UX10.01TCP and UDP64
HP-UX10.2ICMP255
HP-UX11ICMP255
HP-UX11TCP64
Irix5.3TCP and UDP60
Irix6.xTCP and UDP60
Irix6.5.3, 6.5.8ICMP255
juniperICMP64
MPE/IX (HP)ICMP200
Linux2.0.x kernelICMP64
Linux2.2.14 kernelICMP255
Linux2.4 kernelICMP255
LinuxRed Hat 9ICMP and TCP64
MacOS/MacTCP2.0.xTCP and UDP60
MacOS/MacTCPX (10.5.6)ICMP/TCP/UDP64
NetBSDICMP255
Netgear FVG318ICMP and UDP64
OpenBSD2.6 & 2.7ICMP255
OpenVMS07.01.2002ICMP255
OS/2TCP/IP 3.064
OSF/1V3.2ATCP60
OSF/1V3.2AUDP30
Solaris2.5.1, 2.6, 2.7, 2.8ICMP255
Solaris2.8TCP64
StratusTCP_OSICMP255
StratusTCP_OS (14.2-)TCP and UDP30
StratusTCP_OS (14.3+)TCP and UDP64
StratusSTCPICMP/TCP/UDP60
SunOS4.1.3/4.1.4TCP and UDP60
SunOS5.7ICMP and TCP255
UltrixV4.1/V4.2ATCP60
UltrixV4.1/V4.2AUDP30
UltrixV4.2 – 4.5ICMP255
VMS/MultinetTCP and UDP64
VMS/TCPwareTCP60
VMS/TCPwareUDP64
VMS/Wollongong1.1.1.1TCP128
VMS/Wollongong1.1.1.1UDP30
VMS/UCXTCP and UDP128
Windowsfor WorkgroupsTCP and UDP32
Windows95TCP and UDP32
Windows98ICMP32
Windows98, 98 SEICMP128
Windows98TCP128
WindowsNT 3.51TCP and UDP32
WindowsNT 4.0TCP and UDP128
WindowsNT 4.0 SP5-32
WindowsNT 4.0 SP6+128
WindowsNT 4 WRKS SP 3, SP 6aICMP128
WindowsNT 4 Server SP4ICMP128
WindowsMEICMP128
Windows2000 proICMP/TCP/UDP128
Windows2000 familyICMP128
WindowsServer 2003128
WindowsXPICMP/TCP/UDP128
WindowsVistaICMP/TCP/UDP128
Windows7ICMP/TCP/UDP128
WindowsServer 2008ICMP/TCP/UDP128
Windows10ICMP/TCP/UDP128

Kaynak: Operating Systems can be Detected using Ping Command (ampproject.org)

SCCM Kullanılarak Güncellemelerin Kaldırılması

İşletim sistemlerinde kurulu olan güncellemeleri SCCM /MECM kullanarak kaldırabilirsiniz.

Güncellemeleri hatalı olduğu için ya da bir soruna sebep olduğu için kaldırmak isteyebilirsiniz. Bu yüzden hem sccm üzerinde dağıtımdan hem de kurulu olan sunucu ve istemci işletim sistemlerinden kaldırma yöntemlerini anlatacağım.

 İlk olarak sccm üzerinde dağıtımdan kaldırmak için “Software Library” bölümüne geliyoruz.  Software Updates altında yer alan dağıtım paketlerimizi buluyoruz.

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.