Olá, neste post vou demonstrar como instalar o Active Directory no Windows 2022 server para um projeto de autenticação do PHP com o LDAP.

Tenho um post de 2015 onde explico como fazer a conexão do PHP com PDAP. Link para o POST: https://blog.fabianobento.com.br/2015/06/29/php-ldap/

Antes de iniciar, temos algumas recomendações;
-Atualizar o sistema operacional;
-Definir IP fixo para o servidor;
-Definir o nome do servidor, por exemplo: srvdc01.

Sobre o nome do servidor que é uma informação que identifica o computador na rede, algumas empresas adotam nomes diferentes para dificultar a identificação do servidor e o serviço em termos de segurança, como exemplo nomes de cidades, estados e países, por exemplo: saopaulo, rio, canada, etc…
Na tela do Server Mananger, clique em Add Roles and Features.

Avançar para a próxima etapa

Leia mais: Instalando o Active Directory (AD) no Windows 2022 Server

Avançar para a próxima etapa

Avançar, na próxima tela clique sobre Active Directory Domain Services,

Avançar.

Clique na opção Instalar.

Durante ou após a instalação o server poderá ser reiniciado, quando a opção de reinicio foi marcada.

Após reiniciar será apresentado os serviços instalados no servidor.

Clique em AD DS, e selecione a mensagem apresentada para elevar o servidor a controlador do domínio.

Clique em Promote this server to a domain controller.

Selecione a opção para novo domínio, e informe o nome para domínio.

Dica: Para domínios locais, utilize a extensão .local

Podemos informar o nível funcional para o servidor, neste caso tenho apenas um servidor pois estou fazendo uma simulação para criação desde post, vou definir o nível com o máximo apresentado que é o Server 2016.

Avançamos para a próxima etapa.

Será apresentando o nome NetBios do servidor, mantenha o mesmo e avance.

Nesta etapa podemos alterar o caminho para o armazenamento dos dados.

Avançar para o próximo passo.

Agora clique em Instalar (Install).

Durante a instalação o servidor será reiniciado.

Após reiniciar, na tela do Server Manager você poderá ver os servidos de Active Directory(AD) e DNS instalados.

Para acessar a administração do Active Directory, clique com o botão direito do mouse sobre Administrative Center.

Neste post vou demonstrar os 3 tipos de códigos que normalmente são utilizados na criação de etiquetas.

CODE128

O código de barras ainda é o mais utilizado, devido a disseminação inicial e maior compatibilidade com leitores. É encontrado em muitos produtos principalmente produtos industrializados. Possibilita usar apenas números.

QrCode

O QrCode vem aumentando seu uso exponencialmente, e cada vez mais se tornando comum pela versatilidade e durabilidade, porque até quando possui pequenas falhas ainda é possível ler o código. Também tem a vantagem de ocupar um pequeno espaço em comparação ao código de barras CODE128.

Datamatrix (2d)

O código do tipo Datamatriz(2d), é tipo de código que possibilita usar uma quantidade grande de informações, atualmente é muito utilizada na indústria farmacêutica em medicamentos para relacionar informações do lote de fabricação. A partir de um pequeno código é possível identificar dados do lote dos medicamentos.

Neste post publico um exemplo de etiquetas com Qrcode e informação do código abaixo.

Características da etiqueta:
Impressão em rolos de etiquetas 7 x 5 cm
Velocidade: 3
Obscuridade: 25
Quantidade da mesma etiqueta: 1

^XA~TA000~JSN^LT0^MNW^MTT^PON^PMN^LH0,0^JMA^PR3,3~SD25^JUS^LRN^CI0^XZ
^XA
^MMT
^PW559
^LL0400
^LS0
^FT165,269^BQN,2,10
^FDLA,123456789\0D\0A^FS
^FT137,304^A0N,39,38^FH\^FD12345 – fonte 14^FS
^FT165,353^A0N,28,28^FH\^FD12345 – fonte 10^FS
^PQ1,0,1,Y^XZ

Para alterar a quantidade de etiquetas a serem impressas, altere o comando PQ encontrado na última linha.

Exemplo para impressão de duas etiquetas.

^PQ2,0,1,Y^XZ

Impressora Zebra – Velocidade e Obscuridade da impressão (Zebra – Programação ZPL II)

No processo de criação e impressão de etiquetas é muito comum precisar ajustar a velocidade e obscuridade das etiquetas. existem fatores que podem interferir na qualidade da impressão. como; tempo de uso da impressora, qualidade da etiqueta, qualidade do filme(ribbon) utilizado, clima da região onde a impressora está instalada.

