Co tam w sieci piszczy – czyli Szybkość połączenia LAN

By Przemek Kuczyński on Sierpień 29th, 2010

Skrypt logowania użytkownika pokaże nam :

nazwa komputera, zalogowanego użytkownika, nazwę karty sieciowej, opis karty sieciowej, adres ip, link speed

on error resume next
strComputer = "."
 
 
Set wshShell = Wscript.CreateObject( "Wscript.Shell" )
strServer=wshShell.ExpandEnvironmentStrings("%COMPUTERNAME%")
strUser=wshShell.ExpandEnvironmentStrings("%USERNAME%")
 
 
 
Function LinkSpeed(Desc)
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\WMI")
Set colItems = objWMIService.ExecQuery("SELECT * FROM MSNdis_LinkSpeed Where InstanceName = '" & Desc & "'",,48)
        For Each objItem In colItems
		If objItem.NdisLinkSpeed < 10000 Then
		LinkSpeed = objItem.NdisLinkSpeed / 10 & " KBps"
		ElseIf objItem.NdisLinkSpeed > 10000 Then
		LinkSpeed = objItem.NdisLinkSpeed / 10000 & " MBps"
		end if
		Next
End Function
 
 
 
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * From Win32_NetworkAdapterConfiguration " & "Where IPEnabled = True")
        For Each objItem in colItems
 
		        Wscript.Echo strServer & ";"  & strUser & ";"  & objItem.Caption & ";" & objItem.Description  & ";" & Join(objItem.IPAddress, ",") & ";" & LinkSpeed(objItem.Description)
 
 
				Next

Jeśli chcemy mieć zawsze aktualne informacje w logach skrypt wykonujemy nastepujaco:

 cscript //nologo //u \\server\zasob\skrypt.vbs > \\server\logi\%computername%.csv

Następnie za pomocą poniższego skryptu mozna polaczyć wszystkie logi w 1

del /q \\server\logi\all.csv
copy /y "\\server\logi\" C:\tmp\Nspeed\
FOR /R "C:\tmp\Nspeed" %%G IN (*.*) DO more %%G >> "\\server\logi\all.csv"

Skróty klawiaturowe w VS 2010

By Tomasz Filipowicz on Sierpień 23rd, 2010

Nie wiem jak Wy, ale dla mnie znajomość skrótów klawiaturowych w VS pozwala zaoszczędzić czas i spędzić go na produktywnym kodowaniu niż na “przeklikiwaniu się” poprzez kolejne elementy interfejsu VS.

Dla tych, którzy myślą podobnie :) Microsoft udostępnił listy skrótów klawiaturowych dla różnych języków, które dostępne są na stronie: http://www.microsoft.com/downloads/details.aspx?FamilyID=92CED922-D505-457A-8C9C-84036160639F&displaylang=en

Skróty klawiaturowe w VS 2010

By Tomasz Filipowicz on Sierpień 23rd, 2010

Nie wiem jak Wy, ale dla mnie znajomość skrótów klawiaturowych w VS pozwala zaoszczędzić czas i spędzić go na produktywnym kodowaniu niż na “przeklikiwaniu się” poprzez kolejne elementy interfejsu VS.

Dla tych, którzy myślą podobnie :) Microsoft udostępnił listy skrótów klawiaturowych dla różnych języków, które dostępne są na stronie: http://www.microsoft.com/downloads/details.aspx?FamilyID=92CED922-D505-457A-8C9C-84036160639F&displaylang=en

Nowy Hotmail z ActiveSync, ale nie dla wszystkich

By Docent on Sierpień 20th, 2010

Na pewno część z Was kojarzy sprawę nowej wersji usługi Windows Live Hotmail, czyli hostowanej poczty Microsoftu. Wraz z tą nową wersją, znaną też jako Wave 4, wprowadzonych zostało szereg naprawdę interesujących funkcji – być może część nie jest zbyt nowatorska w stosunku do konkurencji, ale na pewno fajna dla dotychczasowych użytkowników Hotmaila. O nowej wersji pisaliśmy niejednokrotnie, sam…

Skype – złożoność hasła.

By kaarol on Sierpień 19th, 2010

Hmm, ostatnio zbyt często zmieniam hasło w Skype i dziś trochę zwątpiłem. Wpisałem hasło typu @gal20SkypeW@W!002 po czym pojawił się komunikat:

Można się sprzeczać, że hasło posiada nazwę produktu, jednak według mnie jest ono wystarczająco złożone i raczej ciężko będzie je odgadnąć czy złamać za pomocą słownika lub metod siłowych. Continue Reading

Problem z public folders oraz oab przy migracji z Exchange 2003

By Tomasz_Sochacki on Sierpień 18th, 2010

