Forum

File server dosya i...
 
Bildirimler
Hepsini Temizle

File server dosya izinlerinin taşınması hk.

MEHMET ÖZCANLAR
(@MEHMETOZCANLAR)
Üye

Merhaba, Windows server 2008 File server'a sahibiz. Paylaşılan klasörlerimiz D sürücüsünde 600GB ve karışık yetkilendirmeler var. Bu sürücüde problem var hataları checkdisk düzeltemiyor. Bu datayı, yetkileri izinleri bozulmadan yeni oluşturacağımız disk bölümüne nasıl taşırız? Teracopy programı ile izinleri de taşıyabilir miyiz?

Alıntı
Topic starter Gönderildi : 14/02/2019 11:15
Vasvi UYSAL
(@vasviuysal)
Saygın Üye Forum Yöneticisi

Merhabalar

 

Robocopy ile  taşıyabilirsiniz

 

robocopy “\\OLDSERVER\OLDSHARE\” “\\NEWSERVER\NEWSHARE” /S /E /COPY:DATS

 

 

iyi çalışmalar

CevapAlıntı
Gönderildi : 14/02/2019 11:34
MEHMET ÖZCANLAR
(@MEHMETOZCANLAR)
Üye

Robocopy türkçe karakterli ve uzun dosyalarda problem çıkardığını duymuştum

 

Teracopy görsel olduğu için kullanımı daha kolay bu probram ile izinler taşınabilir mi? veya başka bir yazılım?

CevapAlıntı
Topic starter Gönderildi : 14/02/2019 11:38
Vasvi UYSAL
(@vasviuysal)
Saygın Üye Forum Yöneticisi

test etmek varken (ki oldukça basit ) duyum üzerinden karar vermeye gerek var mı ki

totalcommander de vardı sanırım ntfs haklarını da kopyala gibi bir seçenek ayrıca

kolay gelsin

 

 

CevapAlıntı
Gönderildi : 14/02/2019 12:34
Mahmut ERVUZ
(@mahmutervuz)
Üye

ben uzun karakterli dosya kopyalarken sıkıntı yaşamamıştım.

CevapAlıntı
Gönderildi : 14/02/2019 14:09
Hüseyin Çağlar
(@huseyincaglar)
Üye

Selamlar

Vasvi Bey'in söylediklerine ek olarak, günlük de tutturmanızı tavsiye ederim.

Örnek bir komut şu şekilde olabilir:
 
P:\00 klasörünü --> x:\00 yansılar.

robocopy p:\00 x:\00 /SEC /MIR /W:5 /R:3 /TEE /LOG\Log_P_00.txt

/SEC yetkileri kopyalar

/MIR yansı yapacaktır. 2. defa aynı komutu çalıştırırsanız sadece değişiklik olanları kopyalar, silinenler varsa hedeften de siler, yetkilerini düzenledikleriniz olursa günceller.

/W:5 /R:3 kullanımda olabilecek dosyalar için bekleme süresi saniye olarak 5, tekrar deneme sayısı 3, diskte sorun olduğundan bahsetmişsiniz, bazı dosya, klasör v.b. çok beklememesini sağlar. Günlükten takip edebilirsiniz.

/TEE konsola da yazar, en sonda rapor alırsınız.

/LOG\Log_P_00.txt  GÜnlük tutma (Büyük bir dosya olacaktır)
 
/XD "p:\System Volume Information" /XD "p:\RECYCLER" kopyalanmasını istemediğiniz klasörleri yazabilirsiniz.

Total  Commander kullanırsanız, günlük tutmasını sağlayınız, "Configuration", "Log File", özellikle "Operation Status" bölümündeki seçenekleri de unutmayınız.

__________________________________
Gelecek, Açık.
The Future is Open.

https://hcaglar.blogspot.com

CevapAlıntı
Gönderildi : 14/02/2019 15:33
Candas Kasap
(@candaskasap)
Üye
Gönderen: @huseyincaglar

Selamlar

Vasvi Bey'in söylediklerine ek olarak, günlük de tutturmanızı tavsiye ederim.

Örnek bir komut şu şekilde olabilir:
 
P:\00 klasörünü --> x:\00 yansılar.

robocopy p:\00 x:\00 /SEC /MIR /W:5 /R:3 /TEE /LOG\Log_P_00.txt

/SEC yetkileri kopyalar

/MIR yansı yapacaktır. 2. defa aynı komutu çalıştırırsanız sadece değişiklik olanları kopyalar, silinenler varsa hedeften de siler, yetkilerini düzenledikleriniz olursa günceller.

/W:5 /R:3 kullanımda olabilecek dosyalar için bekleme süresi saniye olarak 5, tekrar deneme sayısı 3, diskte sorun olduğundan bahsetmişsiniz, bazı dosya, klasör v.b. çok beklememesini sağlar. Günlükten takip edebilirsiniz.

/TEE konsola da yazar, en sonda rapor alırsınız.

/LOG\Log_P_00.txt  GÜnlük tutma (Büyük bir dosya olacaktır)
 
/XD "p:\System Volume Information" /XD "p:\RECYCLER" kopyalanmasını istemediğiniz klasörleri yazabilirsiniz.

