Author Archives: Ortaç Demirel

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.

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.

Powershell Modullerinin Otomatik Yüklenmesi

Active Directory , Exchange , Skype vb sunucularda yer alan Powershell yönetim aracı ayrı bir modüle olarak çalıştırılmaktadır. Bu sunucularda ya da herhangi bir Windows server veya istemci üzerinden açtığınız Windows powershell aracı ile bu tür sunucuları yönetmek istediğinizde gerekli modülleri yüklemeniz gerekmektedir.

Module yükleme işlemi her powershell aracını açtığınızda tekrar yapmanız gereken bir işlemdir.

Sıklıkla aynı modülleri kullandığınız bir bilgisayarda kullandığınız tüm modüllerin Windows powershell aracına otomatik yüklenmesini sağlayabilirsiniz.

Kendi kullanıcınız ile oturum açtığınız Windows işletim sisteminde “Documents” klasörü içerisinde “WindowsPowershell”  klasörü açıyoruz.

İçerisine “Module” klasörü açıyoruz.

Hemen altına profile.ps1 dosyası oluşturuyoruz.

Profile dosyasına sıklıkla kullandığınız modullerin yükleme komutlarını yazabilirsiniz.

Exchange :

Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn;

Active Directory:

Import-Module activedirectory

Bu işlemin ardından Windows powershell ya da Windows powershell ISE yi açarsanız açılış sırasında modüllerin yüklendiğini görebilirsiniz.

Windows 10 2004 Sürümü Üzerine RSAT Kurulum Sorunu

RSAT yönetim aracı bilindiği üzere artık Windows 10 üzerindeki “opsiyonel özellikler” bölümünden kurulabiliyor.

Windows 10 işletim sistemini 2004 sürümüne güncellemiş iseniz eğer kurulumda hata alabilirseniz.

Bu durumda group policy üzerinden aşağıdaki ayarı yapabilirsiniz. (Local Group Policy)

Computer Configuration > Administrative Templates  > System  e gelin.

System bölünde kök alanda yer alan izinlerden “pecify settings for optional component installation and component repair” politikasını açın.

Aktif edip aşağıdaki kutuyu işaretleyin.

Bu işlemin artından gpupdate komutunu çalıştırabilirsiniz.