Objawy: Nie można zmigrować PF z Exchange 2003 do 2010. PF nie synchronizują się między serwerami Exchange 2003 i 2010. Nie można utworzyć PF na Exchange 2010. Nie można pobrać OAB’a przez Outlook 2003 z Internetu. Rozwiązanie: Open the Adsiedit.msc tool. Expand the CN=Configuration container, and then locate the following container: CN=Services, CN=Microsoft Exchange, CN=[Org_name], […]

Windows 7 x64 + Thunderbird: MAPI – brak domyślnego klienta pocztowego

By Jarosław Jan Pyszny on Sierpień 17th, 2010

Brak jednego drobnego wpisu („MAPI”=”1”) w rejestrze Windows 7 x64 powoduje problem z wykrywaniem domyślnego programu pocztowego przez aplikacje 32bitowe (np. Adobe Reader).

Standardowo wpis ten znajduje się w:

 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Messaging Subsystem
 

W przypadku 64-bitowej edycji Windows, aplikacje 32bitowej odwołują się tak na prawdę do trochę innego miejsca (system dba o odpowiednie przeniesienie):

 
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows Messaging Subsystem
 

Niestety w tym drugim miejscu wpisu już brak. Poprawki (1) najlepiej dokonać zanim określi się Thunderbirda domyślnym program pocztowym w systemie. W przeciwnym przypadku mogą nie zostać poprawnie uaktualnione wpisy w rejestrze w kluczu określającym bieżącą, domyślną implementacji MAPI:

 
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Clients\Mail
 

W takim przypadku można się posiłkować (2).

Pomocnicze plik:

  1. MAPI_win7.reg – dodanie wpisu „MAPI”=”1”,
  2. MAPI_win7_tb.reg – dodanie wpisu „MAPI”=”1” oraz domyślnego programu pocztowego – Thuderbird, przy założeniu, że został zainstalowany w standardowym miejscu.

Czasem jednak lepiej zabrać z sobą netbooka.

By kaarol on Sierpień 17th, 2010

Urlop zakończony, w sumie to chyba najdłuższy urlop jaki zdecydowałem się wybrać. W tym roku kontynuując dzieło poprzednich wypadów postanowiłem spakować co trzeba i ruszyć gdzieś przed siebie. Jak to zwykle bywa sponsorem wakacji był Ryanair i jego tanie przeloty do Hiszpanii + ekstra bilet Interrail (6 dni w miesiącu). Continue Reading

Create a .dbml descriptor file for the Database

By Mateusz Świetlicki: Blog programisty on Sierpień 15th, 2010

To do this you need to use the SqlMetal.exe tool. Just type the following into the Visual Studio 2008 Command Prompt:

Continue Reading

SharePoint 2010 i PowerShell użyteczne skrypty

By Mateusz Świetlicki: Blog programisty on Sierpień 15th, 2010

W nowym SharePoint 2010 sryptowe zarządzanie zostało przeniesione z STSADM
do coraz popularniejszego PowerShella.
W tym artykulę napiszę postaram się zamieścić podstatowe użyteczne skrypty dla developera SP2010.
By zacząć pracę z SharePoint 2010 w consoli PowerShell należy uruchomić wersję x64 konsoli i zainportować polecenia:

Continue Reading

Create a .dbml descriptor file for the Database

By Mateusz Świetlicki: Blog programisty on Sierpień 15th, 2010

To do this you need to use the SqlMetal.exe tool. Just type the following into the Visual Studio 2008 Command Prompt:

SqlMetal.exe MyDatabase.sdf /dbml:MyDatabase.dbml

By default, the SqlMetal.exe is located at drive:\Progream Files\Microsoft SDKs\Windows\vn.nn\bin

dbml

By Mateusz Świetlicki on Sierpień 15th, 2010

Create a .dbml descriptor file for the Database
To do this you need to use the SqlMetal.exe tool. Just type the following into the Visual Studio 2008 Command Prompt:
SqlMetal.exe MyDatabase.sdf /dbml:MyDatabase.dbml
By default, the SqlMetal.exe is located at drive:\Progream Files\Microsoft SDKs\Windows\vn.nn\bin

Jezyk DAX – wstep

By Łukasz on Sierpień 11th, 2010

Na moim blogu umieściłem już kiedyś pierwszy post dotyczący nowego języka DAXData Analysis eXpressions.
Tym wpisem chciałbym jednak rozpocząć serie postów poświęconych szczegółom tego nowego języka dostępnego w PowerPivot. W kilku, może  w kilkunastu kolejnych postach postaram się przybliżyć ten język wszystkim zainteresowanym.