Total  Commander kullanırsanız, günlük tutmasını sağlayınız, "Configuration", "Log File", özellikle "Operation Status" bölümündeki seçenekleri de unutmayınız.

Merhaba Huseyin Bey,

 

peki bu komutlar user shear folder rights''da kopiyalabiliyor mu ?

Bu ileti 1 sene önce Candas Kasap tarafından düzenlendi
CevapAlıntı
Gönderildi : 26/02/2020 13:46
Hakan Uzuner
(@hakanuzuner)
Kıdemli Üye Yönetici

Merhaba,

Öncelikle taşıma yapacağınız klasör üzerine gelerek yukarıdan izinleri almasını kapatın.

Click the "Security" tab and select "Advanced." Click the "Permissions" tab, and then click "Disable Inheritance." In the pop-up window that opens, click "Convert inherited permissions into explicit permissions on this object."

Daha sonra ise yönetici olarak cmd satırını çalıştırın ve aşağıdaki gibi komutu kullanın

ROBOCOPY "\\servername\sharelocation" "\\newservername\newsharelocation" /MIR /SEC /LOG\logdosyasi.txt

Yasa aşağıdaki makaleyi inceleyin

https://www.cozumpark.com/dosya-sunucunuzu-storage-migration-servis-ile-tasiyin-file-server-migration-with-storage-migration-service/

 

Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

CevapAlıntı
Gönderildi : 26/02/2020 23:27
Hüseyin Çağlar
(@huseyincaglar)
Üye

Merhaba

Yukarıda söylenenlere ek olarak, sadece NTFS izinleri taşınır, paylaşım izinleri taşınmaz.

 

fsmgmt.msc ile paylaşım izinlerini kontrol ederek, fazla değil ise grafik arabirimden yapılabilir;

fazla ise aşağıdaki powershell komutlarından yararlanabilirsiniz:

 

Var olan paylaşımlari listeleme:

Get-SmbShare

 

Var olan yetkileri listeleme:

Get-SmbShareAccess -Name Paylasim_adi
ya da
Get-SmbShareAccess -Name Paylasim_adi | ft AccountName, AccessRight -a

 
Yeni paylaşım oluşturma:

New-SmbShare -Name Paylasim_adi -Path C:\TEMP\Deneme_Klasor -FullAccess "domain\kullanici_hesabi", "domain\grup_adi" -ReadAccess "domain\Domain Users" -ChangeAccess "Domain\TestGRP"

 

Paylaşıma yetki ekleme:

Grant-SmbShareAccess -Name "paylasim_adi" -AccessRight Read -AccountName "Everyone"

 

Paylaşımdan yetki kaldırma: 

Revoke-SmbShareAccess -Name "paylasim_adi" -AccountName "Everyone" -Force

 

Paylaşımı kaldırma:

Remove-SmbShare -Name paylasim_adi

 

__________________________________
Gelecek, Açık.
The Future is Open.

https://hcaglar.blogspot.com

CevapAlıntı
Gönderildi : 27/02/2020 09:33
Hüseyin Çağlar
(@huseyincaglar)
Üye

Merhaba

Windows server 2012 öncesi olan sürümlerden paylaşım yetkilerini almak için ise WMI'dan yararlanılabilinir.

Powershell (PS) sürüm 5.1 ile Windows 10 yüklü makinanızdan, Windows 2008 R2 sunucunuzdaki paylaşım yetkilerini olabilirsiniz.

Bunu bir kaç aşamada yapmak mümkün;

  • 1. aşamada var olan paylaşım isimleri ve adresleri bir csv dosyaya kaydedilir, bu dosyada gereksiz olanları silmeyi unutmayınız;
  • 2. aşamada csv dosya kullanılarak paylaşım yetkileri listelenir ve bir başka csv dosyaya kaydedilir;
  • 3. son aşamada yeni sunucuda her 2 csv dosya kullanılarak paylaşımlar yeniden oluşturular, yetkiler verilir. Bu aşama için gerekli olan komutlar en sonda verilmiştir.

Tüm bu aşamalar, aşağıdaki PS betiğinde toplandı. Sadece listeleme ve csv dosyalara kayıt yapmaktadır.

Admin yetkisi ile açacağınız "PS ISE" penceresine aşağıdaki betiği yapıştırınız. Belirtilen yerlerde gerekli değişiklikleri yapınız.

Sunucudan WMI ile ilgili bilgi alabilmek için karşı tarafta; yetkiniz olmalı, güvenlik duvarında ilgili izinler verilmiş olmalı ve son olarak da DCOM ve RPC servisleri çalışıyor olması gerekir.

 

#
# Bu adresden yararlanılmıştır.
# https://kimconnect.com/powershell-copy-smb-share-permissions-from-legacy-sources/
#
#
#

cls

# Sunucu_Adi ve csv dosya adreslerini ("c:\temp") değiştirmeyi unutmayiniz!
#
#

$smbServerName="Sunucu_Adi"

#
# paylaşım isimlerinin yazılacağı csv dosya

$csv_dosya="c:\temp\"+$smbServerName+"_paylasimlar.csv"

