You are here:   Blogs
  
Author: SUF Created: 2009.01.24. 6:21
Windows

Van nekem néhány szerverem, amit ugye menteni kellene. Biztonsági szempontból valahogy nem akaródzik a Domain Admin-t használni a mentés időzített feladatához. Ugye erre született a Backup Operators csoport.

Rendben is van, kreáltam egy mezei felhasználó az AD-ben, hozzá is raktam a Backup Operators csoporthoz. Összeraktam a szokásos mentő batch fájlomat. Beállítottam a scheduled tasksban mindent.

A mentés nem fut le. Közli, hogy "Couln't start". Boldog vagyok, ez a hatalmas hibaüzenet rengeteget mond.  Előtúrom a scheduled tasks logját (Advanced/View log), innen már okosabb lettem. Közli, hogy "Access Denied".  Mégis mi a fülemhez nincs hozzáférésem? Ugrás a Local Policyba. Logon locally és Logon as batch job jogom van. Tudtommal más nem kell hozzá, hogy működjön.

Irány a gugli. Félóra turkálás, hülye ötlet hegyek, végül:
http://support.microsoft.com/default.aspx/kb/867466

A cmd.exe-hez kell jogot adni a Backup Operatorsnak.
Mi van??? Először felháborodtam, hogy lehetnek ekkora marhák, hogy ez a jog nincs eleve kiosztva, majd utána gondoltam, és rájöttem, hogy a Backup Operators eredetileg arra van jogosítva, hogy az ntbackup-ot futtassa és nem arra, hogy holmi batch fájlokkal hekkelgesse a rendszert.

Jó néhány hónappal ezelőtt volt egy elég kemény problémám egy WMI script-el

var objWMIServices; 
var Sink; 
var EventArr; 
var i = 0; 

EventArr = new Array(); 
objWMIServices = 
    GetObject("WinMgmts:{impersonationLevel=impersonate, (security)}"); 
Sink = WScript.CreateObject("WbemScripting.SWbemSink","SINK_"); 
objWMIServices.ExecNotificationQueryAsync(Sink,
    "SELECT * FROM __InstanceCreationEvent " + 
    "WHERE TargetInstance ISA 'Win32_NTLogEvent' " + 
    "AND TargetInstance.LogFile = 'Application'"); 

WScript.Sleep(5000); 

for (i = 0; i < EventArr.length; i++) 
{ 
    WScript.Echo(EventArr[i].TimeGenerated); 
    WScript.Echo(FromWMIDateTime(EventArr[i].TimeGenerated).toLocaleString()); 
    WScript.Echo(FromWMIDateTime(EventArr[i].TimeGenerated).toUTCString()); 
    WScript.Echo(((EventArr[i].User == null)? "N/A" : EventArr[i].User)); 
} 
Sink.Cancel(); 
delete Sink; 

function SINK_OnObjectReady(objEvent, objAsyncContext) 
{ 
    EventArr[i] = objEvent.TargetInstance; 
    i++; 
} 

function FromWMIDateTime(WMIDT) 
{ 
    var RetVal; 
    RetVal = new Date(ToInt(WMIDT.substr(0,4)), 
        ToInt(WMIDT.substr(4,2)) - 1, 
        ToInt(WMIDT.substr(6,2)), 
        ToInt(WMIDT.substr(8,2)), 
        ToInt(WMIDT.substr(10,2)), 
        ToInt(WMIDT.substr(12,2))); 
    return RetVal; 
} 

function ToInt(Str) 
{ 
    var i = 0; 
    while((Str.charAt(i) == "0") & (i < Str.length)) 
        i++; 
    return parseInt(Str.substring(i,Str.length)); 
} 

Ha ezt a kedves darabot Adminként futtatom, működik. Ha egy más felhasználó nevében, akkor is. Ha Adminként Scheduled Taskban megy akkor is működik, viszont ha egy más felhasználó nevében megy Scheduled Taskban akkor kapok egy kedves Eventlog hibát. Ezt:

Event Type: Error
Event Source: DCOM
Event Category: None
Event ID: 10003
Date:  2005. 05. 26.
Time:  17:20:21
User:  XXXXX\backup
Computer: XXXXXX
Description:
Access denied attempting to launch a DCOM Server using DefaultLaunchPermssion. The server is:
{49BD2028-1523-11D1-AD79-00C04FD8FDFF}
The user is backup/XXXXX, SID=S-1-5-21-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXX.

Több helyen a neten feltettem mint kérdést, de nem jött rá válasz. Ma egy más probléma kapcsán elkezdtem vele megint játszani és ez lett a megoldás:

Az MMC Component Services Snap-in -ben a DCOM alatt a Microsoft WBEM Unsecured Apartment -re (ennek a GUID-je található az Eventlog bejegyzésben) Launch jogot kell adni annak a felhasználónak akinek a nevében a Scheduled Task fut.

 Megjegyzés

Ahhoz, hogy megjegyzést tégy a bejegyzésekhez, regisztrálnod szükséges. Egyszerűen válaszd ki a regisztráció linket a jobb felső sarokban és add meg a szükséges információkat. Ha bejelentkeztél, fűzhetsz megjegyzést a bejegyzésekhet. 

Már regisztráltál? Kattints ide a bejelentkezéshez. 

 

 Keresés