Chcąc korzystać z dowolnego języka musimy zawsze na początku poznać podstawową składnie tego języka.
Zacznijmy od tego w jaki sposób możemy używać języka DAX:

  • Pierwszym podstawowym zastosowaniem jest wykorzystanie funkcji, czyli obliczanie średniej, zliczanie, badanie wartości logicznych itd.. Funkcja składa się z argumentu lub argumentów, argumentami mogą być wartości, kolumny czy też tabele. Ważną rzeczą jest fakt, iż funkcje można zagnieżdżać jedne w drugich.
  • Kolejnym użyciem języka DAX są wyrażenia, mogą one się odnosić zarówno do literału, jak i stałej, może to być test logiczny, lub odniesienie do wartości jakiejś kolumny. Wyrażenie mogą być wykorzystywane np.: w filtrowaniu danych – [Zakup] > 1000
  • Operatory, czyli powiązanie różnych wartości – wyrażeń

Przykładowe formuły w języku DAX

Formuła Opis
=12 Wartość 12
=”Słowo” Słowo – tekst
=PI() Stała – wartość PI
=’FALSE’ =  0 Wyrażenie logiczne przyrównujące wartość logiczną FALSE z wartością 0. FALSE odpowiada wartości 0, a TRUE wartości 1, więc takie wyrażenie logiczne przyjmie wartość TRUE (prawda)
=’Sprzedaz’[Cena] Wartość kolumny Cena w tabeli Sprzedaz
=[Cena]*1.22 Obliczenie wartości – pomnożenie przez 1.22 wartości kolumny Cena
=[Cena]*[Vat]/100 Wymnożnie kolumny Cena i kolumny Vat, następnie podzielenie tej wartości przez 100. Zakładając że w kolumna Cena zawiera cenę netto, a kolumna Vat stawkę Vat, wówczas takie wyrażenie zwróci nam wartość podatku Vat
=SUM([Cena]*[Ilosc]) Suma wartości wyrażenia Cena * ilość, czyli suma wartości
=SUM(FILTER(Sprzedaz,Grupa=”MLEKO”),[Wartosc]) Przykład pokazuje jako można obliczyć sumę wartości dla sprzedaży w grupie Mleko. Filtr działa w ten sposób, iż dla tabeli Sprzedaż sprawdza wartość kolumny grupa, tam gdzie grupa przyjmuje wartość MLEKO zwraca prawdę i wówczas dla tych wartości sumowane są wartości z kolumny Wartosc

Zasadnicze działanie funkcji języka DAX jest bardzo zbliżone do funkcji znanych z programu Excel, z całą pewnością były one naturalną bazą do powstania języka DAX. Zasadniczą różnicą jest wejście danych do funkcji. W Excelu operujemy zakresem komórek, komórkami. Natomiast w języku DAX operujemy kolumnami, tabelami.
Kolejna ważną różnicą jest przedstawianie daty i czasu. Język DAX używa typu DateTime w przeciwieństwie do programu Excel gdzie czas jest reprezentowany jako liczba.
W programie Excel funkcje nie mogą zwracać tablic, a w przypadku języka DAX często jest to niezbędne.

Zasadniczą różnicą która znajduje sie w PowerPivot a nie ma w Excel jest to iż PowerPivot opiera się na modelu relacyjnym. Czyli występują relacje. O tym będzie szczegółowo później (w specjalnym poście na ten temat).

W poprzednim poście przedstawiłem też ważną różnicę jaka jest w języku DAX dotyczącą wartości BLANK i wyrażeń, które w programie Excel zakończyłyby się błędem.

Budując dowolne wyrażenie, funkcje, stałą w języku DAX – tak jak to widać w przykładach umieszczonych powyżej w tabeli musimy rozpocząć od znaku =.

Konwencja nazewnictwa

Kolejny ważnym element każdego języka jest konwencja nazewnictwa. Wszystkie nazwy w obrębie jednej tabeli muszą być unikatowe. PowerPivot i zarazem język DAX nie rozróżnia wielkości liter wiec tabela Sprzedaz, SPRZEDAZ, SpRzEdAz są dla niego tą samą nazwą kolumny/tabeli.

Tabele – nazwa tabeli jest wymagana, jeżeli kolumna dotyczy innej tabeli. Nazwy tabel nigdy nie mogą być  w nawiasach. Nazwy tabel umieszczamy w pojedynczy cudzysłów, szczególnie jeżeli nazwy składają się ze spacji lub znaków specjalnych.

Kolumny – Nazwy kolumna zawsze są w kwadratowych nawiasach. Mogą również zawierać spacje. Nazwa musi być unikatowa w obrębie bazy więc nazwy kolumn wywołujemy z nazwą tabeli. W ramach jednej tabeli nazwa musi być unikatowa, wówczas połączenie nazwa tabeli i nazwa kolumny jest unikatowa. W przypadku gdy korzystamy z kolumn w tej samej tabeli w jednym wyrażeniu nie musimy podawać nazwy tabel np.: =[Cena]*[Ilosc]

