Friday, 18 May 2012

WSUS'un hangi veritabani instance ini kullandigini gormek ve test etmek

WSUS kurulumunuzun hangi DB Instance ini kullandigini rahatca gorebilir ve test edebilirsiniz,

Bunun icin asagidaki sekilde registry editoru kullanabilirsiniz, ve SqlServerName degerini kontrol edebilirsiniz.

WSUSDBInstnc

Veya asagidaki komutu komut penceresinde calistirabilirsiniz.
Reg query "HKLMSOFTWAREMicrosoftUpdate ServicesServerSetup" /v SqlServerName
  wsusdbinstcmd

Ve eger sunucunuzda sqlcmd.exe uygulamasi var ise kolayca baglanti testi yapabilirsiniz.
sqlcmd -S SqlServerName -E -d SUSDB

Eger Windows Internal DB kullaniyorsaniz WSUS icin yukaridaki komutta bulunan SqlServerName kismina asagidaki degeri kullaniniz.
np:\.pipeMSSQL$MICROSOFT##SSEEsqlquery

ve varsa hata mesajlarini not edip sorunu gideriniz.
sqlcmd uygulamasini edinmek icin : sqlcmd Utility.

Saturday, 5 May 2012

WSUS Klasorleri ve anahtarlarinin izinleri

Web servisleri sorun giderim asamalarinda klasorlerin ve anahtarlarin izin ayarlari onemli rol oynamaktadir, asagida WSUS web servisleri klasorleri ve anahtarlarinin erisim izinlerinin nasil kontrol edebileceginiz hakkinda bilginin yani sira varsayilan kurulum degerleri de bulunmakta.

cacls komutu
Bu komut Klasor Erisim Kontrol Listelerini (directory access control lists (ACLs)) goruntulemede ve degistirmede kullanilir. Komutun ciktisi erisim seviyesini gosterir. (f=tam yetki, w=yazma, r=okuma, n=yok) ve bu haklarin alt klasorlere nasil aktarilacagini.(OI=sadece bu klasor ve dosyalar, CI=bu klasor ve alt klasorler, IO=uygulanmiyor).

Komutla ilgili daha fazla detaya  cacls command reference adresinden ulasabilirsiniz.

WSUS kurulumu asagidaki Web service klasorlerini olusturur.
  • WSUSInstallDir\WebServices\apiremoting30 (WSUSInstallDir burada WSUS kurulumunu yaptiginiz klasoru ifade ederi.)
  • WSUSInstallDir\WebServices\clientwebservice
  • WSUSInstallDir\WebServices\dssauthwebservice
  • WSUSInstallDir\WebServices\reportingwebservice
  • WSUSInstallDir\WebServices\serversyncwebservice
  • WSUSInstallDir\WebServices\simpleauthwebservice
  • WSUSInstallDir\Inventory
  • WSUSInstallDir\Selfupdate
Yukaridaki tum klasorler (self-update haric) asagidaki ACLs ayarlarina sahip olmalidir.
  • NT AUTHORITY\NETWORK SERVICE:(OI)(CI)R
  • BUILTIN\Users:(OI)(CI)R
  • NT AUTHORITY\Authenticated Users:(OI)(CI)R
  • BUILTIN\Administrators:(OI)(CI)F
  • NT AUTHORITY\SYSTEM:(OI)(CI)F
  • The self-update directory should have the following ACLs:
  • BUILTIN\Users:(OI)(CI)R
  • BUILTIN\Administrators:(OI)(CI)F
  • NT AUTHORITY\SYSTEM:(OI)(CI)F

