PowerShell ile dosyalarınızı FTP dizinine upload edin!

Powershell üzerinde System.Net.Webclient öğesini kullanarak download ve upload işlemlerini gerçekleştirebilirsiniz.PowerShell ile  basit bir upload işlemi için adım adım yapmamız gerekenleri listeleyelim.

$Dosya = “c:UserExport.csv”
$Ftp = 'ftp://KULLANICIADI:ŞİFRE@ftpurl.com/Uploads/UserExport.csv'

Upload edilecek local makinedeki dosyamı ve FTP adresimi belirliyorum.Bu noktada ftp değişkeninde kullanıcı adı, şifre ve ftp url’ini doğru girmeye özen gösterin.Aynı zamanda upload edilecek klasörün yazma yetkisinin olduğundan emin olun.

Ardından upload işlemini gerçekleştirecek objemi oluşturuyorum.

$webclient = New-Object System.Net.WebClient
$uri = New-Object System.Uri($ftp)

Aynı zamanda uri değişkenine ftp urlimi atıyorum.

Son olarakta upload işlemini gerçekleştirelim.

$webclient.UploadFile($uri, $File)

Oldukça basit değilmi?

Peki böyle bir tablo nerede işinizi görebilir?

Örneğin yakın bir dostumdan şöyle bir istek gelmişti.

“PowerShell ile otomatik olarak , her hafta , tüm active directory kullanıcılarının telefon,isim, title vb bilgilerini csv olarak ftp’ye upload edebilirmiyiz?”

Kesinlikle evet.Bu amaçla kendisine hazırladığım script aşağıda.

Import-Module ActiveDirectory

Get-ADUser -Filter * -SearchBase “ou=deneme,DC=a,DC=COM” -properties name, surname, DisplayName, Department, Title, emailaddress, Homephone, Mobilephone | select name, surname, displayname, department, title, emailaddress, homephone, mobilephone | Export-Csv c:UserExport.csv -NoTypeInformation

$File = “c:UserExport.csv”
$ftp = 'ftp://KULLANICI:ŞİFRE@ftpurl.com/uploads/UserExport.csv'

$webclient = New-Object System.Net.WebClient
$uri = New-Object System.Uri($ftp)

$webclient.UploadFile($uri, $File)

Bu script ile belirlenen attributelar a.com altındaki deneme ousu altındaki kullanıcılar için export ediliyor, hemen ardından export edilen bu dosya ftp dizinine upload ediliyor.

PowerShell’in sistem yöneticilerinin hayatını kolaylaştıran bir yönü daha!