czwartek, 22 lipca, 2010 - 19:08

Puste konsolki mmc

Autor: peki | Kategorie: server, w-files, windows

Ostatnio, przy zabawię z ISA 2006 (Windows 2003 R2 SP2) pojawił mi się dziwny problem – zniknęły pola w konsolce mmc. Drzewko było widoczne, ale nie można było zobaczyć jakiegokolwiek ustawienia konfiguracji:

Podobny problem spotkał konsolkę mmc services.msc:

Google radzi w takich wypadkach uruchomić, vbscript.dll, oraz mshtml.dll

regsvr32 jscript.dll & regsvr32 vbscript.dll & regsvr32 mshtml.dll

Niestety nie pomogło.

Moją uwagę jednak zwróciło to, że powinniśmy przerejestrować komponenty odpowiedzialne za wyświetlanie html-a w systemie, razem ze skryptami. Chwilka zastanowienia, szybki rzut oka na logi systemowe – i tak, ostatnio z aktualizacji spłynął IE 8. Po odinstalowaniu, sytuacja wróciła do normy – konsolki zaczęły się wyświetlać normalnie.

poniedziałek, 12 lipca, 2010 - 21:13

BCD i skrypty

Autor: domel | Kategorie: article, script/developer, windows

Totalny w-file tym razem. Tyle, że rozwiązany :)

Problem – zautomatyzować operację dodawania wpisów w BCD, żeby skryptem dodawać Pingwina do boot menu w Windows 7.

Pierwszy krok prosty: dodajemy wpis dla grub4dos - http://grub4dos.sourceforge.net/wiki/index.php/Grub4dos_tutorial#Booting_GRUB_for_DOS_via_the_Windows_Vista_boot_manager

Teraz wypada by to przenieść na inną maszynę – chwilka przekopywania się przez dokumentację i okazuje się, że BCDEdit umożliwia import i export ustawień. piknie – robić backup i potem go odzyskać na innej maszynie. Niestety nie działa. Z tego prostego powodu, że wpis dla W7 nie ma GUID {current}, tylko jakiś dziwoląg – niestety GUIDy są generowane pseudolosowo. Efekt: pingwin się podnosi, Windows nie ^^

Rozwiązania są dwa:

1. Wykorzystać WMI i BCDProvider (http://msdn.microsoft.com/en-us/library/aa362675(v=VS.85).aspx) i można zrobić tak (wymaga wcześniejszego dodania wpisów):

set args = WScript.Arguments
num = args.Count

if num <> 1 then
  WScript.Echo Usage: CScript \\nologo [Menu Selection]
  WScript.Quit 1
end if

MenuPick=args.Item(0)

Const BcdLibraryString_Description = &h12000004
Const BootMgrId = {9dea862c-5cdd-4e70-acc1-f32b344d4795}
Const DefaultType = &h23000003
Const WindowsImages = &h10200003

strComputer = .
Set objStoreClass = GetObject(winmgmts:{(Backup,Restore)}\\ & _
strComputer & \root\wmi:BcdStore)
objStoreClass.OpenStore “”, objStore
objStore.EnumerateObjects WindowsImages, colObjects
For Each objObject in colObjects
  objObject.GetElement BcdLibraryString_Description, objElement
  If Instr(objElement.String, MenuPick) Then
    objStore.OpenObject BootMgrId, objBootMgr
    objBootMgr.SetObjectElement DefaultType, objObject.ID
  End If
Next

2. wykręcić pętlę w CMD:

for /f tokens=3 %%a in (’bcdedit -create -d PJWSTK Linux  -application bootsector’) do set guid=%%a
bcdedit /set %guid% device boot
bcdedit /set %guid% path \grldr.mbr
bcdedit /displayorder %guid% /addlast

działa pięknie – po prostu pobiera trzecie słowo z outputu BCDEDIT – to ZAWSZE jest GUID :)

teraz można to wrzucić jako cmd /c “%scriptroot%\bcd.cmd” do Task Sequence w MDT i mamy zautomatyzowane dodawanie pingwinów na W7 :D

PS. warto pamiętać, ze sysprep kasuje zawartość BCD :)

poniedziałek, 21 czerwca, 2010 - 16:48

Blank desktop na W7

Autor: domel | Kategorie: windows

UAC czasami przeszkadza – to fakt. Poprawia bezpieczeństwo – to jeszcze bardziej znany fakt (jak mawia Paula – komputer bez UACa, to jak komputer z pustym hasłem dla admina :) )

W Windows Vista UAC powodował czasmi symptom niemożności zalogowania się – objawy jak i ich wyleczenie są opisane w odpowiednich KB:

a co jeśli takie objawy pojawią się na Windows 7? i mamy wyłączonego UACa? i wpisy w rejestrze są ok? i członkowstwo grup się zgadza?

Odpowiedzi szukałem 3 godziny – App Locker – bez włączony podstawowych (Default) reguł explorer nie potrafi uruchomić C:\Windows\system32\userinit.exe ^^

[SOLVED] \(^~^)/

piątek, 28 maja, 2010 - 11:38

trochę softu, vhd i windows backup