#
# yetkilerin yazılacağı csv dosya

$csv_dosya_02="c:\temp\"+$smbServerName+"_yetkiler.csv"

#
#if (test-path $csv_dosya) {remove-item $csv_dosya} {}
#if (test-path $csv_dosya_02) {remove-item $csv_dosya_02} {}

####### 1. aşama
#

#
# var olan sunucudan paylasim isimleri ve adresleri alınarak csv dosyaya kaydediliyor...
#

Get-WmiObject -Class Win32_Share -ComputerName $smbServerName | sort Description | select-object Name, Path | Export-Csv $csv_dosya -NoClobber -Encoding UTF8

####### 2. aşama için komut oluşturuluyor, aşağıda csv dosya kullanılarak çalıştırılacak...

    function SMB_Yetkileri_Listele{
        param(
            [string]$smbServerName,
            [string]$smbShareName
            )

#
# "$" ile biten paylaşım isimleri kullanmış iseniz, '|where-object{$_.Name -notlike "*$"}' bölümünü aşağıdaki satır sonundan siliniz.
#
        $smbList = Get-WmiObject win32_LogicalShareSecuritySetting -ComputerName $smbServerName|where-object{$_.Name -notlike "*$"}
        if($smbList){
                    $smbObject=$smbList|where-object{$_.Name -eq $smbShareName};
                   
            }else{
                $message="$smbServerName isimli sunucudan, SMB yetkileri almada hata olustu!";
                $GLOBAL:messages+=$message+"`r`n";
                write-host $message -ForegroundColor Yellow;
                $smbObject=$false;
                }

        if($smbObject){
            $message="$smbShareName isimli paylasim yetkileri aliniyor...";
            $GLOBAL:messages+=$message+"`r`n";
            Write-Host `r`n$message;
            $smbPermissions = @()
            $acls = $smbObject.GetSecurityDescriptor().Descriptor.DACL
            foreach($acl in $acls){
                $user = $acl.Trustee.Name
                if(!($user)){$user = $acl.Trustee.SID}
                $domain = $acl.Trustee.Domain
                switch($acl.AccessMask){
                    2032127 {$accessRight = "Full"}
                    1245631 {$accessRight = "Change"}
                    1179817 {$accessRight = "Read"}
                    }         
                $smbPermissions+=[PSCustomObject]@{Paylasim=$smbShareName;Yetki=$accessRight;Hesap="$domain\$user"};
                }
#
# 2. aşama sonucun csv dosyaya kaydedilmesi...
#
            return $smbPermissions |select-object Paylasim,Yetki,Hesap |Export-Csv $csv_dosya_02 -append -NoClobber -Encoding UTF8;
#
            }else{
            write-host ("-" * 40)
            write-host "Paylasim ile ilgili hata var!";                          
            write-host $smbShareName -ForegroundColor Yellow;
            write-host ("-" * 40)
                return $false ;
                 }
    }
   

####### 2. aşama
#
#
# başlardaki $smbServerName ve $csv_dosya değiştirmeyi unutmayiniz!
#
# Oluşturulan komut çalıştırılıyor...

import-csv $csv_dosya -Encoding UTF8| foreach-object {SMB_Yetkileri_Listele -smbServerName $smbServerName -smbShareName $_.name;}

#
#Ekrana listelemek için
#

import-csv $csv_dosya_02

####### 3. aşama
#
#

# Aşağıdaki komutları, yeni sunucuda (2012 ve sonrası) paylaşımları tekrar oluşturmak, listelemek için kullanabilirsiniz.
#
# ilk csv dosyadaki gereksiz paylaşımları temizlemeyi unutmayiniz, "C$", "ADMIN$" gibi.
#
# 2. csv dosyada eklemek veya çıkartmak istediğiniz hesapları güncellemeyi unutmayınız.
#
# csv dosyaları da, yeni sunucuda komutları çalıştıracağınız adrese kopyalamayı unutmayınız.
#
# ilk komut ile sadece, "Domain Admins" tam yetkili olacak, diğer yetkiler 2. dosyadan aşağıda eklenecek.
#
#
# import-csv $csv_dosya | foreach-object { New-SmbShare -Name $_.Name -Path $_.Path -FullAccess "$env:userdomain\Domain Admins"}
#
# Diğer yetkiler;
#import-csv $csv_dosya_02 |foreach-object {Grant-SmbShareAccess -Name $_.Paylasim -AccessRight $_.Yetki -AccountName $_.Hesap}
#
# yetkileri listeleme
#import-csv $csv_dosya| foreach-object {Get-SmbShareAccess -Name $_.Name | format-table Name, AccountName, AccessRight -autosize}
#
#

Umarım işe yarar.

__________________________________
Gelecek, Açık.
The Future is Open.

https://hcaglar.blogspot.com

CevapAlıntı
Gönderildi : 24/04/2020 18:03
Hakan Uzuner
(@hakanuzuner)
Kıdemli Üye Yönetici

Güzel bilgi, teşekkürler.

Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

CevapAlıntı
Gönderildi : 24/04/2020 18:09
Paylaş: