Arquivo da categoria: Cábulas

SQL Server – Usar Autenticação Windows fora do Dominio

Numa estrutura típica duma aplicação em rede com base de dados SqlServer em que se usa um servidor de Active Directory para centralizar os Utilizadores e acessos, tudo funciona bem até aparecer uma máquina que por alguma razão não podemos ou não dá para colocar no domínio. Na situação em que tive que implementar este “truque” tratou-se de um pc com Windows Vista Home Basic que será usado por um utilizador que está no Active Directory e que têm que usar um pc que está no domínio e esporadicamente usa um portátil com Vista Home Basic (que não dá para colocar no Domínio).

Para implementar este “truque” tudo o que precisamos é usar funções fornecidas pelo próprio Windows!! vou enumerar os passos para tornar isto possível!

1º – Criar um atalho para aplicação

2º – Nas propriedades do atalho acrescentar o texto seguinte antes do caminho do executável:

runas /user:NomeDoDominio\NomeDoUtilizador /netonly

 

3º – Confirmar que o destino do atalho está com o texto anterior seguido do caminho do executável onde queremos usar a autenticação Windows.

4º – Ao executar o atalho o utilizador só terá que fornecer a sua password do Active Directory e usar  normalmente a aplicação como se o pc estivesse no domínio!!!!

5º – para embelezar a “coisa” podemos atribuir ao atalho o mesmo icon da aplicação que o utilizador já conhece!! (durante o processo o atalho vai assumir o icon do executável do RunAs).

6º – caso o windows não assuma o comando runas, colocar o caminho completo do executável que está na pasta system32 do Windows.

SQL SERVER : Reiniciar contador de campo auto-increment

Após limpar tabelas do SqlServer que têm um campo de auto incremento, se quisermos reiniciar o valor do auto-incremento basta executar o comando seguinte:

DBCC CHECKIDENT (‘NomeDaTabela’, reseed, 1);

Mais informações no artigo da MSDN http://msdn.microsoft.com/en-us/library/ms176057.aspx

WordPress não mostra a “Admin Bar”

Hoje depois de atualizar uma das minhas instalações de WordPress para a versão 3.1 a nova barra de admin que aparece quando estamos no site não aparecia, como é um theme feito por mim resolvi investigar o porquê.

A causa para a barra não aparecer é que não estava a implementar corretamente a class do body, para resolver este problema bastou no ficheiro em que abro a tag body, bastou adicionar a seguir à abertura da tag <body> adicionar a função do wordpress que faz echo da class adequada para ser possível a apresentação da dita barra de admin. O código a adicionar é o seguinte <?php body_class($class)?>, pelo que a declaração do body ficará <body <?php body_class($class); ?>>. E basta isto para tornar qualquer theme compatível com a nova barra de admin omnipresente.

C# usar objecto COM (32 bits) em sistemas 64bits

Comecei recentemente a trabalhar com um Windows 64 bits, hoje tentei abrir e executar um projeto de C# para fazer umas alterações, tudo abriu corretamente nenhum problema aparente, mesmo depois de fazer build não era gerado nenhum erro nem sequer um único Warning.

Quando tento fazer debug recebo um erro bastante estranho, numa parte do código que acede a uma DLL que serve de ponte entre a minha aplicação e outra aplicação de código fechado, esta dll é fornecida pelo fabricante (que por acaso é a Microsoft), depois de experimentar mil e um coisas e nada fazer com que o projeto corresse coloquei a versão que resultava do debug, numa máquina com XP 32bits e o projeto correu lindamente.

Depois de alguns testes a solução para o problema foi mudar a configuração da “Solution Plataform” para x86 por defeito é “Any CPU”, já agora no Visual Studio Express não aparece por defeito activa esta opção é necessário ir a Tools ““> Options ““> Projects And Solutions e marcar “Show Advanced Build Configurations “.

E é este o workaround para usar objectos COM de 32 bits em sistemas de 64 bits, referi em cima C# mas deve funcionar nas outras linguagens da .net FW.

Ficheiros de Log do Active Directory

A propósito do artigo anterior fica a lista da localização dos vários ficheiros de log criados na implementação de politicas de Grupo na maquina cliente, estas tabelas foram copiadas na integra do site da Microsoft (copiei para evitar futuros 404 ao aceder á página da MS) !!!!

Output from: Is located in this file: Enable verbose logging by adding this key or value”¦ “¦to this registry key

Group Policy core (UserEnv) and registry CSE

%windir%\debug\usermode
\UserEnv.log

UserEnvDebugLevel = REG_DWORD 30002

HKEY_LOCAL_MACHINE
\Software
\Microsoft
\Windows NT
\CurrentVersion
\Winlogon

Security CSE

%windir%\security\logs
\winlogon.log

ExtensionDebugLevel = REG_DWORD 0×2

HKEY_LOCAL_MACHINE
\Software
\Microsoft
\Windows NT
\CurrentVersion
\Winlogon
\GpExtensions
\{827d319e-6eac-11d2-a4ea-00c04f79f83a}\

Folder Redirection CSE

windir%\debug\usermode
\fdeploy.log

FdeployDebugLevel = Reg_DWORD 0x0f

HKEY_LOCAL_MACHINE
\Software
\Microsoft
\Windows NT
\CurrentVersion
\Diagnostics

Software Installation CSE

%windir%\debug\usermode
\appmgmt.log

Appmgmtdebuglevel=dword:0000009b

HKEY_LOCAL_MACHINE
\Software
\Microsoft
\Windows NT
\CurrentVersion
\Diagnostics

Windows Installer
(deployment-related actions)

%windir%\temp
\MSI*.log

Logging = voicewarmup

Debug = DWORD: 00000003

HKEY_LOCAL_MACHINE
\Software
\Policies
\Microsoft
\Windows
\Installer

Windows Installer
(user-initiated actions)

%temp%
\MSI*.log

Logging = voicewarmup

Debug = DWORD: 00000003

HKEY_LOCAL_MACHINE
\Software
\Policies
\Microsoft
\Windows
\Installer

E já agora os do Servidor:

Output from: Is located in this file: Enable verbose logging by adding this keyword”¦ “¦to this registry key

GPMC:
error logging only

%temp%\gpmgmt.log

gpmgmttracelevel=1

HKEY_LOCAL_MACHINE
\Software
\Microsoft
\Windows NT
\CurrentVersion
\Diagnostics

GPMC:
error and verbose logging

%temp%\gpmgmt.log

gpmgmttracelevel=2

HKEY_LOCAL_MACHINE
\Software
\Microsoft
\Windows NT
\CurrentVersion
\Diagnostics

GPMC:
Output only to log file (not to debugger)

%temp%\gpmgmt.log

gpmgmtlogfileonly=1

HKEY_LOCAL_MACHINE
\Software
\Microsoft
\Windows NT
\CurrentVersion
\Diagnostics

Group Policy Object Editor:
Core-specific entries

%windir%\debug\usermode
\gpedit.log

GPEditDebugLevel = REG_DWORD 0×10002

HKEY_LOCAL_MACHINE
\Software
\Microsoft
\Windows NT
\CurrentVersion
\Winlogon

Group Policy Object Editor:
CSE-specific entries

%windir%\debug\usermode

\gptext.log

GPTextDebugLevel = REG_DWORD 0×10002

HKEY_LOCAL_MACHINE
\Software
\Microsoft
\Windows NT
\CurrentVersion
\Winlogon