ostatnio testowane:

  • NetSurveyor – darmowy skaner WiFi, trochę bardziej rozbudowany niż NetStumbler
  • WinImage – shareware [3o uruchomień], pozwalający na obsługę różnych formatów obrazu dysq – m.in. vhd. co fajniejsze, ma wbudowaną opcję D2I [disk-to-image]. w przeciwieństwie do disk2vhd nie korzysta z bibliotek systemu stanowiąc pełne rozwiązanie. dzięki temu możliwe było przerobienie w98 na maszynę wirtualną [disk2vhd wymaga min. wXP SP2]. dodatkowo do mountowania dysków *nie jest* wymagany żaden sterownik, dzięki czemu nie trzeba restartować systemu po instalacji i generalnie jest mniej ‘inwazyjny’ dla systemu. poza tym, że to shareware najpoważniejszą wadą było to, że podczas extrakcji plików z vhd, po natrafieniu na błąd aplikacja się wywaliła ): w kwestii wydobywania danych lepiej sprawdził się inny program..
  • gizmo drive – fajny, darmowy tool do mountowania różnych formatów jako dyski wirtualne [aka DeamonTools]. obsługuje m.in. vhd. wymaga restartu przy instalacji [sterownik dla dysq wirtualnego]. ponieważ jest to na poziomie sterownika, gdy wystąpił błąd podczas kopiowania, po prostu pominąłem plik i można było kontynuować operację.

i taka ciekawostka – teoretycznie vhd jest *standardem*. problem jednak polega na tym, że wersje vhd się różnią – vhdmount z virtual servera nie otworzy vhd z w2k8. obraz zrobiony na w2k8 R2 różni się od tego z w2k8. nie miałem czasu na testy ale mapując vhd utworzone w2k8 R2 pod w7 diskpart napisał, żebym spadał na szczaw, bo on takiej wersji nie obsługuje. problemem jednak mógł być fakt, że jako ścieżkę podałem UNC – do przetestowania.

niemniej po otwarciu vhd z w2k8 R2 za pomocą gizmo [plik backupu], 2 plików nie udało się skopiować z dziwnym komunikatem ‘błąd dostępu podczas próby zapisu’. nie wiem czy wynika to z faktu, że to vhd z R2 czy z jakiegoś wewnętrznego uszkodzenia vhd [he?]… ale po co w ogóle taka zabawa?

o nowym winbackupie pisałem już kilka razy i nie mam o nim dobrego zdania. kolejny argument przeciw to niekompatybilność wersji – winbackup z w2k8 nie umie sobie poradzić z plikami z w2k8 R2 – w ogóle nie rozpoznaje tego jako backup. i tutaj kolejny problem – jak sobie radzić w takiej sytuacji? vhd są różne i różnie się zachowują [jak np. te dwa pliki, które nie chciały się skopiować]. w starych wersjach nie ma standardowego narzędzia do obsługi vhd no i w ogóle… nie istnieją scenariusze – nie tylko odzyskania systemu [ustawienia, rejestr, usługi] ale nawet głupich plików. w zasadzie cały winbackup sprowadza się do jednego scenariusza: *ten server*, *ta wersja*, *na tym sprzęcie*, *na tym dysq* – jakakolwiek zmiana i można zapomnieć o backupie. jego przydatność jest co najmniej niszowa. do przetestowania mam jeszcze czy gizmo widzi poprzednie wersje plików – bo przecież backup był robiony przyrostowo więc powinno być kilka wersji [vhd obsługuje shodow copy – tak jak zwykły dysk].

reasumując: windows backup – 3xNIE. qpując serwer warto zaopatrzyć się w jakiś soft do backupu a windowsowy używać tylko jako uzupełnienie – scenariusz “baremetal recovery” z obrazu.

ma ktoś warty polecenia, *darmowy*, soft do backupu, działający na w2k8 R2?

eN.

poniedziałek, 10 maja, 2010 - 10:58

w7 GodMode

Autor: nExoR | Kategorie: tips'n'tricks, windows

trzeba przyznać, że osoba, która wymyśliła taką nazwę dla tego triq miała fantazję (; trik jest prosty – załóż katalog o nazwie “GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}” – w jednym miejscu/jako jedna lista będą widoczne wszystkie ustawienia control panel’a.