As impressoras zebras utilizam o tipo de impressão térmica, existem tipos de papeis diferentes utilizados na fabricação de etiquetas, e qualidade do filme plástico. Usar uma obscuridade muito alta como (30), poderá aumentar a temperatura e fazer o filme derreter, mas ao usar uma obscuridade alta com velocidade mais rápida (4), poderá solucionar o problema. O ideal é testar e descobrir qual o melhor para o tipo de etiqueta utilizado.

Veja as opções que existem na programação ZPLII.

Velocidade: 2, 3, 4

Obscuridade: 0 a 30

2~SD15

^XA~TA000~JSN^LT0^MNW^MTT^PON^PMN^LH0,0^JMA^PR2,2~SD15^JUS^LRN^CI0^XZ

4~SD20

^XA~TA000~JSN^LT0^MNW^MTT^PON^PMN^LH0,0^JMA^PR2,4~SD20^JUS^LRN^CI0^XZ

4~SD30

^XA~TA000~JSN^LT0^MNW^MTT^PON^PMN^LH0,0^JMA^PR2,4~SD30^JUS^LRN^CI0^XZ

Veja outras publicações com assunto relacionado a problemas de impressão;

Neste post publico 3 exemplos de etiquetas com apenas o QrCode

O tamanho do QrCode é determinado pelo comando FT, onde os dois últimos caracteres correspondem ao tamanho. Veja 3 exemplos de tamanho de QrCode.

^FT15,253^BQN,2,5 – Pequena
^FT15,253^BQN,2,9 – Média
^FT15,253^BQN,2,10 – Grande

Exemplo do comando ZPLII, completo.

^XA~TA000~JSN^LT0^MNW^MTT^PON^PMN^LH0,0^JMA^PR2,2~SD20^JUS^LRN^CI0^XZ
^XA
^MMT
^PW799
^LL0400
^LS0
^FT15,229^BQN,2,9
^FDLA,123456789012^FS
^PQ1,0,1,Y^XZ

Oracle – ALTER SESSION SET CURRENT_SCHEMA

Podemos utilizar o comando ALTER SESSION SET CURRENT_SCHEMA para identificarmos a sessão, com o usuário em si.

Quando conectamos no banco de dados Oracle com outro usuário, é necessário adicionar o usuário antes dos objetos para execução, busca ou identificação no SQL.

select * from user.table_user;

Para solucionarmos este problema, podemos alterar a sessão com o comando;

alter session set current_schema = USER;

Após executar o comando, você poderá executar os comandos no banco de dados Oracle, sem precisar informar o nome de usuário antes dos objetos.

Exemplo:

select * from table_user;

Com a view DBA_SEGMENTS do usuário DBA, é possível consultar os maiores objetos e tabelas no banco.

Comando SQL para consultar todos objetos;

select
SEGMENT_NAME,
SEGMENT_TYPE,
BYTES/1024/1024 mb,
BYTES/1024/1024/1024 GB,
tablespace_name
from
dba_segments
order by mb desc

Comando SQL para consultar as 5 maiores tabelas;

Você pode alterar a busca conforme necessitar, a partir da columa segment_type, poderá consultar apenas as tabelas.

select * from (
select
owner,
SEGMENT_NAME,
SEGMENT_TYPE,
bytes/1024/1024 mb,
bytes/1024/1024/1024 GB,
tablespace_name
from
dba_segments
where segment_type = 'TABLE'
order by mb desc
)
where rownum <= 5;

Exemplo de consulta buscando os objetos de um tablespace (tablespace_name).

select * from (
select
owner,
SEGMENT_NAME,
SEGMENT_TYPE,
sum(bytes/1024/1024) mb,
sum(bytes/1024/1024/1024) GB,
tablespace_name
from
dba_segments
where segment_type = 'TABLE'
and tablespace_name = 'TEMP'
group by segment_type, owner, SEGMENT_NAME, tablespace_name
order by mb desc
)
where rownum <= 5;

Olá, neste post vou mostrar como acessar a um servidor SSH através do MacBook.

Procure pelo aplicativo (Terminal), ao acessar será aberto em linha de comando.

Para acessar um computador ou servidor através do SSH, digite ssh usuario@ip-do-servidor e tecle ENTER.

Em seguida será solicitado a senha, basta digitar a senha e estará conectado ao host por SSH.

Exemplo de acesso SSH pelo terminal.

Caso a porta SSH seja diferente da porta padrão que é a 22, você pode incluir (-p 23) para indicar a porta para a conexão.

Exemplo:

ssh usuario@ip-do-servidor -p 222

Para desconectar/sair da sessão, digite no terminal EXIT.

ORA-00997: illegal use of LONG datatype

Ao tentar criar uma tabela a partir de um select em tabela com o campo do tipo long, é mostrado o erro ORA-00997.

Para resolver utilize o comando TO_LOB, veja a continuação do exemplo;

create table teste_long2 AS select campo_long campo_long from teste_long

create table teste_long2 AS select TO_LOB(campo_long) campo_long from teste_long