Showing posts with label SCCM / Configuration Manager. Show all posts
Showing posts with label SCCM / Configuration Manager. Show all posts

Thursday, 27 February 2014

Ports used by Configuration Manager Management Point

Ports used by Configuration Manager Management Point

Management Point <> Domain Controller
DescriptionUDPTCP
Lightweight Directory Access Protocol (LDAP)--389
LDAP (Secure Sockets Layer [SSL] connection)636636
Global Catalog LDAP--3268
Global Catalog LDAP SSL--3269
RPC Endpoint Mapper135135
RPC--DYNAMIC

Management Point <> Site Server

DescriptionUDPTCP
RPC Endpoint mapper--135
RPC--DYNAMIC
Server Message Block (SMB)--445

Management Point <> SQL Server

DescriptionUDPTCP
SQL over TCP--1433

Enable Verbose Logging on the SCCM Client for Application Deployment Troubleshooting

You might need to enable verbose logging on the SCCM client for application deployment troubleshooting to be able to see what is happening in more detail.

The default logging level for the client logs information, error and warning level messages. And this is set by a registry value named LogLevel which can be found under

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\CCM\Logging\@GLOBAL\LogLevel (For x86 SCCM Client)

or

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CCM\Logging\@GLOBAL\LogLevel

default value of LogLevel is 1, so you can change it 0 (Zero) and restart the SMS Agent service to enable verbose logging. (You'll need to change Administrators permissions to Full on @GLOBAL before changing this value)

SCCM Enable Verbose Logging

Client-side debug logging

If you need more detail you can also enable debug level logging by creating a new key named DebugLogging and a value named Enabled REG_SZ (String) = True under the

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\CCM\Logging\@GLOBAL\ (For x86 SCCM Client)

or

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CCM\Logging\@GLOBAL\

SCCM Enable Verbose Logging New Key

Creating new key named DebugLogging

SCCM Enable Verbose Logging New String

Creating new REG_SZ (String) named Enabled

SCCM Enable Debug Logging

Tuesday, 10 December 2013

System Center 2012 R2 Configuration Manager Toolkit

A useful announcement from J.C. Hornbeck | Solution Asset PM | Microsoft GBS Management and Security Division

( http://www.microsoft.com/en-us/download/details.aspx?id=36213 )

The Microsoft System Center 2012 R2 Configuration Manager Toolkit contains fifteen downloadable tools to help you manage and troubleshoot Microsoft System Center 2012 R2 Configuration Manager. The following list provides specific information about each tool in the toolkit.

Note: Items with an * are new in the R2 Toolkit and require Microsoft System Center 2012 R2 Configuration Manager for full functionality.

Server Based Tools

  • * DP Job Manager - A tool that helps troubleshoot and manage ongoing content distribution jobs to Configuration Manager distribution points.

  • * Collection Evaluation Viewer - A tool that assists in troubleshooting collection evaluation related issues by viewing collection evaluation details.

  • * Content Library Explorer - A tool that assists in troubleshooting issues with and viewing the contents of the content library.

  • Security Configuration Wizard Template for Microsoft System Center 2012 R2 Configuration Manager - The Security Configuration Wizard (SCW) is an attack-surface reduction tool for the Microsoft Windows Server 2008 R2 operating system. Security Configuration Wizard determines the minimum functionality required for a server's role or roles, and disables functionality that is not required.

  • Content Library Transfer – A tool that transfers content from one disk drive to another.

  • Content Ownership Tool – A tool that changes ownership of orphaned packages (packages without an owner site server).

  • Role-based Administration Modeling and Auditing Tool – This tool helps administrators to model and audit RBA configurations.

  • Run Metering Summarization Tool - The purpose of this tool is to run the metering summarization task to analyze raw metering data


Client Based Tools

  • Client Spy - A tool that helps you troubleshoot issues related to software distribution, inventory, and software metering on System Center 2012 Configuration Manager clients.

  • Configuration Manager Trace Log Viewer – A tool used to view log files created by Configuration Manager components and agents.

  • Deployment Monitoring Tool - The Deployment Monitoring Tool is a graphical user interface designed help troubleshoot Applications, Updates, and Baseline deployments on System Center 2012 Configuration Manager clients.

  • Policy Spy - A policy viewer that helps you review and troubleshoot the policy system on System Center 2012 Configuration Manager clients.

  •   Power Viewer Tool – A tool to view the status of power management feature on System Center 2012 Configuration Manager clients.

  • Send Schedule Tool - A tool used to trigger a schedule on a client or trigger the evaluation of a specified DCM Baseline. You can trigger a schedule either locally or remotely.

  • Wakeup Spy – A tool that provides a view of the power state of Configuration Manager client computers and which operate as managers or manages.

Wednesday, 4 December 2013

SCCM Client : Failed to find the certificate in the store error

 

If you see the entries below in your ClientIDManagerStartup.log file

RegTask: Failed to get certificate. Error: 0x80004005 ClientIDManagerStartup 04/12/2013 11:30:29 5992 (0x1768)  
Error initializing client registration (0x80040222). ClientIDManagerStartup 04/12/2013 11:30:29 5992 (0x1768)  
RegTask - Executing registration task synchronously. ClientIDManagerStartup 04/12/2013 11:30:42 1276 (0x04FC)
Failed to find the certificate in the store, retry 1. ClientIDManagerStartup 04/12/2013 11:30:42 1276 (0x04FC)  
Failed to find the certificate in the store, retry 2. ClientIDManagerStartup 04/12/2013 11:30:42 1276 (0x04FC)  
Failed to find the certificate in the store, retry 3. ClientIDManagerStartup 04/12/2013 11:30:42 1276 (0x04FC)  
Failed to find the certificate in the store, retry 4. ClientIDManagerStartup 04/12/2013 11:30:42 1276 (0x04FC)  
Failed to find the certificate in the store, retry 5. ClientIDManagerStartup 04/12/2013 11:30:42 1276 (0x04FC)  
RegTask: Failed to get certificate. Error: 0x80004005 ClientIDManagerStartup 04/12/2013 11:30:43 1276 (0x04FC)

and SCCM client repair didn't help to fix you client communication.

You can try to do these to fix it, 1.Stop SMS Agent Host Service 2.Delete C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys\19c5cf9c7b5dc9de3e548adb70398402_50e417e0-e461-474b-96e2-077b80325612 3.Start SMS Host Agent Service and monitor the log file ClientIDManagerStartup.log  ! : New 19c.... certificate file should also have created automatically in the folder above.

You should be able to see informational log entries if it helped, like

Read SMBIOS (encoded): 54006F002000420065002000460069006C006C00....  
Evaluated SMBIOS (encoded): 54006F002000420065002000460069006C00....  
No SMBIOS Changed ClientIDManagerStartup 04/12/2013 11:33:29 2212 (0x08A4)  ....

If you are still seeing same errors, you can also try to change permissions of C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys by adding Local System.

Ps. The cert. path in XP systems is C:\Documents and Settings\all users\ApplicationData\Microsoft\Crypto\RSA\MachineKeys\

Friday, 8 February 2013

DISM Error Code 11 while running 64bit CMD via 32bit SCCM client.

I needed to run deployment image servicing and management tool ( dism.exe ) in an SCCM installation program, and I needed to call that via cmd.exe. I was getting Error Code 11 : You cannot service a running 64bit OS with a 32bit version of DISM. Please use the version of DISM that corresponds to your computer's architecture. The DISM log file can be found at C:\Windows\Logs\DISM\dism.log
  errorcode11

 

The cmd.exe under system32 is 64bit but running c:\windows\system32\cmd.exe /c …. still causes problem if it’s called from 32bit app, like sccm client or c:\windows\syswow64\cmd.exe

So calling c:\windows\system32\cmd.exe explicitly didn't help.

The solution is using sysnativealias, example : c:\windows\sysnative\cmd.exe

Because when you use sysnative you also say don’t redirect me to windows.

You may experiencing this problem for DISM operations in Windows, in that case change your working folder to C:\Windows\System32 or call DISM from this folder to get rid of this error.

  errorcode11-02


More details @ http://msdn.microsoft.com/en-gb/library/windows/desktop/aa384187(v=vs.85).aspx

Friday, 18 January 2013

How-to deploy Skype with SCCM

How-To deploy Skype with SCCM

First you'll need to download Business version of Skype, SkypeSetup.msi from http://www.skype.com/intl/en-gb/business/download and rest is easy as deploying standard MSI file,

You can also modify it with Orca or create a new transform, for example you might want to remove

Desktop Shortcut : Shortcut\SkypeDesktopShortcut
Sent to : Shortcut\SkypeSentToShortcut
Start after Install : CustomAction\SkypeStart1
Start at Windows Start up : Registry\reg08D3E7E5CD85CB55680CCDE42A2E2625 (Software\Microsoft\Windows\CurrentVersion\Run)
and run with the new mst, e.g. msiexec /i SkypeSetup.msi Transforms=SkypeCustom.mst ALLUSERS=1 /qb

Also I recommend you to download Skype IT Admin Guide from http://download.skype.com/share/business/guides/skype-it-administrators-guide.pdf

Monday, 7 January 2013

SCCM'de MDT DB kullanarak domaine dahil etme islemini otomatik ve lokasyon spesifik gerceklestirmek

Eger sizde benim gibi Task Sequence'nizde bilgisayarlarin domaine dahil olma isleminde "Apply Network Settings" lokasyona ozel degerleri otomatik algilayip uygulamak istiyorsaniz. Yani bir den fazla domain'e sahipseniz ancak bir den fazla islem yaratip her bir domain icin ayri sorgular yazmak istemiyorsaniz. SCCM'nize entegre olmus MDT'nin veritabanini kullanarak bu islemi kolaylastirabilirsiniz.

Tek yapmaniz gereken MDT DB de yaratiiginiz lokasyonlarin ozelliklerine gerekli degerleri girmek ve SCCM OSD'de ki Task Sequence'de bu degerleri cagirmak olacak.

MDT DB'de lokasyon altinda degistirilecek degerler Domain and Workgroup bolumu altinda yer almakta, buradaki degerleri kendi domain ayarlariniza gore konfigure etmeniz gerekmekte. Bu zaten sadece MDT kullanilarak yapilan isletim sistemi kurulumlarindan bildiginiz bir adim olabilir.

07-01-2013 13-27-03






















DomainAdmin : 
Bilgisayari domaine eklerken kullanilacak kullanici adi. Ornek : OSDAdmin
DomainAdminDomain : DomainAdmin kullanicisinin domaini Ornek: Domain1
DomainAdminPassword : Domain Admin kullanicisinin sifresi
JoinDomain : Bilgisayarin dahil edilecegi domain adi, Ornek: Domain1.yerel
MachineObjectOU : Bilgisayar objesinin yaratilacagi OU, Ornek: OU=YeniBilgisayarlar,DC=Domain1,DC=yerel

Daha sonra SCCM'de ki mevcut task sequence'nizde Apply Network Settings adimini konfigure etmeniz gerekmekte, degisken isimleri aynen MDT DB deki gibi olacagindan isiniz cok basit.

Domain : %JoinDomain%
DomainOU : %MachineObjectOU%
Account : %DomainAdmin%
Password : %DomainAdminPassword%
07-01-2013 13-25-08

Seklinde degisikliklerinizi yapmaniz yeterli olacak, sifre yi girerken yuzdeleri basa ve sona yazmayi unutmayin,

Using MDT DB to get location specific Domain Joining parameters in SCCM OSD

If you have multiple domains as me and want to automate domain joining task by sensing locations automatically in SCCM OSD, you can use MDT DB to do it easily. You can also do this by adding more actions with different queries to your TS or customizing your coustomsettings.ini. But I prefer using MDT DB as changes there doesn't need to be refresh as packages, GUI makes it easier to manage and more foolproof, etc.

All you need to do is modifying location details on your MDT DB and call these variables in your SCCM TS.

So first edit your location details in MDT Workbench, you'll need to edit four values here as shown below.

07-01-2013 13-27-03






















DomainAdmin :
The name of the account used to join the domain. Example : OSDAdmin
DomainAdminDomain : The domain of the account used to join the domain. Example: Domain1
DomainAdminPassword : The password of the account used to join the domain.
JoinDomain : The name of the domain in which the computer should be placed. Example: Domain1.local
MachineObjectOU : The OU in which the computer account should be created (if it does not already exist)., Exaple: OU=NewComps,DC=Domain1,DC=Local

Then you'll need to modify your "Apply Network Settings" action in your TS to use values in MDT DB. It is very as MDT Workbench displays these as it is. So all you need to do adding % to the start and the end of the variable as below.

Domain : %JoinDomain%
DomainOU : %MachineObjectOU%
Account : %DomainAdmin%
Password : %DomainAdminPassword%
 07-01-2013 13-25-08

All done, now you can test it.

Please note that you'll need a working SCCM and MDT integration to use this method first.

Thursday, 6 December 2012

How to prompt for computer name in MDT/SCCM Task Sequence (OSD)

I was using Collection Variables in Collection Settings to ask Computer Name [OSDComputerName] at the beginning of my OSD Task Sequences. It was useful but it doesn't have confirmation or correction features.

So I wanted to change it to something asks if the entered computer names is correct and allow user to change name before final confirmation.

And it worked nicely : )

My new prompt for the computer name script is
gfdgdfgdgdgdg

Feel free to use, change or optimize.

You can create a SCCM Package and run this script via "Run Command Line" action in your task sequence (cscript "PromptForComputerName.wsf").

Or you can place it into your MDT Scripts (Toolkit package) and  run "Use Toolkit Package" action before it from, then run (cscript "%deployroot%PersonalPromptForComputerName.wsf") in a "Run Command Line" action just after "Use Toolkit Package".

Friday, 30 November 2012

MDT/SCCM OSD Task Sequence - Install Software Failed (hr=80008013) for Programs with dependencies


When you install an application with dependencies (nested); by running other SCCM package/programs first in MDT/SCCM OSD it fails with the error code  0x80008013 which means (E_FAIL_DEPENDENCY_NOT_RUN : This program cannot run because it depends on another program that has not run successfully before. This error code is returned to task sequence manager when a task sequence Install Software Action step cannot be run because the step has a child program which has not been run before.).

The reason is OSD in SCCM can't install the dependencies first, so you need to separate programs for your OSD Install software tasks.

The task sequence execution engine failed executing the action (Cisco Any Connect) in the group (Laptop Software) with the error code 2147516435 Action output: _ProgramID="Silent  Install",PKG_PackageID="SMS0012C"' Verified policy is compiled in 'root\ccm\policy\machine' namespace content location count = 1 Invoking Execution Manager to install software
FALSE, HRESULT=80008013 (e:\nts_sms_fre\sms\client\osdeployment\installsoftware\installsoftware.cpp,282)
0, HRESULT=80008013 (e:\nts_sms_fre\sms\client\osdeployment\installsoftware\installsoftware.cpp,746)
Entering ReleaseSource() for \\DPSERVER\SMSPKGE$\SMS0012C reference count 1 for the source \\DPSERVER\SMSPKGE$\SMS0012C\ before releasing
Released the resolved source \\DPSERVER\SMSPKGE$\SMS0012CpInstall->Install(sPackageID, sProgramName), HRESULT=80008013 (e:\nts_sms_fre\sms\client\osdeployment\installsoftware\main.cpp,374)
Failed to invoke Execution Manager to Install Software for PackageID='SMS0012C' ProgramID='Silent Install' AdvertID='SMS20333' hr=0x80008013 Install Software failed, hr=0x80008013 Install Software failed, hr=0x80008013.

See http://technet.microsoft.com/en-us/library/bb632794.aspx  for
Custom Error Codes for Configuration Manager 2007.



Thursday, 29 November 2012

MDT / SCCM OSD - Run actions based on chassis type

It is very easy to run chassis type specific actions in task sequences by querying , all you need to do is adding  Task Sequence Variable in Options. Fill Variable field with IsLaptop , select your condition and write the value you wanted (True or False)
30-11-2012 12-48-15

 

Monday, 26 November 2012

WinPE AdoDB SQL Connection Error (429)

I was using MDT wDB for OS deployments, now I am creating the same (better) system with SCCM for wider and easier deployment. I prefer MDT integration to SCCM as it provides lots of flexibility and customizability.

Today, I wanted to use MDT DB with my SCCM OSD, so I created a new MDT Settings package and copied my old CustomSettings.ini from MDT and customized. Duplicated my current build TS and changed the MDT Settings package in respective Gather actions.

Deployed a test machine and found out no localization settings have applied. So I found the error "Unable to create ADODB.Connection object, impossible to query SQL Server: ActiveX component can't create object ( 429 )" in logs. After a few web search I found MDT Boot image usage is recommended as it has necessary libraries to create ADODB connection.

As usual I wanted to fix that instead of using my old MDT boot image, checked WinPE_FPs folder in WAIK and seen there is a winpe-mdac.cab (MS Data Access Components) and added this package to boot image.

  • dism /mount-wim /WimFile:g:\wimwork\boot.csrx64.wim /index:1 /MountDir:G:\WimWork\x64

  • dism /image:G:\WIMWork\csrx64 /Add-Package /PackagePath:"C:\Program Files\Windows AIK\Tools\PETools\amd64\WinPE_FPs\winpe-mdac.cab"

  • dism /unmount-image /MountDir:G:\WIMWork\csrx64 /Commit


Now I have necessary libraries in my new boot image and it can connect to SQL server.

Note : Don't forget to change Netlib value to DBMSSOCN in your CustomSettings.ini if you will use SQL Authentication instead of Windows Authentication.

Friday, 14 September 2012

How to exclude a collection from a collection in SCCM

To exclude a collection from another collection, add the query below to Criteria section by using Show Query Language window.

select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client from SMS_R_System where SMS_R_System.ResourceId not in (select ResourceID from SMS_CM_RES_COLL_CAM001B6) and SMS_R_System.ResourceId not in (select ResourceID from SMS_CM_RES_COLL_SMS00011)

The bold blue text here is the excluded collection ID.

Another example

select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,
SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,
SMS_R_SYSTEM.Client from SMS_R_System where
SMS_R_System.OperatingSystemNameandVersion = "Microsoft Windows NT Workstation 6.1"
and SMS_R_System.Client = 1 and SMS_R_System.ClientType = 1 and SMS_R_System.ResourceId
not in (select ResourceID from SMS_CM_RES_COLL_SMS00024)
 111


 333

Wednesday, 23 May 2012

Find error code descriptions from decimal long number in SCCM 2007 reports


Convert error code from decimal to hexadecimal

  • 2147746369 > 80040241
  • -2147220846 > FFFFFFFF80040292 (Ignore first 8 Fs)

Converted error codes that begin with 800402 or 800403 are typically System Center Configuration Manager 2007 error codes.

Visit http://technet.microsoft.com/en-us/library/bb632794.aspx for all custom error codes for Configuration Manager 2007.

All other error codes are typically Windows error codes or third-party error codes. All Windows error codes can be identified by using the Trace32 program and by specifying the error code, such as "80072EE7."

This is a summarized versiom of http://support.microsoft.com/kb/944375/en-us

Sunday, 1 January 2012

Fix for "WARN: Could not get property (domain) for system (0x80005010)"

The Active Directory system discovery process cannot detect a client if the DNS suffix of the client differs from its DNS domain name in System Center Configuration Manager 2007 SP2

To request the hotfix from MS or to see more details : http://support.microsoft.com/kb/2345551

File Information
File nameFile versionFile sizeDateTimePlatform
Adsgdis.dll4.0.6487.215940,29601-Feb-201013:50x86
Adsource.dll4.0.6487.2159126,82401-Feb-201013:50x86
Adsysdis.dll4.0.6487.215942,34401-Feb-201013:50x86
Adsysgrp.dll4.0.6487.215940,29601-Feb-201013:50x86
Adusrdis.dll4.0.6487.215940,29601-Feb-201013:50x86

Friday, 11 November 2011

Create Desktop Shortcut with Script

Hi all

Today, I have received an application to deploy with SMS Server 2003, I had to create a MSI Package and some scripts to make that application installation most user friendly, actualy something doesn't need user interaction. So I have needed a script that can find logged user profile folder and create a desktop shortcut to the configuration file in user profile folder.

I have found an article about how to create desktop shortcuts at Technet http://www.microsoft.com/technet/scriptcenter/guide/sas_wsh_aytf.mspx?mfr=true , it is detailed enough to understand how to do it,

Technet Script :
Set objShell = WScript.CreateObject("WScript.Shell")
strDesktopFolder = objShell.SpecialFolders("AllUsersDesktop")
Set objShortCut = objShell.CreateShortcut(strDesktopFolder & "\IIS Manager.lnk")
objShortCut.TargetPath = "%SystemRoot%\System32\Inetsrv\iis.msc"
objShortCut.Save

 

As you see above script creates WshShortcut object by calling CreateOBject, than it defines Desktop folder path with strDesktopFolder by AllUsersDesktop value. But we will change this script to locate and crete a desktop shortcut of a file that unique for every user.

First of all we need to find logged users profile path, to do this we will get USERSPROFILE value from Windows Environment Settings by adding this line

UsersProfile = objShell.ExpandEnvironmentStrings("%USERPROFILE%")

now we know logged users profile path has defined in UsersProfile (e.g. C:\Documents and Settings\OShener)

*Tip : You can get another Windows Environment variables values by using objShell.ExpandEnvironmentStrings by changing variable name in (%%) , you can check your existing environment variables by running set command in command promt too.

So where is our user specific target file for shortcut ? Let assume it is located in DW folder and the DW folder is in the the logged users profile folder. Now we are going to define a variable to fix the target file path with this line:

objShortCut.TargetPath = UsersProfile & "\DW\DW.conf"

and to find and define logged users desktop path to a variable we add this line to the script too

strDesktopFolder = objShell.SpecialFolders("Desktop")

and we have to define the Desktop Shortcut location before create it

Set objShortCut = objShell.CreateShortcut(strDesktopFolder & "\DWConf.lnk")

Ok, let tidy up the script and see what we have now ?
Set objShell = WScript.CreateObject("WScript.Shell")
UsersProfile = objShell.ExpandEnvironmentStrings("%USERPROFILE%")
strDesktopFolder = objShell.SpecialFolders("Desktop")
Set objShortCut = objShell.CreateShortcut(strDesktopFolder & "\DWConf.lnk")
objShortCut.TargetPath = UsersProfile & "\DW\DW.conf"
objShortCut.Save

If you wish you can add different properties to your shortcut too, like Windows HotKey, Description, Working Folder, only thing you need to do that add ObjShortcut properties as : objShortCut.HotKey = "Ctrl+Shift+D" and refer to the link : http://www.microsoft.com/technet/scriptcenter/guide/sas_wsh_aytf.mspx?mfr=true

 

Script ile masaustune kisayol yaratmak

Merhaba

SCCM ile dagitmam gereken bir uygulama gecti elime, uygulamanin konfigurasyon dosyasini ise script ile kurulum sirasinda oturum acan kullaniciya gore otomatik olarak duzenlemek ve olusutulan konfigurasyon dosyasina ait bir kisayolu yine oturum acan kullanicinin masaustune yerlestirmem gerekti.
Technet sayfalarinda yeterince detayli bir script bulunmakta simdi bu scripti nasil bu amaca uygun hale getirebildigimize bakalim.

Mevcut script :
Set objShell = WScript.CreateObject("WScript.Shell")
strDesktopFolder = objShell.SpecialFolders("AllUsersDesktop")
Set objShortCut = objShell.CreateShortcut(strDesktopFolder & "\IIS Manager.lnk")
objShortCut.TargetPath = "%SystemRoot%\System32\Inetsrv\iis.msc"
objShortCut.Save

 

Yukarida goruldugu gibi WshShortcut objesi CreateObject ile cagrilarak yaratildiktan sonra strDesktopFolder'a AllUsersDesktop degeri atanmakta objShortCut.TargetPath ile de kisayolun cagiracagi obje tanimlanmakta , ancak biz her kullanicinin kendi profil klasorunde duran bir dosya icin kisayol yaratacagimiz icin, hem masaustu hem de cagirilacak dosyanin diskteki yerini oturum acan kullaniciya gore dinamik olarak belirlemek zorundayiz , bu amaca ulasmak icin basit bir sekilde sisteme oturum acan kullanicinin profil klasorunu belirleyecegiz.

UsersProfile = objShell.ExpandEnvironmentStrings("%USERPROFILE%")

satiri ile sisteme oturum acmis olan kullanicininin profil klasoru adresini UsersProfile degiskenine atiyoruz. Bunun sonucunda UsersProfile oturum acan kullanicinin profil klasorune yani ornek vermek gerekirse C:\Documents and Settings\oshener degerini aliyor.

*Ipucu : objShell.ExpandEnvironmentStrings ile Command Prompt da Set komutunu calistirdigimizda gelen listeden farkli obje ve degerlerinide (%...%) kismini degistirerek cekebilirsiniz.

Simdi objShortCut.TargetPath ile kurulum ile yerlestirilen konfigurasyon dosyasinin yerini belirleyelim. Diyelim ki cagiracagimiz dosya kullanici profili klasoru icinde bulunan DW klasoru altinda ki DW.Conf dosyasi olsun,

ConfFile = UsersProfile & "\DW\DW.conf"

ile dosyamizi kaynak adresi ile beraber ConfFile degiskenine atamis,

objShortCut.TargetPath = ConfFile

ile ise yaratacagimiz kisayolun cagiracagi dosyayi gosterdik.

Simdi kisayolumuzun yaratilacagi yeri oturum kullanicinin masaustu bilgisini kullanarak tanimlayalim

strDesktopFolder = objShell.SpecialFolders("Desktop")

komutu ile oturum acan kullanicinin masaustu klasoru adresini cekebiliyoruz , eger bu imkan olmasa idi , daha once yarattigimiz UsersProfile degerine & "\Desktop" metnini ekleyerek ayni bilgiyi yaratabilirdik.

Set objShortCut = objShell.CreateShortcut(strDesktopFolder & "\DWConf.lnk")+

komutu ile de yaratacagimiz kisayolun tam hedefini tanimliyoruz.

Simdi degisiklikleri toparlayarak nasil bir scriptimiz oldu kontrol edelim.
Set objShell = WScript.CreateObject("WScript.Shell")
UsersProfile = objShell.ExpandEnvironmentStrings("%USERPROFILE%")
strDesktopFolder = objShell.SpecialFolders("Desktop")
Set objShortCut = objShell.CreateShortcut(strDesktopFolder & "\DWConf.lnk")
objShortCut.TargetPath = UsersProfile & "\DW\DW.conf"
objShortCut.Save

Eger arzu ederseniz yine yukarida adreste bulabileceginiz degerler ile kisayolunuz Kisayol tusu, aciklama, calisma klasoru belirleyebilirsiniz bunun icin tek yapmaniz gereken objShortCut. ile degeri tanimlamak olacaktir. (Ornek : objShortCut.HotKey = "Ctrl+Shift+D")

Monday, 16 May 2011

SMS/SCCM Report - Access Denied / ASP 0178 : 80070005 Hatası

Merhaba

Eger Windows 2003 SP1 uzerinde calisan bir SMS 2003 Serveriniz var ise , ve Administrators grubunda olmayan bir kullaniciya SMS panelinde Raporlara erisim hakki verdiginiz halde erismeye calisinca Error : Access is Denied. hatasi aliyorsa oncelikle bu kulllaniciyi SMS Sunucunuz uzerindeki SMS Reporting Users grubuna eklemelisiniz.

Tekrar raporu cagirdiginiz ve asagidaki hatayi aldiysaniz bunun sebebi Windows 2003 SP1 ile DCOM erisim guvenlik ayarlarinin guvenlik arttirimi icin daha kati sekilde konfigure edilmesidir.

SMS_Rep_Error_2

Server object error 'ASP 0178 : 80070005'
Server.CreateObject Access Error
/SMSReporting.SiteCode/Report.asp, line 64
The call to Server.CreateObject failed while checking permissions. Access is denied to this object.

Bu sorunu gidermek icin ise asagidaki yolu izlemeniz gerekmektedir.

Once Administrative Tools altindaki Component Services i calistirip asagidaki asamaya ulasip SMS_REPORTING_POINT in ozelliklerine girecegiz.

SMS_Rep_Error_3

Simdi ozelliklerdeki Security tabina giriyoruz.

SMS_Rep_Error_4

Security tabinda , Launch and Activation Permissions kisminda Customize i secip Edit tusuna basiyoruz.

SMS_Rep_Error_5

Bu asamda gelen listeye SMS Reporting Users lokal kullanici grubunu eklemeniz gerekiyor, daha sonra bu kullanici icin Local Activation secenegini Allow etmeniz, Local Launch secenegini temizleyip islemi onaylayarak duzletmeyi tamamlayabilirsiniz.

DCOM da bu degistirdigimiz ayarlarla ayrintili bilgi icin DCOM Security Enhancements adresini ziyaret edebilirsiniz.

 

Saturday, 16 April 2011

SCCM Prerequisities Check'te Distribution point package version hatasi

Eger SCCM pre. checker'i calistirdiginizda "Distribution point package version;    Warning;    All distribution points in the site to be upgraded should have the latest version of software distribution packages before beginning the upgrade process." hatasi aliyorsaniz asagidaki SQL Query' sini SMS DB sinin bulundugu SQL sunucunuzda calistiriniz. Bold yapmis oldugum yere site code unuzu yazmayi unutmayiniz.

select distinct dps.ID, sitesys.ServerName, ip.IP_Addresses0 from SysResList as sitesys join System_DISC as sys on UPPER(sitesys.ServerName)=UPPER(sys.Netbios_Name0) join ( select dppkg.ID, dppkg.PkgServer from PkgStatus as dppkg join PkgStatus as sitepkg on dppkg.ID = sitepkg.ID where dppkg.Type = 2 and sitepkg.Type = 1 and dppkg.SourceVersion != sitepkg.SourceVersion) as dps on UPPER(dps.PkgServer) = UPPER(sitesys.NALPath) left join System_IP_Address_ARR as ip on sys.ItemKey = ip.ItemKey where sitesys.SiteCode = 'Your3characterSiteCode' and ip.IP_Addresses0 like '%.%.%.%'

Query size hangi paketlerde sorun oldugunu gosterecektir. O paketlerin durumunu System Status\Package Status'den kontrol etmeniz gerekmekte, sorun varsa distribution share ini Paket ayarlarindan kaldirip (remove) bir sure bekledikten sonra tekrar Query i calistiriniz, sonuc bos gelince dist. share'i tekrar listeye ekleyiniz (add).

Tuesday, 22 February 2011

Script ile SMS/SCCM Advanced Client'in Machine Policy yi cekip uygulamasini saglamak

Asagidaki ornek script araciligi ile SMS/SCCM Advanced Client yuklu istemcinizin sunucunuzdan son machine policy i cekip , uygulamasini saglayabilirsiniz, ozellikle testlerinizde isinizi hizlandirmak icin cok faydali olacagini saniyorum.



On Error Resume Next

Dim objCPAppletMgr
Dim objClientActions
Dim objClientAction
Dim strActionName

strActionName="Request & Evaluate Machine Policy"

'Get the Control Panel applet manager object
set objCPAppletMgr = CreateObject("CPApplet.CPAppletMgr")

'Get a collection of client actions

set objClientActions=objCPAppletMgr.GetClientActions

'Loop through the available client actions

For Each objClientAction In objClientActions

If objClientAction.Name = strActionName Then
objClientAction.PerformAction
WScript.Echo "Action " + objClientAction.Name + " initiated"
End If
Next