przydatne (:

eN.

środa, 21 kwietnia, 2010 - 14:42

WebDav – Sharepoint na w2k8R2

Autor: nExoR | Kategorie: server, tips'n'tricks, windows

Ponieważ już drugi raz zapomniałem – czas to sobie zapisać [*zapamiętać*]:

sharepoint nie korzysta z WebDav dostarczanego przez IIS – ma wbudowany własny mechanizm. w związq z tym nie trzeba instalować tego komponentu. co więcej – dla wersji x64, niewolno go instalować, ponieważ nawet jeśli jest wyłączony dla poszczególnych siteów, nie będzie działał komponent SP.

z emesowego Whitepaper - Understanding and Troubleshooting the SharePoint Explorer View:

WebDAV, IIS, and SharePoint

Many people are under the misconception that SharePoint uses the WebDAV functionality provided by IIS 6.0. Actually, SharePoint provides its own WebDAV implementation using the Stsfilt.dll ISAPI filter that is installed with both Windows SharePoint Services and SharePoint Portal Server. Enabling or disabling the WebDAV extension in IIS 6.0 has no effect on SharePoint functionality.

*UPDATE*

jest jeszcze jedna zabawa sprawa – jeśli site skonfigurowany jest *tylko* z SSL [require SSL] to przy próbie zmapowania dostaje się błąd ‘acc denied’. jeśli jest skonfigurowane jest dodatkowe dowiązanie [nie musi to być port 8o – ja wstawiłem 8o8] i odhaczy się ‘require SSL’ to polecenie “net use * https://sharepoint…” działa normalnie. gr8.

eN.

wtorek, 20 kwietnia, 2010 - 10:50

jak czytać błędy

Autor: nExoR | Kategorie: tips'n'tricks, windows

przypadkiem trafiłem na ciekawe wyjaśnienie numerków błędów. jeden z programów sypnął numerkiem ‘2147944309’ – co on oznacza? problem polega na tym, że niektóre programy podają w hexach inne w dzisiętnym. standardowo większość opisów posługuje się szesnastkowym. ten numerek przypomina dzisiętny, więc go przekonwertujmy:

2147944309 = 0x80070775

i taki błąd zaczyna przypominać coś, co się zna. ‘8007’ oznacza standardowy błąd Win32, pozostaje więc info dot. błedu ‘0775’. i pomimo, że winda posługuje się standardowo szesnastkowym, to narzędzie jakie jest w systemie wymaga podania dziesiętnego zapisu, a więc kolejne przeliczenie:

0x775 = 1909

no i pozostaje wykorzystać starego, ‘dobrego’ neta:

PS C:\>net helpmsg 1909
The referenced account is currently locked out and may not be logged on to.

eN.

czwartek, 8 kwietnia, 2010 - 12:17

jak usunąć SRP?

Autor: nExoR | Kategorie: tips'n'tricks, windows

SRP czyli w świecie sp/vista – Software Restriction Policy (w w7 pojawił się AppLocker) służą do nakładania pewnych ograniczeń dla aplikacji – głównie co może/nie może się uruchomić. jest to część GPO i można je usunąć w prosty sposób – klikając PGM na kontenerze ‘software restrictions’ i po prostu usnąć:

image 

jest tylko jedno małe ‘ale’… tego menu w GPO nie ma, jeśli GPMC/GPEdit uruchomiony jest na XP! a więc jeśli chce się usunąć SRP admintoolsy nie pomogą – trzeba się pofatygować na serwer.

eN.

środa, 31 marca, 2010 - 11:59

MDT, WDS, PXE i inne dziwne skróty

Autor: domel | Kategorie: HOWTO, article, server, windows

Jakiś czas temu (tak na prawdę dawno – pół dekady) Peki oswajał linuksy na RISie http://www.umniedziala.pl/RISaInstalacjiCzescVOswajaniePingwina.aspx. Powoli zbliża się czas aktualizacji komputerów do W7, więc trzeba było pomyśleć nad wdrożeniem Widnows Deployment Services. Żeby było łatwiej – zainstalowałem i skonfigurowałem Microsoft Deployment Toolkit 2010 (posiłkując się między innymi artykułem nexora - http://www.microsoft.com/poland/technet/article/art0173.mspx). Wszytko pięknie. Przygotowałem boot images z zestawem sterowników. Zmodyfikowany customsettings.ini:

[Settings]
Priority=Default
Properties=MyCustomProperty

[Default]
OSInstall=Y
SkipBDDWelcome=NO
SkipProductKey=YES
SkipComputerName=NO
SkipDomainMembership=NO
JoinDomain=pjwstk.edu.pl
DomainAdminDomain=PJWSTK
MachineObjectOU=OU=newstud,OU=TESTOWA,DC=pjwstk,DC=edu,DC=pl
SkipUserData=YES
SkipLocaleSelection=YES
InputLocale=0415:00000415; 0409:00000409; 0411:00000411
KeyboardLocale=pl-PL
UserLocale=pl-PL
SkipTimeZone=YES
TimeZoneName=Central European Standard Time
SkipAdminPassword=YES
SkipBitLocker=YES
DoNotCreateExtraPartition=YES
SkipComputerBackup=YES
SkipFinalSummary=YES
SkipAppsOnUpgrade=YES
SkipCapture=NO
SkipApplications=NO
SkipPackageDisplay=NO
SkipDeploymentType=NO
SkipWizard=NO
SkipSummary=YES
_SMSTSOrgName=PJWSTK
UserDomain=pjwstk

Plik C:\Program Files\Microsoft Deployment Toolkit\Templates\winpeshl.ini zmieniony, żeby wyłączyć F8 (odizolowanie CMD):

[LaunchApps]
%SYSTEMROOT%\System32\bddrun.exe,/bootstrapNoSF8

Obrazy lite touch dodane do WDS. wszytko się bootuje. instaluje i ogólnie jak w podręczniku :) I tu pierwszy problem – jak zabezpieczyć hasłem serwer WDS? No bo fajnie by było wrzucić na niego DaRT (Software Assurance rządzi ;) ) Z pomocą przyszło forum Social@TechNet :) Johan Arwidmark napisał fajny sposób na podmianę boot loadera na WDS na R2 - http://deployvista.com/Home/tabid/36/EntryID/126/language/en-US/Default.aspx

Z pxelinux dzięki Pekiemu jestem zaznajomiony, więc niewiele myśląc przygotowałem konfigi i działa :D

image

Jeszcze dwie ciekawostki:

pxeboot haszuje hasła z solą, więc do przygotowywania haseł sugeruję korzystać z dołączonego generatora haszy napisanego w perlu (wymaga libcrypto*)

Serwer WDS standardowo zawiera część funkcjonalności serwera DHCP – odpowiada DHCP Offer z opcją Next server IP address:

image 

Jak widać na obrazku poszły dwie DHCP Offer – pierwsza z WDS, druga z rzeczywistego DHCP-a. Aby temu zapobiec i pozostawić opcje DHCP na jednym pudełku należy na serwerze WDS zaznaczyć opcję “Do not listen on port 67”

image

To by było na tyle – teraz zostało tylko przygotowanie źródłowego, wielojęzycznego obrazu W7, ale to temat na inny wpis :)

niedziela, 28 marca, 2010 - 16:47

BOOTMGR is missing: smutny żart microsoftu

Autor: nExoR | Kategorie: server, tips'n'tricks, windows

