Manoel D. Martins Jr

IT Professional
VN:F [1.9.10_1130]
Rating: 0.0/5 (0 votes cast)

Olá queridos leitores!

Tanto tempo parado, saudades de vocês, saudades daqui… mas estou de volta, e com a vontade de fazer cuprir a promessa de fazer publicações semanais pra este ano.

Estive muito atarefado no mês de Novembro, e com o final do ano tomando meu tempo, não consegui me organizar para as publicações, mas volto e com pretenções de publicações sobre Linux, CISCO e, claro, Microsoft, que é minha área de maior foco.

Mas para este ano, começarei com a apresentação de uma técnica sistematizada chamada de mapa mental, que auxilia em vários aspéctios desde aprendizado, gerenciamento e, o que neste caso utilizarei como exemplo, o mapa simplificado do blog.

Figura 1

Na verdade nós fazemos mapas mentais o tempo todo, pois criamos vínculos na memória para determinado assunto e este à outro, e assim vamos criando ramificações… Mapas mentais!

continue lendo…

Scridb filter
VN:F [1.9.10_1130]
Rating: 0.0/5 (0 votes cast)

E então pessoal, para quem tem acompanhado meus post semanais, o último falou sobre o conceito de trabalho com compartilhamento e permissionamento no Sistema de Arquivos NTFS e espero ter sido claro com a simplicidade do exemplo.

Hoje vou abordar sobre problemas com endereçamento MAC duplicado.

No meio físico é possível, apesar de muito difícil, de se encontrar um endereço MAC duplicado na rede, por conta da quantidade de endereços disponíveis para cada fabricante, porém esta possibilidade começa a aumentar com as facilidades atribuídas à criação de máquinas virtuais com a clonagem.

Para falar um pouco mais tecnicamente, na verdade não seria o meio físico, pois com base na camada OSI, esta seria a camada 2 ou de Enlace de dados em que se encontra o nível de comunicação entre os adaptadores de rede, então, fora o fato de (pelo menos) dois computadores estarem ligados num mesmo meio físico (Camada 1), para a comunicação entre eles precisa elevar um pouco mais o nível, indo para a Camada de Enlace (Camada 2) em que cada adaptador de rede possui seu endereço físico único, o MAC,  e também encontramos a atuação de switch, por mais básico que seja.

Para que um PC estabeleça uma comunicação através do protocolo TCP/IP a outro PC, ele precisa conhecer o endereço físico (Camada 2) antes, então o PC de origem “pergunta” pra rede através de Broadcast quem é o PC de destino, ou qual o endereço MAC cujo IP é o que ele procura. Com a resposta (se existir), a comunicação na camada 3 começa.

continue lendo…

Scridb filter
VN:F [1.9.10_1130]
Rating: 0.0/5 (0 votes cast)

E ae pessoal!

Depois de abordar um assunto um tanto técnico demais, que foi a “mão na massa” da configuração de RIPv2 em um roteador CISCO no post “Configuração RIPv2 (CISCO)”, dando uma receitinha de bolo com os comandos para a configuração e focando num ponto importante para ambientes “classless”, agora vou voltar para o ambiente Microsoft com abordagem em Servidor de Arquivos.

Nesta publicação irei tratar de um assunto que confunde um pouco se você não tiver o conhecimento consolidado sobre as permissões definidas no compartilhamento e as definidas no sistemas de arquivos NTFS.

Compartilhamento

De forma simplória, imagine o desenho da figura 1 como sendo uma caixa…

IMAGE_115

Figura 1

Este será o seu compartilhamento que, se você não tiver permissão de acesso, não conseguirá ver o que há dentro.

continue lendo…

Scridb filter

Configuração RIPv2 (CISCO)

No comments
VN:F [1.9.10_1130]
Rating: 0.0/5 (0 votes cast)

Com esta publicação as explicações detalhadas sobre roteamento ou sobre endereçamento IP de rede classful e classless que são requisitos para compreender o que estou fazendo, deixarei para um outro momento. O meu objetivo neste é tratar de algo bem objetivo, que é a configuração da versão 2 do protocolo de Roteamento por vetor de distância RIP1.

Na sua primeira versão eu só consigo trabalhar com classful, que resumidamente seria como trabalhar com endereçamento IP sem segmentação feita por máscara, o que impossibilita por exemplo, de trabalhar com duas redes de classe A ou B com determinação pela máscara de classe C.

Para tentar ser mais claro, irei mostrar em um ambiente na figura 1 abaixo:

image

Figura 1

Tenho duas redes classe B que estão segregadas por máscara de classe C:

172.16.10.0 e 172.16.20.0 com máscara 24bits ou 255.255.255.0

Utilizando o RIP v1, a máscara é desconsiderada e na verificação do IP 172.16.0.0 (classe B), o roteador ora descartará ora encaminhará os pacotes entre as redes, tornando a comunicação instável e não confiável.

No RIPv2 se comporta como a versão 1 na configuração padrão, sendo necessário apenas a execução do comando “no auto-summary” para que a máscara seja considerada.

Achei interessante publicar este “detalhe” sobre a configuração de RIPv2 por conta de ser algo que pode passar desapercebido, e resolve algo que não é tão intuitivo.

Se você tem interesse em saber os comandos para configurar RIPv2 em um roteador CISCO, especificamente com o IOS c2600, basta seguir os passos à seguir na “construção do ambiente”.

Então vamos à configuração…

continue lendo…

Scridb filter

Agendar syncronização com Synctoy

No comments
VN:F [1.9.10_1130]
Rating: 0.0/5 (0 votes cast)

Cheguei a publicar formas de utilização da ferramenta synctoy da Microsoft para fazer backup com sincronismo de arquivos em Backup sincronizado com MS Synctoy e também como Criar agendamento de tarefas no Windows 7, então resolvi escrever este para convergir estas informações e criar agendamentos para backup nos horários em que o usuário não estiver presente para acioná-lo.

Seguindo as instruções no post sobre a ferramenta MS Synctoy mensionado à cima, eu criei um novo par de pastas para sincronismo chamado “Backup agendado”, como pode ser visto na figura 1

image

Figura 1

Com a criação dos pares de pasta, partiremos para a criação de uma tarefa agendada, que você pode ver os passos para criar no post referido à cima.

O apontamento do programa tem que ser ao “<Local onde o programa foi instalado>\SyncToy 2.1\SyncToyCmd.exe”, com o parâmetro “-R <nome do par de pasta>”, ou seja,  -R “backup agendado”, não esquecendo das aspas por conta de existir espaço no nome que dei no exemplo.

Ajustar para data e horário que melhor atender à sua necesssidade.

Pronto!

Algo muito importante à dizer, é que esta versão da aplicação não suporta funcionamento sem que o usuário que irá executar esteja logado, então a sessão pode ficar bloqueada como paleativo.

Conclusão

O procedimento é bem simples como pode ser constatado.

Pena que há esta limitação de que tenha um usuário logado para que a tarefa agendada funcione.

Abraços e até o próx. post!

Scridb filter
VN:F [1.9.10_1130]
Rating: 5.0/5 (1 vote cast)

calendar-and-tasks1

E ae pessoal!

Neste post vou tratar de agendamento de tarefas no Windows, que me permite executar determinada aplicação com ou sem parâmetros, em determinado dia e horas definidos pelo usuário.

Para o meu exemplo, criarei um agendamento que faz chamada ao “cmd” com algumas passagens de parâmetro para exportar a listagem do diretório raiz do meu computador.

Da versão do Windows Vista em diante, o agendador de tarefas é acessado por uma console mmc cujo nome é “taskschd” e pode ser chamado pela execução de “taskschd.msc”, ou indo pelo menu “Iniciar > Todos os programas > Acessórios > Ferramentas do Sistema > Agendador de Tarefas”.

Na figura 1 abaixo tenho uma tela inicial em que no destaque 1, tenho um resumo das tarefas existentes, e no destaque 2, tenho o que considero uma grande vantagem em termos de organização, que é a possibilidade de organizar os meus agendamentos em pastas.

continue lendo…

Scridb filter

GPO não aplica

No comments
VN:F [1.9.10_1130]
Rating: 0.0/5 (0 votes cast)

É!… Passei um tempinho sem postar depois de uma enchurrada de publicações sobre Algoritmo e JAVA, mas estou de volta para a apresentação de algumas formas de diagnosticar problema de infraestrutura, e especificamente sobre Políticas de Grupo no Active Directory.

Para tratar sobre o assunto, é necessário que tenha em mente que uma GPO é aplicada quando o domínio está “saudável”, ou seja, numa boa parte das vezes a não aplicação de GPO é uma consequência de um domínio mal configurado ou estruturado.

Em caso de máquinas pontuais, ou seja, aplicação em algumas e outras não, podemos até suspeitar delas, mas também precisamos verificar “mais de perto”, pois se estas estiverem em um site remoto que não tenha um DC no local, a falha pode ser por mera determinação (interna) de link lento e portanto algumas politicas não serão aplicadas, ou um “inofensivo” serviço de DHCP colocado na sua rede sem o seu controle, entre outras coisas.

Irei abordar diagnósticos por eliminação e nos seguintes tópicos:

  1. Verificar o Active Directory;
  2. Verificar o Controlador de Domínio;
  3. Verificar do Serviço de DHCP;
  4. Verificar de sites remotos.

continue lendo…

Scridb filter
VN:F [1.9.10_1130]
Rating: 1.0/5 (1 vote cast)

Saudações queridos leitores.

Nesta publicação vou abordar sobre classes específicas do Active Directory: OU (Unidade Organizacional) e Container.

No início do meu aprendizado sobre o serviço de diretórios da Microsoft, imaginei que não houvesse diferença entre uma OU e um Container, aliás, não sabia que existia diferença!

Uma OU é um container no sentido da palavra, mas em se tratando de objetos do Active Directory, há diferenças significantes. E podemos constatar quando aprendemos que não se aplicam GPOs (Políticas de Grupo) nos containers “Users”, “Computers”, e alguns outros.

Na verdade, todos os objetos do AD, seja usuário, grupos, computadores, Unidades Organizacioais, Sites, etc. são um tipo de container! Assustou, né? Pois é, ser um container significa dizer que neste pode conter outros objetos, e o que define o que pode ser colocado é o tipo de classe da qual é criado, por exemplo, o container usuário não pode conter outro objeto, enquanto uma OU pode conter objetos os quais podem estar contidos no objeto de Políticas de Segurança, ou GPOs.

O container OU, é um objeto criado à partir da classe Organizational-Unit que pode ser associado ao objeto de politica de grupo, enquanto o Computers, que é criado à partir da Computer, não.

Para saber detalhes sobre quais são os Containers em que determinado objeto pode estar contido, basta ver o atributo “Possible Superiors” no site do msdn que contém a descrição de todas as classes do AD.

Abraço à todos e até o próx. post!

Scridb filter

[Algoritmo] Métodos

No comments
VN:F [1.9.10_1130]
Rating: 5.0/5 (1 vote cast)

Olá queridos leitores e alunos.

Neste post irei tratar de funções e procedimentos

Funções são muito parecidas com procedimentos, mas com a diferença de retorno de um valor, e justamente por conta desse valor, é necessário dizer qual será o tipo do conteúdo que irá retornar, se inteiro, String, objeto, etc.

Vou citar um exemplo simples, mas que para este início nos servirá perfeitamente.

Vamos trabalhar num algoritmo que me retorne uma soma

1
2
3
4
5
6
7
8
9
int num1 = InOut.leInt("Digite o num1");
int num2 = InOut.leInt("Digite o num2");
int soma = somarNumeros(num1,num2);
InOut.MsgSemIcone("Calculo", "funcao = "+String.valueOf(soma));
}
 
private static int somarNumeros(int n1, int n2) {
	return n1+n2;
}

Repare que na terceira linha, fiz a declaração de uma variável do tipo inteiro (soma) na qual a atribuição da forma como estou expondo, é possível graças ao fato do método “somarNumeros” permitir (e requerer) o retorno de um valor após sua execução.

Na linha sete, a definição do tipo de retorno desta função pode ser encontrado na palavra antes do nome do método, ou seja, a palavra “int”, que compatibiliza o retorno possível para a variável que usei.

Num exercício da imaginação, visualize uma função como uma caixa que, no momento de sua execução, entra-se nesta com o que se deseja manipular, faz o que tem que fazer e depois sai dela com o resultado, e dá continuidade ao que estava fazendo.

Com o procedimento é diferente porque esta “caixa” não me permite sair com qualquer coisa dela. Tudo é executado em seu interior como referência ao valor do programa principal.

Então para fazer a soma e exibir na tela, coloquei dentro da “caixa” o mesmo exemplo anterior para comparação:

1
2
3
4
5
6
7
8
	int num1 = InOut.leInt("Digite o num1");
	int num2 = InOut.leInt("Digite o num2");
	somarNumeros(num1, num2);
	}
 
	private static void somarNumeros(int n1, int n2) {
		InOut.MsgSemIcone("Calculo", "funcao = "+String.valueOf(n1+n2));
	}

Pronto!

Qualquer dúvida, estamos aê!

Abraços e até o próx. post!

Scridb filter

[Algoritmo] Vetores e Matrizes

No comments
VN:F [1.9.10_1130]
Rating: 0.0/5 (0 votes cast)

Saudações queridos alunos e leitores!

Neste post vou falar sobre Vetores e Matrizes, e mostrar que a lógica para a criação destes, além de não é serem complicada, são similares.

Uma coisa básica que se pode ter em mente é que, para ver como sua lógica está, não importa quem está olhando e nem o trabalho que você terá e sim o quão seguro você estará com a transcrição de sua lógica, seja por desenho ou qualquer outra forma que lhe deixe mais à vontade para a construção.

Eu utilizo duas formas de visualização para a construção de vetores e matrizes.

A primeira delas, é imaginar o desenho que represente, tanto para vetor quanto matriz, e depois o teste da funcionalidade.

Mas como testar uma matriz de 100 x 200, ou até 1.000 x 5.000, por exemplo? Muito simples! Basta reduzir para duas linhas, pois com esta redução dá para saber se a linha esta sendo “feita”, e se está pulando para a próxima no momento certo. Também chegou a pensar em um relógio cujo contador de minutos seria equivalente à construção da linha que ao finalizar o seu ciclo, zera, acrescenta o contador da hora que equivale a coluna, e começa novamente.

O vetor e matriz são abordados juntos, porque o vetor é como se fosse uma matriz, mas com uma linha ou uma coluna, por exemplo:

Como pode ser desenhada uma matriz de 1 x 5?

0,0

0,1

0,2

0,3

0,4

Como você pode ver, a matriz de 1 x 5 equivale à um vetor de tamanho 5.

Similarmente podemos considerar um vetor, uma matriz de 5 x 1:

0,0
1,0
2,0
3,0
4,0

Em relação ao algoritmo necessário para a construção de um vetor, como não terei uma segunda linha ou segunda coluna (como mostrado à cima), não preciso ter um ciclo interno para concluir a linha/coluna para criar uma próxima, é como se eu tivesse apenas as horas sem os minutos, então não preciso que o minuto complete seu ciclo para acrescentar a hora.

Então vamos à prática:

Para demonstrar, irei construir um vetor de cinco posições e atribuir o valor 10 pra todos elas:

1
2
3
4
5
6
final int tamanho = 5;
int vet [] = new int [tamanho];
 
for (int i = 0; i < vet.length; i++) {
	vet [i] = 10;
}

A palavra “final” determina a variável que não pode ser modificado no código.

Talvez surja a dúvida do porque de não utilizar a variável fixa “tamanho” pra indicar o limite do “for”. Imagine que você tenha 5 vetores em que dois sejam de mesmo tamanho, e os outros três não. Eu teria que sair determinando valores sempre que quisesse modificar.

E por que não utilizar um número? Imagine 30 vetores…

Melhor utilizar a função que pega o tamanho do vetor pra mim! Smiley piscando

E por que de “i < tamanho do vetor” e não “<=”?

Porque para a definição do tamanho do vetor, o zero não é contado, enquanto que para o índice do vetor, sim.

Se o vetor fosse de tamanho 5.000?

Basta setar a variável “tamanho”!

Agora uma matriz 2 x 3:

1
2
3
4
5
6
7
8
9
final int linha = 2;
final int coluna = 3;
 
int matriz [][] = new int [linha] [coluna];
for (int i = 0; i < linha ; i++) {
	for (int j = 0; j < coluna ; j++){ 
		matriz [i][j] = 10;
	}
}

Temos o primeiro “for”, que trata da flutuação entre as linhas, enquanto o segundo, as colunas. Analizando como o meu exemplo do relógio, é como se o primeiro fosse a hora e o segundo, o minuto. O contador da “hora” só vai mudar depois que o “minuto” terminar o seu ciclo.

É isso…
Abraço e até o próx. post!!

Scridb filter