DU3

Cílem kurzu je seznámit posluchače se základy správy operačních systémů Microsoft Windows tak, aby byli schopni pro konkrétní případ nalézt správnou volbu systému, navrhnout odpovídající síťové řešení a toto řešení zavést a udržovat. Kapacita cvičení (tj i možnosti získat zápočet) bude z technických důvodů omezena.
Uživatelský avatar
Dan
Matfyz(ák|ačka) level I
Příspěvky: 32
Registrován: 17. 1. 2006 13:32

Dalsi domaci ukol ...

Příspěvek od Dan »

Domaci ukol: napsat kus scriptu ktery zjisti datum o uzivateli a vypise ho v rozumne forme



toto je moja verzia domaceho ukolu .. original verzia :
http://www.rlmueller.net/Integer8Attributes.htm

info o tom type:
http://msdn.microsoft.com/library/defau ... nteger.asp

Kód: Vybrat vše

Function EightByteIntToDate(objDate, posun)
' funkce konvertuje large Integer/Interval na datumovy podtyp VARIANTu
' posun je minutovy posun oproti GMT ... CR,SK = - 60   
    Dim lngAdjust, lngDate, lngHigh, lngLow
    lngAdjust = posun
    ' tieto funkce su zo standardneho typu lADslargeInteger
    lngHigh = objDate.HighPart
    lngLow = objdate.LowPart
    ' IADslargeInteger je znamenkovy typ a ak najvyssi bit je jedna tak to berie za zaporne cislo
    ' predpoklada sposob ukladania zapornych cisel pomocou bitoveho doplnku
    If (lngLow < 0) Then
        lngHigh = lngHigh + 1
    End If
    If (lngHigh = 0) And (lngLow = 0) Then
        lngAdjust = 0
    End If
    ' datum je ulozeny v stovkach nanosekund
    lngDate = #1/1/1601# + (((lngHigh * (2 ^ 32)) _
        + lngLow) / 600000000 - lngAdjust) / 1440
    ' osetrenie errorov
    On Error Resume Next
    ' CDate vracia datumovy podtyp VARIANTu
    EightByteIntToDate = CDate(lngDate)
    If (Err.Number <> 0) Then
        On Error GoTo 0
        EightByteIntToDate = #1/1/1601#
    End If
    On Error GoTo 0
End Function

wscript.echo "=== Konverzie datumov ==="
Set myUser =GetObject("LDAP://CN=Administrator,CN=Users,DC=matfyz,DC=vojtek,DC=cz")

' tie atributy som nasiel pomocou toolu ADSIedit
set passwordLastSet = myUser.get("pwdLastSet")
set userLastLogon = myUser.get("lastLogon")

wscript.echo "Datum poslednej zmeny hesla:  " & EightByteIntToDate(passwordLastSet,-60)
wscript.echo "Datum posledneho zalogovania: " & EightByteIntToDate(userLastLogon,-60)

wscript.Echo "THE END "
"War doesn't determine who's right, but who's left."
Uživatelský avatar
Kate
Matfyz(ák|ačka) level III
Příspěvky: 146
Registrován: 8. 1. 2005 10:52
Typ studia: Informatika Mgr.
Bydliště: Milada squat
Kontaktovat uživatele:

Re: Dalsi domaci ukol ...

Příspěvek od Kate »

Dan píše:Domaci ukol: napsat kus scriptu ktery zjisti datum o uzivateli a vypise ho v rozumne forme
to jako budeme ted delat domaci ukoly nejak pravidelne? a je to nutne na zapocet? mam nejak nedostatek informaci :oops: . tak me napada, za co vlastne bude zapocet? 8)
Uživatelský avatar
joshis
Matfyz(ák|ačka) level III
Příspěvky: 127
Registrován: 23. 11. 2006 01:47
Typ studia: Informatika Mgr.
Kontaktovat uživatele:

Příspěvek od joshis »

Moje reseni 2. domacaku, snad bude nekomu uzitecne. Skript vypise expiration date pro ucet dany parametrem prikazove radky (cscript script.vbs "Administrator").

Kód: Vybrat vše

' script.vbs

Set oArgs = WScript.Arguments
userName = oArgs(0)

Set oUser = GetObject("LDAP://cn=" & userName & ", cn=Users, dc=domain, dc=com")
expDate = oUser.AccountExpirationDate 
 
If expDate <= "1/1/1970" Then
    WScript.Echo "No account expiration date specified for " & userName
Else
    WScript.Echo "Account expiration date for " & userName & ": " & expDate
End If
Dalsi co lze vypisovat je treba last logon, last logoff...

Více na:
http://www.cruto.com/resources/vbscript ... -examples/

Good Luck
Uživatelský avatar
jaruch
Supermatfyz(ák|ačka)
Příspěvky: 376
Registrován: 5. 2. 2005 14:06
Typ studia: Informatika Mgr.
Kontaktovat uživatele:

Příspěvek od jaruch »

mozno som celkom mimo, ale kde sa da najst zoznam tych atributov?
lebo to co je v tom skripte hore som nikde nenasiel ako atribut, ale funguje to a naopak... :roll:
Shit shit, who the fuck is shooting us?
I've got a universe to master...
Uživatelský avatar
Eubie
Matfyz(ák|ačka) level III
Příspěvky: 295
Registrován: 8. 10. 2005 15:35
Typ studia: Informatika Bc.
Kontaktovat uživatele:

Re: Dalsi domaci ukol ...

Příspěvek od Eubie »