podczas przenoszenie konfiguracji z pojedynczego dysq na RAID przywitał mnie taki śliczny komunikat: “BOOTMGR is missing”. z podobnymi problemami borykałem się wiele razy, więc pomyślałem sobie “jakiś to problem”… szybko okazało się, że problem jest całkiem niebłahy, a inżynierowie eMeSa zrobili chyba wszystko, żeby to utrudnić.

jak wiadomo od visty/w2k8 zmienił się sposób obsługi startu systemu – zupełnie nowy bootmanager, obsługa GPT itp itd… w moim przypadq był to server w2k8 R2. podstawą jest oczywiście płyta instalacyjna serwera, odpalamy i… upsss…nie ma na płycie serwera opcji reperacji – to pierwsza miła niespodzianka. najwyraźniej ktoś wyszedł z założenia, że serwer się nie psuje albo że admin jako geek poradzi sobie z linii poleceń. no i co ma sobie nie poradzić? przecież wszystkie polecenia znam dobrze:

  • shift-F10 do konsoli
  • sprawdziłem katalog boot [nie ma]
  • skopiowałem pliki z CD do c:\boot
  • bootrec /reinstallbcd

ślicznie. tylko nie działa. no to następnym razem jeszcze /fixmgr oraz /fixboot [z bootrec].. nie działa… google, fora no i w sumie wszyscy podają takie same rozwiązania, i co by nie zrobić nic nie działa – wciąż wita mnie ten sam milusi komunikat. była nawet taka jedna podpowiedź “weź płytę z klientem, odpal, użyj opcji ‘repair startup problems’” – co za lamerka, no ale dobra. spróbowałem… i nadal nie działa.

aż nie trafiłem na tą instrukcję:

    1. Boot from your Windows Server 2008 R2 x64 DVD.
    2. Repair
    3. Command Prompt
    Note: I only had one drive and that drive was set for C: as  the boot so the setup was fairly basic… if your setup is more complex you may want to consider this a bit more… but it should still work.
    4. rename c:\boot\BCD bcd.old : this will backup your bcd file just in case you want it.
    5. Delete c:\boot\bcd
    6. Restart your computer
    7. Remove your WS2008R2 DVD and insert the W7×64 DVD.
    8. Boot from the DVD and do a repair.
    9. It will offer to repair automatically accept.
    10. Reboot and this is the "trick" boot the DVD again and do a repair.  Keep doing this process until it does not find anything wrong.
    11. Your server should boot again.

“wykonuj ten proces póty, póki nie wykryje więcej błędów” – WTF? to jakiś smutny dowcip? no ale kiedy nie ma się nic do stracenia [czasu i tak już straciłem ZA DUŻO] – porestartowałem sobie troszq…

…no i zadziałało! w sumie 4 restarty, 3 reperacje. O CO C’MON?

szukałem dobrego artu na temat reperacji BCD i tego, co się w zasadzie dzieje podczas owej reperacji z płyty – czemu wszystkie opisy pokazują narzędzie bootsect, bootrec, bcdedit, ale żaden nie wskazuje narzędzi wykorzystywanych podczas reperacji tak, jak się dzieje z GUI i w końcu czemu, do cholery czemu! na płycie serwera nie ma tego toola?

to się nazywa poprawić mechanizm bootowania? idealny materiał na podrążenie tematu i opisanie tego porządnie … tylko czasu brak no i jakiś rozwalony komp by się przydał – bo trzeba na czymś testy porobić [chyba wiem, jak to popsuć, ale na pewno na tym serwerze już nie będę testował (; ]

eN.

czwartek, 25 marca, 2010 - 17:57

mapdrive script:automatyzacja mapowania dysków z serwera plików

prosta idea [nie zawsze wykonalna] – wedle podręcznikowego przydzielania uprawnień i zarządzania grupami polega na tym, że dla każdego udziału na FS tworzona jest grupa security-domain local – np. Share_FS01_RW_public. tej grupie nadawane są uprawnienia [w tym przypadq RW] a całe zarządzanie przydzielaniem uprawnień polega na dodaniu grupy funkcyjnej do grupy dostępowej. przykład w praktyce:

  1. zakładam w AD jednostkę organizacyjną OU=AccessGroups
  2. zakładam w AD jednostkę organizacyjną OU=Accounting
  3. zakładam grupę funkcyjną security-global ‘Accounting’ i dodaję odpowiednich userów). te 3 kroki oczywiście definiują miniaturkę podstawowego środowiska lab
  4. księgowość musi mieć swój prywatny katalog na FS więc:
    1. zakładam grupę Security-Domain Local o nazwie “AG_FS01_RW_Accounting” w OU-AccessGroups – to przykładowa notacja która pozwala w łatwy sposób odróżnić grupy dostępowe od innych, zawiera nazwę serwera, którego dotyczy, uprawnienia [dzięki temu można łatwo odróżniać grupy RW od R] oraz jakiego udziału dotyczą.
    2. zakładam katalog ‘Accounting’ na FS01 i publiqję go jako ‘\\FS01\Accouting’
    3. jedyne uprawnienia jakie zakładam na katalogu to “authenticated users:M” na poziomie udziału oraz “AG_FS01_RW_Accounting:RW” na poziomie NTFS
    4. teraz aby nadać uprawnienia do katalogu wystarczy, że dodam grupę ‘Accounting’ do ‘AG_FS01_RW_Accounting’