Zawsze w każdym język jest zbiór nazw i znaków specjalnych zarezerwowanych. W przypadku języka DAX ograniczeni jest takie same jak w Analysis Services. Czyli te same słowa kluczowe i znaki są zarezerwowane. Spowodowane jest to tym, że tak naprawdę w pamięci lub na serwerze Analysis Services (w przypadku PowerPivot for SharePoint 2010) powstaje kostka OLAP, do której PowerPivot wysyła zapytania w języku MDX. Jeżeli słowo kluczowe z języka MDX (Analysis Services) użyjemy w nazwie kolumny i umieścimy w nawiasie kwadratowym to nie będzie błędu. W przypadku użycia słowa zarezerwowanego do nazwy tabeli wystąpi błąd.

Następujące znaki nie mogą być wykorzystywane w nazwach kolumn, tabel i miar:

  • znaki sterujące
  • Następujące znaki:  .,;’:/\*|?&%$!+=()[]{}<>
  • początkowe lub końcowe spacje

Przykładowe nazwy obiektów

Obiekt Przykład Opis
Nazwa tabeli Zlecenia Sam tekst zawsze oznacza nazwę.
Nazwa tabeli ‘Sprzedaz wyslkowa’ Nazwa tabeli zawierająca spację.
Pełna nazwa kolumny Sprzedaz[Zlecenia] Nazwa tabeli i nazwa kolumny
Pełna nazwa miary Sprzedaz[Zysk] Nazwa tabeli i nazwa miary
Nazwa kolumny [Dane] Nazwa kolumny lub miary
Pelna nazwa kolumny ‘Sprzedaz archiwum’[Zlecenia’] Nazwa tabeli zawierająca spację i nazwa kolumny

Więcej szczegółów można znaleźć w dokumentacji do PowerPivot.

Biorąc pod uwagę te dwa posty o języku DAX mamy już pewne podstawy. W kolejnych postach będę starał się przedstawić pozostałe aspekty języka DAX, do celowo postaram się opisać szczegółowo w miarę cały język DAX.

Osoby zainteresowanych językiem DAX zapraszam już niebawem do lektury kolejnych postów dotyczących języka DAX, mam w planach już niebawem opublikować posty dotyczące kontekstu, relacji, typów w języku DAX, oraz operatorów.

Ask the Expert – SQL – MTS 2010

By Łukasz on Sierpień 9th, 2010

W dniach 5-6 październik odbędzie się konferencja Microsoft Technology Summit – MTS2010, organizowana przez firmę Microsoft, będzie to już 5 edycja największej imprezy informatycznej w naszym kraju. Będzie można stworzyć swoją własną ścieżkę mając do dyspozycji około 100 sesji w 12 obszarach tematycznych. Poza ciekawymi sesjami prowadzonymi przez wybitnych prelegentów, będzie wspaniała okazja by spotkać ludzi ze środowiska informatycznego, społeczności IT, a także odwiedzić specjalnie przygotowane stoiska Ask the Expert, gdzie eksperci z różnych dziedzin i technologii będą chętni pomóc rozwiązywać problemy.

W tym roku na stanowisku Ask the Expert dotyczącym technologii SQL Server i Business Intelligence będę miał przyjemność pełnić dyżur, gdzie oczywiście serdecznie zapraszam.

                                                                      

Konfiguracja nazwy serwera dostępowego

By Tomasz_Sochacki on Sierpień 9th, 2010

Zbiór komend, które mogą się przydać: New-ExchangeCertificate -GenerateRequest -SubjectName “c=PL, o=Demo Room, cn=outlook.demo.local” -DomainName outlook.demo.local Import-ExchangeCertificate -FileData ([Byte[]]$(Get-Content -Path c:\pf\IssuedCert.p7b -Encoding byte -ReadCount 0)) Host A outlook.demo.local 192.168.1.1 New-ClientAccessArray -FQDN outlook.demo.local -Name “outlook.demo.local” -Site Demo Get-MailboxDatabase | Set-MailboxDatabase -RpcClientAccessServer outlook.demo.local Set-OutlookProvider EXCH outlook.demo.local Get-autodiscoverVirtualDirectory | Set-autodiscoverVirtualDirectory – internalurl outlook.demo.local Get-clientAccessServer | Set-ClientAccessServer -AutodiscoverServiceInternalUri https://outlook.demo.local/autodiscover/autodiscover.xml Get-OabVirtualDirectory […]