WSUS kayit defteri anahtarlari yetkileri

 Asagidakiler kurulum seviyesindeki ayarlardir.
 \HKLM\Software\Microsoft\Update Services\Server anahtarina Users ve WSUS Reporters gruplarinin okuma yetkisi bulunmalidir.

  •  Bu anahtara asagidaki kullanicilarin tam yetkisi bulunmaktadir. (\HKLM\Software\Microsoft\Update Services\Server\Setup)
  • Network Service
  • WSUS Administrators
  • Administrators
  • System


    Kaynak : http://technet.microsoft.com/en-us/library/cc708487(WS.10).aspx

    Friday, 13 April 2012

    WSUS BITS Performansını ayarlamak

    Group Policy araciligi ile BITS icin transfer performansini optimiz edebilirsiniz. Ornegin hizli bir baglantiya sahip bir istemci bazen cok yavas transferler gerceklestiriyor olabilir bu durumda BITS in kullanacagi band genisligini konfigure etmeniz size yardimci olabilir.

    Not : Unutmayinizki BITS de yapacaginiz bu degisiklikler policenin uygulandigi sistemdeki tum konfigurasyonu belirleyecektir, yani spesifik bir uygulamanin davranisini degistirmek icin kullanilamaz.

    BITS performansini konfigure etmek icin.

    1. Group Policy Object Editoru calistiriniz. (Start>Run>gpedit.msc).
    2. Computer Configuration>Administrative Templates>Network>Background Intelligent Transfer Service. sekmesini bulunuz
    3."Maximum network bandwidth that BITS uses (BITS 2.0)" veya "Maximum network bandwidth for BITS background transfers (BITS 3.0)" ayarini aciniz.
    4.Transfer ratei kbps cinsinden tanimlayiniz. (varsayilan 10 dur).
    5.Band genisligini sinirlamak istedigini zaman dilimini giriniz. (varsayilan 8:00 ile 17:00 arasidir.).
    6.Bu zaman araligi disinda kalan vakitlerde kullanilacak band genisligi limitini belirleyiniz. (varsayilan tumudur ancak baska bir secenek secebilirsiniz.).
    7. OK. seciniz.
    ScreenHunter_05 Dec. 31 14.13 

    ScreenHunter_04 Dec. 31 14.13

    WSUS : Windows Dahili Veritabanini kaldirmak

    Windows Internal Database i sistemden kaldirmak genellikle gerekli olmayan bir islemdir, ancak gerekmesi durumunda Program Ekle/Kaldir dan kaldirmak mumkun olmadigindan asagidi msiexec komutlarini kullanarak kaldirma islemi yapabilirsiniz.

    Ancak bu islemi yapmadan once Windows Internal Database i baska uygulamalarinda kullanmadigindan emin olunuz.

    Windows Internal Database Kaldirmak icin
    1. Komut satiri penceresini acin
    2. Platformunuza uygun msiexex komutunu asagida belirtildigi sekilde calistirin
    • 32-bit platformlar icin : msiexec /x {CEB5780F-1A70-44A9-850F-DE6C4F6AA8FB} callerid=ocsetup.exe
    • 64-bit platformlar icin: msiexec /x {BDD79957-5801-4A2D-B09E-852E7FA64D01} callerid=ocsetup.exe
    Kaldirma islemi diskinizden .mdb ve .ldb dosyalarini silmeyebilir, ve bu daha sonra WSUS kurulumu yapmaya calistiginizda soruna yol acabilir. Bu sebeple kaldirma isleminden sonra %windir%\SYSMSI\SSEE klasorunu temizlemeniz gerekecektir.

    Thursday, 22 March 2012

    WSUS 3.0 SP2 Kurulum Hata Kodlari

    Return Code Return String Meaning
    0x001450SUS_LAUNCH_ERRORSetup conditions are not satisfied.
    0x001451SUS_UNKNOWN_ERRORUnknown error.
    0x001452SUS_REBOOT_REQUIREDReboot is required to complete the installation. This error most commonly occurs when installing Windows® Internal Database.
    0x001453SUS_INVALID_COMMANDLINEInvalid command line entry.
    0x001454SUS_LOWSQLVERSIONInvalid SQL Server version. WSUS supports only computers running at least SQL Server 2005 SP2.
    0x001455SUS_TRIGGERSNOTSETTriggers are not set in SQL Server. For instructions about how to enable nested triggers, see How to: Configure the nested triggers Option (SQL Server Management Studio).
    0x001456SUS_INVALIDPATHInvalid content path is specified.
    0x001457SUS_NETWORKPATHSpecified content path is a network path.
    0x001458SUS_NONNTFS_PATHSpecified content path is not NTFS.
    0x001459SUS_NONFIXEDDRIVESpecified content path is not on a fixed drive.
    0x00145aSUS_NONTFS_DRIVES_PRESENTNo NTFS drives exist on the system.
    0x00145bSUS_INSUFFICIENT_SPACENot enough space is available at the given path. At least 6 GB of space is required.
    0x00145cSUS_NEED_SERVER_AND_PORTBoth server name and port are required for replica mode.
    0x00145dSUS_MSCOM_SERVERSpecified server name ends in .microsoft.com.
    0x001460SUS_ERROR_PREREQCHECK_FAILPrerequisite check failed.
    0x001461SUS_LOWDBSCHEMAUPGRADE_VERSIONThis database schema is too old to be upgraded.
    0x001462SUS_UPGRADE_REQUIREDWSUS Setup must upgrade. Use the /G parameter to avoid this error.

    Thursday, 15 March 2012

    Software Update sonrasi yeniden baslatmaya ihtiyac duyan bilgisayarlari listeleme

    Asagidaki script size WSUS veya Windows Update den updatelerini cekip kurmus ancak kurulum sonra yeniden baslatmaya ihtiyac duyan bilgisayarlari listeleyerek buyuk kolaylik saglayacaktir, ornek script :
    [reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration") | out-null

    if (!$wsus) {
    $wsus = [Microsoft.UpdateServices.Administration.AdminProxy]::GetUpdateServer();
    }

    $computerScope = new-object Microsoft.UpdateServices.Administration.ComputerTargetScope;
    $computerScope.IncludedInstallationStates = [Microsoft.UpdateServices.Administration.UpdateInstallationStates]::InstalledPendingReboot;

    $updateScope = new-object Microsoft.UpdateServices.Administration.UpdateScope;
    $updateScope.IncludedInstallationStates = [Microsoft.UpdateServices.Administration.UpdateInstallationStates]::InstalledPendingReboot;

    $computers = $wsus.GetComputerTargets($computerScope);

    $computers | foreach-object {
    $_.FullDomainName | write-host;

    # Show which updates are causing the reboot required for the computer. Remove the next 5 lines to only generate a list of computers.
    $updatesForReboot = $_.GetUpdateInstallationInfoPerUpdate($updateScope);
    $updatesForReboot | foreach-object {
    $neededUpdate = $wsus.GetUpdate($_.UpdateId);
    " "+$neededUpdate.Title | write-host;
    # Remove previous lines to only show computers that need updates
    }

    }
    Ornegin bu scriptte hangi updatelerin yuklendigi hakkinda bilge veren kismi cikartarak kendinize sadece bilgisayar isimlerinden olusan bir cikti hazirlayabilirsiniz de , ve bu ciktiyi SCOM/MOM gibi bir sunucuda Task tanimlayarak haftalik yeniden baslatma zamanlamasi yapabilirsiniz. Bunun icin
    sadece bu kismini kullanmaniz yeterli olacaktir.

    [reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration") | out-null

    if (!$wsus) {
    $wsus = [Microsoft.UpdateServices.Administration.AdminProxy]::GetUpdateServer();
    }

    $computerScope = new-object Microsoft.UpdateServices.Administration.ComputerTargetScope;
    $computerScope.IncludedInstallationStates = [Microsoft.UpdateServices.Administration.UpdateInstallationStates]::InstalledPendingReboot;

    $updateScope = new-object Microsoft.UpdateServices.Administration.UpdateScope;
    $updateScope.IncludedInstallationStates = [Microsoft.UpdateServices.Administration.UpdateInstallationStates]::InstalledPendingReboot;

    $computers = $wsus.GetComputerTargets($computerScope);

    $computers | foreach-object {
    $_.FullDomainName | write-host;
    Bu bilginin kaynagi ve scripting hakkinda daha fazla bilgi icin Microsoft Script Center i siddetle tavsiye ederim.

    Friday, 2 March 2012

    Sysprep ile WSUS degerlerini temizlemek

    Mevcut sysprep.inf dosyanizi notepad ile aciniz, ve asagidaki degerleri [GuiRunOnce] altina ekleyip kaydediniz, komutlar kurulum sonrasi bir defalik calistirilacak ve imajda bulunan eski degerleri temizleyecek, istemcinize yeni SusClientId atanmasini saglayacaktir.

    Eger [GuiRunOnce] altinda baska komutlariniz varsa CommandX de bulunan X degerlerini sizinkilere devam edecek sekilde degistirebilirsiniz.


    Command0=”reg.exe delete HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate /v PingID /f”
    Command1=”reg.exe delete HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate /v AccountDomainSid /f”
    Command2=”reg.exe delete HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate /v SusClientId /f”
    Command3=”reg.exe delete HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate /v SusClientIDValidation /f”