wadą takiego rozwiązania jest niezliczona ilość grup w złożonym środowisq – a więc czasem podręcznikowe rozwiązanie nie może być zastosowane. zalet jednak jest bardzo dużo:

  • wszystko zarządzane z jednego miejsca za pomocą ADUaC bez potrzeby logowania/sprawdzania na serwerach plików
  • ..czyli centralizacja zarządzania uprawnieniami
  • łatwość delegacji zarządzania uprawnieniami
  • utrzymywanie spójnej, prostej struktury: przejrzystość
  • prostota automatyzacji mapowania: ujednolicone/uniwersalne skrypty mapowania
  • automatyczne mapowanie dysków dla użytkowników zaraz po dodaniu do grupy funkcyjnej

poniżej zamieszczam przykładowy skrypt logowania mapujący dyski, który ma możliwość mapowania na podstawie przynależności do grupy. ponieważ użytkownicy nie należą bezpośrednio do grupy dostępowej, sprawdzany jest drugi poziom zagnieżdżenia – atrybut memberof. jest możliwość włączenia rekursywnego sprawdzania zagnieżdżenia ale ma to kilka mankamentów:

  • jest dość powolne w realnym środowisq, gdzie grup jest sporo
  • istnieje niebezpieczeństwo przypadkowego zmapowania katalogu z powodu powiązań pomiędzy grupami

******************************************************************************** map network drives lib for logon script                                     **   can be used to map multiple drives. possible error handling               **   user must have proper permissions - providing credentials not handled     **                    nexorek(at)gmail.com           25.iii.2kd                **EXAMPLE USE:                                                                 **addMapping “m”,”\\192.168.1.100\c$”                                          **addMapping “n”,”\\192.168.1.100\d$”                                          **mapNetworkDrives                                                             **                                                                             **EXECUTE WITH ERROR HANDLING:                                                 **addMapping “m”,”\\192.168.1.100\c$”                                          **addMapping “n”,”\\192.168.1.100\d$”                                          **if mapNetworkDrives<>0 then                                                  ** wscript.echo “do something with “&mapNetworkDrives                          **else                                                                         ** wscript.echo “netdrives mapped successfully”                                **end if                                                                       **                                                                             **MAP USER-named DRIVE                                                         **addMapping “h”,”\\server\share\”&logonName                                   **                                                                             **CONDITIONAL MAP DRIVE ON USER MEMBERSHIP                                     **if isMember(”group name”) then addMapping “s”,”\\server\sharename”           **                                                                             ********************************************************************************
ON ERROR RESUME NEXT
Const FileServer=\\put.servername.here

Dim dictMappings
Dim oADSystemInfo
Dim oUser, groupList, loginName, dictGroups, g
dim tempname

********************************************************************************                                 MAIN                                        ********************************************************************************used for store information about mapping drives
set dictMappings=CreateObject(Scripting.Dictionary)