Kate píše:
Dan píše:Domaci ukol: napsat kus scriptu ktery zjisti datum o uzivateli a vypise ho v rozumne forme
to jako budeme ted delat domaci ukoly nejak pravidelne? a je to nutne na zapocet? mam nejak nedostatek informaci :oops: . tak me napada, za co vlastne bude zapocet? 8)
Zapich pry bude za napraveni nejake nekalosti, kterou obrdzalek provede do nasi domeny. Osobne si ale myslim, ze nam, stejne jako v minulych letech, zkontroluje, jestli nam vsechno funguje bez erroru, a bude to. Resp. kez by:)
Uživatelský avatar
Eubie
Matfyz(ák|ačka) level III
Příspěvky: 295
Registrován: 8. 10. 2005 15:35
Typ studia: Informatika Bc.
Kontaktovat uživatele:

Příspěvek od Eubie »

to joshis: Díky!

Měl byste někdo skript na řešení tohohle? :

Kód: Vybrat vše

1. Vypsat textové informace o userovi
2. vypsat všechny informace jednoduchých typů
3. vypsat všechny informace
Jde mi o to, jestli na to neni nějaká funkce jako GetAllSimpleAttribs nebo tak něco:) Řešení že vykoukam na DC jaký atributy kdo má a vypíšu je ( ručně je vyjmenuju ve skriptu ) mi nepřijde dost záludný a neobstává Obdržálkově stylu výuky "googluj a uč se!".
Uživatelský avatar
joshis
Matfyz(ák|ačka) level III
Příspěvky: 127
Registrován: 23. 11. 2006 01:47
Typ studia: Informatika Mgr.
Kontaktovat uživatele:

Par vice detailnich linku...

Příspěvek od joshis »

Ahoj Eubie (a ostatni),

nechce se mi to ted psat (...no dobre... priznavam... neumim to :-D ), proto poslu typ odpovedi, ktery sam bytostne nesnasim: odkazy jinam. Ostatne myslim, ze na strankach, ktere jsem uvedl vyse, to vse najdes - je tam ukazka VBScriptu specialne pro praci s AD. Pro jistotu sem prilepim jeden "hlubsi" link se stejne stranky:

http://www.cruto.com/resources/vbscript ... sers/list/

a mozna jeste jeden podrobnejsi - "List All the Attributes of the User Class":

http://www.cruto.com/resources/vbscript ... -Class.asp

kde najdes nasledujici kod (vypisujici povinne a volitelne atributy objektu typu "user"):

Kód: Vybrat vše

Set objUserClass = GetObject("LDAP://schema/user")
Set objSchemaClass = GetObject(objUserClass.Parent)
 
i = 0
WScript.Echo "Mandatory attributes:"
For Each strAttribute in objUserClass.MandatoryProperties
    i= i + 1
    WScript.Echo i & vbTab & strAttribute
    Set objAttribute = objSchemaClass.GetObject("Property",  strAttribute)
    WScript.Echo " (Syntax: " & objAttribute.Syntax & ")"
    If objAttribute.MultiValued Then
        WScript.Echo " Multivalued"
    Else
        WScript.Echo " Single-valued"
    End If
Next
 
WScript.Echo VbCrLf & "Optional attributes:"
For Each strAttribute in objUserClass.OptionalProperties
    i=i + 1
    WScript.Echo i & vbTab & strAttribute
    Set objAttribute = objSchemaClass.GetObject("Property",  strAttribute)
    WScript.Echo " [Syntax: " & objAttribute.Syntax & "]"
    If objAttribute.MultiValued Then
        WScript.Echo " Multivalued"
    Else
        WScript.Echo " Single-valued"
    End If
Next
(Vystup skriptu jsem v prilozil (v ramci zachovani rozumne delky prispevku) do samostatneho souboru...)

Nevim, jestli jsi hledal zrovna tohle, jestli ne, zkus radeji ten prvni link ;) . Prumerne zdatny programator to uz podle me nejak sezvejka 8) .
Přílohy
out_vbs.txt
Vystup skriptu
(14.94 KiB) Staženo 274 x
Uživatelský avatar
Eubie
Matfyz(ák|ačka) level III
Příspěvky: 295
Registrován: 8. 10. 2005 15:35
Typ studia: Informatika Bc.
Kontaktovat uživatele:

Příspěvek od Eubie »

Uau, máš u mě žvejku!!:) Díky
Uživatelský avatar
joshis
Matfyz(ák|ačka) level III
Příspěvky: 127
Registrován: 23. 11. 2006 01:47
Typ studia: Informatika Mgr.
Kontaktovat uživatele:

Příspěvek od joshis »

Eubie: :lol: :lol: :lol: :lol: :lol:

(omlouvam se za vysokou hodnotu tohoto prispevku)
Uživatelský avatar
Kate
Matfyz(ák|ačka) level III
Příspěvky: 146
Registrován: 8. 1. 2005 10:52
Typ studia: Informatika Mgr.
Bydliště: Milada squat
Kontaktovat uživatele:

Příspěvek od Kate »

paráda, tohle forum bude za chvili lepsi než google :wink:

to joshis: diky za nesobeckou snahu pomoci kamaradum (a kamaradkam :)), az priste zase dostanes cerny puntik, tak slibuju, ze nebudu hlasovat pro to, abys dostal jeste jeden :lol:

to eubie:
diky za reakci, ja se uz ptala a pochopila jsem to tak, ze na zapocet nam musi behat ty nase milovany serveriky tak, jak maji (o zadnych zakernostech nebyla rec) a ze na konci semestru napiseme nejaky skript ci co (udajne urovne "da se to zvladnout i na cvikach").

kazdopadne, vse by me tesilo vic, nez pomluvy, ktere se ke me dostaly a podle kterych bychom si meli v zaveru skodit v nasich domenach navzajem (kdo prezije, vyhraje). to by se mi teda fakt nelibilo (a ne jen z duvodu, ze nevim, jak bych vam uskodila :twisted: )
Odpovědět

Zpět na „SWI099 Administrace Systemu Windows“