Object for user/computer information
set oADSystemInfo=CreateObject(ADSystemInfo)
USER
set oUser=GetObject(LDAP://&oADSystemInfo.UserName)
loginName=oUser.SAMAccountName
USER GROUPS MEMBERSHIP
set dictGroups=CreateObject(Scripting.Dictionary)
groupList=oUser.getEx(memberOf)
for each g in groupList
  if not strcomp(lcase( left( getObject(LDAP://&g).objectCategory,8) ),cn=group ) then
    enumGroupsInGroup(LDAP://&g)
  end if
  tempname=lcase(mid(g,4,InStr(g,,)-4))
  if not dictGroups.exists(tempname) then dictGroups.add tempname, g
next

PUT MAPPINGS HERE. example:
if isMember(AG_FS01_RW_Accounting) then addMapping i,\\FS01\Accounting
mapNetworkDrives

********************************************************************************                              SUBS’N'FUNCS                                   ********************************************************************************
Sub addMapping(drvLetter, srvPath)
  dictMappings.add ucase(drvLetter)&:, srvPath
End Sub

Function mapNetworkDrives()
  ON ERROR RESUME NEXT
  Dim wshNetwork
  Dim AllDrives, i

  Set WshNetwork = WScript.CreateObject(WScript.Network)
  Set AllDrives = WshNetwork.EnumNetworkDrives()

  For each i in dictMappings
    unmap before mapping - just to be sure that drive letter is not used
     if dictMappings.Exists(i) then
       WShNetwork.RemoveNetworkDrive AllDrives.Item(i)
     end if
    WShNetwork.MapNetworkDrive i, dictMappings(i)
    mapNetworkDrives=cstr(hex(err.number))
  next
End Function

Function isMember(gName)
  if dictGroups.Exists(lcase(gName)) then
    isMember=TRUE
  else
    isMember=FALSE
  end if
End Function

Sub enumGroupsInGroup(gname)
  ON ERROR RESUME NEXT
  Dim grpList, gentry

  grpList=getObject(gname).getEx(memberOf)
  for each gentry in grpList
    if not strcomp(lcase( left( getObject(LDAP://&gentry).objectCategory,8) ),cn=group ) then
      dictGroups.add lcase(mid(gentry,4,InStr(gentry,,)-4)), gentry
      next line is recursion for multilevel nesting. for performance purposes assumed 2-level structure
      so it is disabled. there should be no more then second-level nesting for permissions
      in fact it can be even dengerous - someone may have accidently mapped drive  
      enumGroupsInGroup(”LDAP://”&gentry)
    end if
  next

End Sub

jak się okazuje, czasem teoria przekłada się na praktykę – mówię tu o podręcznikowym projektowaniu grup (global/domain local i standardowe AGDLP).

eN.

sobota, 6 marca, 2010 - 0:07

Czy można net przeglądać jeszcze szybciej?

Autor: wAsyL | Kategorie: internet, news, technology, windows

Ostatnimi czasy wszyscy [no – prawie wszyscy – na pewno wiecie kto odstaje ;-)] producenci przeglądarek optymalizowali silniki JavaScript. Czy można zrobić coś jeszcze? Oczywiście, jest kolejny obszar w którym jest jeszcze sporo miejsca na poprawę. Kto powiedział, że akcelerator jest tylko do grania ;) W Windows 7 (i Windows Vista też z zainstalowanym Platform Update, info też tu, do ściągnięcia przez WU) małymiękki udostępnił nowe api Direct2D [sprzętowo realizowana grafika wektorowa] i DirectWrite [sprzętowy rendering tekstu]. Do kompletu mamy dostępne wersje testowe FireFoxa 3.7. Żeby skorzystać z dobrodziejstwa inwentarza trzeba trochę podkręcić FF w about:config ustawić:

  • gfx.font_rendering.directwrite.enabled na true
  • mozilla.widget.render-mode na 6 [cokolwiek to oznacza hehe]

Dokładniejsze info o konfiguracji FF jest tu.

I zrestartować FF. Skąd wiemy, że działa? Zerknąć tu – powinno być naprawdę płynnie. Innymi aplikacjami gdzie odczujemy wyraźną poprawę są Google Maps i Bing Maps. Zresztą poklikajta samemu i porównajta z Waszymi ulubionymi przeglądarkami.

MS również podąża tą drogą – IE9 zrobi dobry użytek z Direct2D i DirectWrite [info tu i tu]. A co z Chrome? No niestety nieprędko się chyba doczekamy… A szkoda.

niedziela, 28 lutego, 2010 - 11:56

Microsoft Security Essentials PL

Autor: wAsyL | Kategorie: windows

W tzw. międzyczasie pojawił się Microsoft Security Essentials PL. Niby nie ma się co ekscytować bo wersja angielskojęzyczna jest już jakiś czas dostępna, ale mimo wszystko jest przyjemnie, że ktoś pomyślał w końcu o nasz, bo do tej pory żeby ściągnąć ów produkt trzeba było końbinować [od kombinowania jak koń pod górę ;)] z ustawieniami regionalnymi przeglądarki zmieniając je na en-[cośtam] bo inaczej serwer małego i miękkiego stwierdzał, ze to nie jest produkt na nasz rynek… No cóż, lepiej późno niż wcale, samo oprogramowanie ma z grubsza ten sam silnik co FCS co jak moje doświadczenia pokazują gwarantuje małe zużycie zasobów i niewidoczną [aczkolwiek skuteczną wedle testów] z punktu widzenia użytkownika pracę.

W tym momencie kompletnie nie widzę celu w kupowaniu abonamentów na produkty konkurencji. I co ciekawe uaktualnia sie sam, korzystając z API dodanego do WU/MSU całkiem niedawno. Czyli ściąganie poprawek do systemu i aplikacji MS może być opcjonalne a definicje AV będą aktualne. Czyż nie o to prosił kiedyś nasz szanowny Nexorrrrrr? ;) Mówisz - masz ;d

środa, 24 lutego, 2010 - 18:02

Windows logon: kolejna tajemnica.

Autor: daro | Kategorie: w-files, windows

Sytuacja:
Serwer: W2K8 (Standard)
Klient: W7 / VISTA
Z klienta, łączymy się po rdp do serwera. Wyskakuje od razu okno do podania użytkownika i hasła.
Trik: jeśli hasło wkleimy za pomocą CRTL+V, wszystko ok, jeśli za pomocą SHIFT+INS: nie działa, system informuje o nieprawidłowym haśle.
Jest to tym bardziej, dziwne, że w całym systemie skrót SHIFT+INS funkcjonuje prawidłowo, nawet w polu nazwy użytkownika.
Owszem problem, nie wymaga krytycznej poprawki i natrafi na niego jedynie znikomy odsetek korzystających ze starego jak świat, jeszcze dosowego skrótu SHIFT+INS…. ale bug znaleziony :-)

środa, 24 lutego, 2010 - 0:36

Windows 7 pass crack

Autor: daro | Kategorie: w-files, windows

Mniejsza o powód, każdy prędzej czy później będzie musiał dostać się do systemu windowsowego.
Nie wiem na czym polega magia windows 7, którą podobno przepisano od podstaw, nie obchodzi mnie to, a nawet lepiej że tak jest.
Fakt, faktem, iż na stronie http://pogostick.net/~pnh/ntpasswd/
znajdujecie 3MB obraz ISO, który po wypaleniu na płytę i zbootowaniu dowolnej maszyny resetuje hasło.
Działa na (za autorem): NT 3.51, NT 4 (all versions and SPs), Windows 2000 (all versions & SPs), Windows XP (all versions, also SP2 and SP3), Windows Server 2003 (all SPs), Vindows Vista 32 and 64 bit (SP1 also), Window 7 (all variants). Some say also Windows Server 2008 is OK.
Ja testowałem na: 2000, XP, SRV2003, Vista, 7. Nie muszę dodawać, że z sukcesem.
Czas ściągnięcia: 15 sekund, bootowanie systemu: 15 sekund, restet hasła: 15 sekund. Wrażenia: bezcenne.
System to oczywiście jakiś linuks, ale na tyle prosto to wszystko jest przygotowane, że osoba mająca minimum pojęcia ogarnie to w parę chwil. Spece tacy jak my :-) z zamkniętymi oczami. Narzędzie, jako jedyne, ANI RAZU mnie nie zawiodło, nie zależnie czy to dysk IDE, SATA, czy stary złom, czy nowiutki Dell. Całkowicie za darmola. Szacunek dla autora.
Bezpośredni link do ISO: http://pogostick.net/~pnh/ntpasswd/cd080802.zip

poniedziałek, 22 lutego, 2010 - 19:45

Windows 7 logon screen – WTF?

Autor: daro | Kategorie: curiosity, windows

Czy ja jestem pierwszy, który dodaje W7 do domeny?
Co oni zrobili z tym ekranem logowania? Wiem że tak podobnie było w Viście (udało się nie dodawać u żadnego klienta do domeny), ale to jakaś masakra jest:
1 mogę wpisać tylko usera i hasło, domene/lokalny komputer podpowiada sam – najczęściej nie tak jakbym chciał
2 muszę wpisać za każdym razem od początku nazwę domeny, jeśli poprzednio logowałem się lokalnie
3 muszę pamiętać jaka jest nazwa komputera, jeśli chce się do niego zalogować lokalnie, problem często jest nie tyle z wpisanie, co z pamiętaniem. Teoretycznie, jak siadam do komputera, to nie wiem jaką ma nazwę (mam z akruszem inwentaryzacyjnym chodzić?), jeśli nie jest opisany (laptopy standardowo opisane są od spodu).
4 udało mi sie dotrzeć do ustawienia, gdy były “aktywne” dwa obrazki z kontami (admin i administrator) i nie mogłem zrobić “zaloguj innego użytkownika), a przed chwilą sam wylogowałem się z jednego z kont…
5 może komuś pomaga – ale są dostępne opcje zmiany języka i układu klawiatury podczas logowania – nim dotarłem, do „globalnych ustawień klawiatury i języka dla ekranu logowania” zablokowałem sam sobie kilka razy konto domenowe, bo układ klawiatury akurat nie był taki jak myślałem.

Sprawy może dość banalne, ale ilość tego zaskoczyła mnie, bo nie wpadłem, na ile różnych problemów można się natknąć już przy ekranie logowania… Poza tym, ciśnie się jedno: DLACZEGO? Dlaczego poprawione zostało coś, co naprawdę działało sprawnie, wygodnie i dobrze?
O ile pkt 1, 2, 5 po prostu są upierdliwe i wydłużają czas pracy, zamiast go skracać, to pkt 3 jest zwyczajnym rozwaleniem roboty - jak mam pamiętać, albo skąd mam wziąć nazwę niezalogowanego komputera (help?), a pkt 4 wygląda na zwyczajnego buga.

Jeśli miało być lepiej, to dlaczego nikt nie pomyślał ostrzeżeniu że „masz wciśnięty NumLock”? Co drugi user, który dostaje nowy laptop ginie przy pierwszym zetknięciu z tym problemem. ..

wtorek, 2 lutego, 2010 - 8:56

Bardzo wolno działające RDP

Autor: marcins | Kategorie: tips'n'tricks, windows

Ostatnio przyjechał do nas projektor Dell 4610X - małe czarne pudełko z antenką wifi.

Działa to w ten sposób, że użytkownik łączy się za pomocą przeglądarki z urządzeniem, ściąga aplikacje, uruchamia … i już można prowadzić prezentacje wyświetlając jednocześnie obraz z 4 komputerów - fajnie….. fajnie by było… gdyby  nie to, że wpadliśmy z kumplem na pomysł  aby przetestować czy ta aplikacja będzie działać z maszyn w oddziale z innego miasta (oddziały połączone dedykowanym łączem, na brzegach ISA 2006) i czy nie trzeba będzie rzeźbić czegoś na firewallach.

Tak więc, za wiele nie myśląc, otworzyliśmy pierwszą lepszą aktywną sesję RDP z maszyną z innego miasta, uruchomiliśmy przeglądarkę, ściągnęliśmy soft, odpaliliśmy i …. świat zwolnił - praca po RDP przypominała pracę na modemie 56K z włączonymi wszystkimi wodotryskami.  Ekran odświeżany co kilkanaście sekund, reakcja myszki nie wiele szybsza. Mówiąc krótko - nie da się pracować.

Eeee - pomyśleliśmy - pewnie trafiliśmy akurat na jakiś pik, albo chłopaki po drugiej stronie akurat coś robią na serwerze. Spróbujmy na innym… a więc szybkie logowanie, przeglądarka, uruchomienie softu …. I kurde znowu to samo - wszystko zwalnia niemiłosiernie …  :/

 

Podsumowując: rozwalone dwa serwery produkcyjne w niewiele ponad 2 minuty - myślę, że to całkiem niezły wynik ;-)

 

No ale koniec śmiechów - trzeba to przecież jakoś naprawić.

 

Oczywiście próba odinstalowania aplikacji nic nie pomogła, wyczekiwane okienko czasowe  na  restart serwerów również. Fiaskiem skończyły się też telefony do supportu Dell’a i zaklinanie laleczki voodoo.

 

Dwa dni później, po postawieniu testowej wirtualki i prześledzeniu zmian jakie wprowadziła ta aplikacja do systemu doszedłem co jest grane. Przyczyną okazało się zmienienie poziomu akceleracji dla RDP Display Driver (RDPDD.DLL)  przez aplikacje z projektora Della, a dokładniej nie przywracanie jej wcześniejszego stanu po odinstalowaniu aplikacji .

 

Wartość tą ustawia się w rejestrze, w gałęzi:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\RDPDD\Device0

 

Wystarczy zmienić wartość Acceleration.Level (DWORD) na 0

0 - Pełna akceleracja

5 - Brak akceleracji

 

To tyle, jedna mała aplikacja wycięła mi dwa dni życia.

 

Swoją drogą, to nie udało nam się podłączyć projektora między miastami, ale to wbrew pozorom temat na zupełnie inną opowieść.

 

Mały quiz na koniec: która z sytuacji, z opisanych w tej historyjce, nie powinna się nigdy wydarzyć i świadczy o niekompetencji adminów? ;-)

wtorek, 26 stycznia, 2010 - 13:25

Sharepoint i nie otwierający się site

Autor: kfaz | Kategorie: w-files, windows

Po ostatnich aktualizacjach przestał działać jeden site na Sharepoint, klient dostawał:
Internet Explorer cannot display the webpage
i na tym się kończyło, żadnego wpisu do logów, HTTPERR puste, słowem nic.
Jedyny niepokojący wpis to event 36870
A fatal error occurred when attempting to access the SSL server credential private key. The error code returned from the cryptographic module is 0×8009030d. The internal error state is 10001.

Po zmianie certyfikatu na inny wszystko działało (oczywiście poza tym, że certyfikat był zły i przeglądarce się to nie podobało) a po wróceniu na właściwy dalej było źle.
Przydatny okazał się artykuł: http://support.microsoft.com/kb/278381 i nadanie uprawnień, które odebrały aktualizacje :)

czwartek, 21 stycznia, 2010 - 13:52

VPN is down

Autor: kojn | Kategorie: article, tips'n'tricks, windows

Na początku września firmowy VPN (ISA - IAS) przestał działać. W sumie to tak  nagle … to znaczy rozwalił się niby IAS (ale to prosta usługa, to ją podnieśliśmy) no i ciągle coś się robi na GW … ale wyglądało to na niezwiązane. Być może nastąpiło po jakimś restarcie.

Efekt dziwny… User autoryzuje się na ISA, przechodzi przez wszystkie reguły IAS, dostaje dwa 0 (to dobrze) po czym na kliencie, pojawia się komunikat, że hasło jest złe, lub system nie wspiera takiej metody autoryzacji. Żeby było weselej, autoryzacja przebiegała za pomocą EAP i smardcard na tokenach, a dwa miesiące wcześniej zmienialiśmy główny certyfikat. SPRAWDZILIŚMY WSZYSTKO!!!! (jak się później okazało prawie). Gość od ISA, powiedział że pier%^&oli on się już na ISA nie zna, gość od Certów, że wszystko jest dobrze i żeby się od niego odpier&%&^ a gość od radiusa, że to jakiś demon jest, bo na IAS wszystko działa. Przenosiliśmy IAS na dwa różne serwery, kombinowaliśmy z VPNami na 100 różnych sposobów … nic nie znaleźliśmy. W końcu pozostała konfiguracja ISA 2006 i NPS na W2k8 (wiem już o nim chyba wszystko … durne zwierze!!!!!). ISA Autoryzowała w AD, NPS pokazywał dwa 0 (to nadal dobrze) a klient dostawał cały czas ten sam komunikat.

To był miesiąc walki, przerzucania winy, karania niewinnych, motywowanie niezaangażowanych … postanowiliśmy zgłosić task do supportu MS. Bo jedyne co nam przychodziło do głowy, to że penie gdzieś w HKLM trzeba zmienić parametr VPN_TET342342DYEIDi z 77ff389 na 11ffee. Czuliśmy się bezradni. Niby wszystko działa… a nie działa.

Task zgłosiliśmy na początku października. Przez 3 miesiące zmieniano nam kilku konsultantów, eskalowano, do Indii, gdzie oczywiście powiedzieli, że nic nie kumają i w końcu temat trafił z powrotem do Polski. Każdy nowy konsultant zaczynam od tego samego … proszę uruchomić TO i TO i to … to coś wygeneruje 1000MB logu .. I proszę to przesłać TU … (godzinny proces). Nie ukrywam … szlag mnie trafiał … eskalowaliśmy, prosiliśmy, opieprzaliśmy … w końcu odmówiłem kolejnego zbierania logów, dopóki na podstawie poprzednich, nie przejdziemy chociaż krok dalej.

Szału prawie dostałem jak tydzień temu konsultant zadał mi pytanie wskazujące na problem z MTU.

Oczywiście Qrwa że sprawdziłem MTU. Zawsze to robię … współpracujemy z połową świata, mają różne porąbane sieci … wiem co to MTU i Qrwa wszędzie mam  1500. I miałem. Tylko Sprytny pan Rafał z MS, zauważył w ruchu sieciowym, że moja ISA nie fragmentuje pakietów większych niż 1500 bajtów.  Więc jeśli po pingu większym (ping -f -l 1505 host) dostaniecie” Request time out” zamiast “Packet needs to be fragmented but DF set.” wróży to problemy ;)

 

Zmieniłem stery NICa (w razie czego), zmieniłem ustawienie JumboFrames (to raczej bez znaczenia - chyba) i zastosowałem rozwiązanie MSa… czyli takie jakiego się spodziewaliśmy ;p

 

Dodnie wpisu do rejestru

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\tcpip\parameters

Value Name: EnablePMTUBHDetect

Data Type: REG_DWORD

Value: 1

 

VPNy ruszyły.

Wniosek … Network Monitor prawdę ci powie. Tylko tam można było wywnioskować, że w trakcie ” “Access-challenge ” jeden z pakietów był dropowany.

wtorek, 12 stycznia, 2010 - 13:57

FCS – zawartość aktualizacji definicji

Autor: domel | Kategorie: HOWTO, security, server, windows

Jakiś czas temu zastanawiałem się co siedzi w aktualizacjach bazy wirusów w Forefroncie. i jak się okazuje jest KB na ten temat: http://support.microsoft.com/default.aspx?scid=kb;en-us;977939 :)