Thursday, September 3, 2020

Starting Out as a Computer Tech (part 3)

 For this part, I would like to focus on basic networking. In IT lines are often blurred and one thing I noticed with a lot of new techs is they know little to nothing about networking and yet are expected to be almost entry-level network specialists. Luckily for myself, networking is something I actually really love working with (and due to some past things revolves around a potential Techs from the Crypt story). So let me shine some light on networking, terms, and basic troubleshooting.


First, let's go over some terms you absolutely need to know.

IP Address - Internet Protocol Address

Subnet - A block of IP addresses

IPv4 - IP version 4, has four octets (8 bits) that are shown in decimal between 0 and 255

IPv6 - IP version 6, 128 bit address broken down into 8 groups of 16 (called hextets or hexadectets) shown in hexadecimal (0 through 9 and A through F), more often than not you'll just be turning it off

OSI (model) - Open Source Interconnection model, has 7 layers

Layer 2 - Layer 2 of the OSI model, information is called frames, commonly what switches use, what the MAC address is for

Layer 3 - Layer 3 of the OSI model, routing level, information is called packets, uses IP addresses and subnets

MAC address - Also called a hardware address, given to the network device on the chip itself, written in 6 octets in hexadecimal (0 through 9, A through F)

Protocol - A term to explain a standard being used

TCP - Stateful communication that makes sure all information is delivered like viewing a website

UDP - Stateless communication that does not verify information completed its journey, used for things like phones and DHCP

DHCP - Dynamic Host Control Protocol uses a server to assign an IP address to a device

DNS/Name Server - Domain Name Service used to turn something like www.google.com to an IP address for routing traffic

Gateway - IP address of the device you use to get to the Internet

APIPA - Automatic Private IP Addressing is a default IP you get when no IP is set or DHCP server reachable

Static IP - An IP you manually set for a device

WAP or AP - Wireless Access Point or Access Point used for wireless internet connection

Private IP - An IP address made to be used within an organization

Public IP - Live on the Internet IP addresses

NIC - Network Interface Card

Ethernet - standard copper cable to plug into your network

2.4G - 2.4 Gigahertz wireless band for wifi, it's old

5G - 5 Gigahertz wireless band for wifi


You should be able to recognize those terms even if you are not clear on how they work, just know what they are and hopefully we can fill in enough blanks to make something coherent. There are a few more terms, but those will be introduced in context since they can technically mean different things. So let's start piecing this together.


You have a computer with a NIC for network access. You plug an Ethernet cord into the NIC (they have different standards like Cat5, Cat5e, Cat6, Cat6e, Cat7, you get the idea) and the other end goes into a connection on the wall. The plug on the computer is an Ethernet port, the plug on the wall is a jack, probably a keystone jack or may be called a wall port (really depends on who you're talking to). From that wall, it will go to something called an IDF (Intermediate Distribution Frame) or MDF (Main Distribution Frame), also called a Networking Closet. In that closet will contain things like switches and/or routers. Hubs are old and I would hope you are not using them.


So now that the computer is hooked up, it can try to communicate with the network to get information it needs to properly use it. The computer will send out a DHCP Broadcast to find a DHCP server. If one cannot be found or one is and cannot provide an IP address, the computer will assume an  APIPA address and that ends it. You can tell an APIPA because the address will start with 169 (more on how to see that later). If a DHCP server responds, they communicate and an IP address, along with DNS and Gateway info, will be passed to the computer.  To communicate the DHCP information, the MAC address is used.

 

Let's make a scenario. You are in a meeting and people are talking about putting a computer lab into a subnet. On the notes you see 172.16.3.0/24. What does this mean?

The 172.16.3.0 is the network and the /24 is the subnet. The subnet may also be written as 255.255.255.0. Information we can extract from this would be that there are 256 IP address available within that block, but technically only 254, or 253 if you exclude a gateway. We can get to this conclusion easiest with the / notation and a calculator:

2^(32-n) where n=subnet


This is because an IPv4 address is made of 32 bits broken into 4 octets. Each octet can be 0-255 for a total of 256 values or 2^8. The reason for the other subnet notation is that is the representative value it gets ANDed to. At this point we are pretty far above and beyond what you need to know, so here's the simple conversions:

/8 = 255.0.0.0

/16 = 255.255.0.0

/24 = 255.255.255.0

So if we need to take an add subnet like 18 and want to show it in the other notation, we can start with the first two octets, or the /16:

255.255.0.0

Now we can see that we have two left over (18-16). So let's look at that octet in binary real quick...

11000000

We know this because there are 8 bits in an octet, we have two bits, so we replace the 0s starting on the front end. So two ones, means we have six zeroes left over. Now we can break out a calculator to do some conversions. So convert binary to decimal, you need to count to what place the 1 is in, so we have a 1 in the eighth spot and a 1 in the seventh spot. Binary is base 2, so we use the number base 2. Out equation therefore is:

2^7 + 2^6 = 192

I know what you're saying, wouldn't it be 2^8 + 2^7? No, this is computers. We start counting at 0. Here's the proof why:

00000001 = 1 = 2^0

If you are completely lost, it's okay. You shouldn't need to do this, but I really wanted a reason to do some complicated looking math. The end result is your subnet would be as shown:

255.255.192.0


If you want to practice or figure these things out faster you can do two possible things. Pick a number between 0 and 32 and convert so you can get the actual math down AND/OR memorize the values of each binary bit along a line of 8 and add them or learn them already added. I'm personally a fan of learning the math because then you just have that to remember and apply to many things rather than single purpose memorization... 1, 2, 4, 8, 16, 32, 64, 128. In interviews I have been asked to do these things in my head, and personally I always get away with rattling off the math and some explanations of what to exclude and it gets me by.


I suppose I should mention why we get rid of 2 addresses off the bat. We get rid of the binary all 0s, like 172.16.3.0 because that's the network address and we get rid of the all 1s because it is the "broadcast" address. Then often there is an implied gateway, but do not assume that is always the case. You can have a network with no gateway, it is not a requirement. The gateway is often the first binary 1, so in the example's case it would be 172.16.3.1, 172.16.3.0 is the network, and 172.16.3.255 is the broadcast.


With that headache out of the way, let's talk about the easy stuff, how to view your network settings. There are a few ways to view your IP information, both GUI and CLI. Starting with GUI you can go to the start menu cog Settings, Network category, and click on the "Change connection properties." This should give you the IP, DNS servers, and MAC. This is good in a pinch, but the CLI options give more information. So first, the Powershell commands. The Get-NetIPConfiguration is a good way to get a lot of information. There is also Get-NetIPAddress, which gives information on some other interfaces you may not see that use the network stack. There is also Get-NetAdapter that will give you the MAC address, just compare it to Get-NetIPConfiguration. Finally there is the CMD command ipconfig /all. Pick whichever method is your favorite.


After you view your network settings, you should have all the information available to set a static IP. When setting a static IP, you can optionally set a gateway and DNS server(s). As usual, there is a GUI and a CLI way to do this. For the GUI we go to the start menu cog Settings, then the Network and Internet category. On the left-hand side you click on Ethernet, then Change Adapter Options. On the interface you want to set the IP, right-click it and hit properties. In the middle of that window you will see Internet Protocol version 4, select that then hit the properties button. With the first radio button, select Use the following IP and enter in the necessary information. Often times I end up just using the same gateway and DNS that DHCP had set and put in a static IP and subnet.


To set a static IP using powershell, you first want to get your interface index from either Get-NetIPConfiguration or Get-NetIPAddress. Get any other information you may need from those results as well. Then we can set every option necessary with the New-IPAddress command and Set-DNSClientServerAddress command. So it could look something like this:

New-NetIPAddress -InterfaceIndex 20 -IPAddress 192.168.1.30 -DefaultGateway 192.168.1.1 -AddressFamily IPv4 -PrefixLength 24

Set-DnsClientServerAddress -InterfaceIndex 20 -ServerAddresses 192.168.1.5,8.8.8.8 


I should take a moment to mention that if you need DNS on the Internet should a DNS server drop, Google has two you can use that are easy to remember. They are 8.8.8.8 and 4.4.4.4. It will not help with your intranet, but it is a good fallback for general Internet stuff.


Now let's talk about wireless, the wonderful world of wifi. While I doubt I have to tell you how to add a wifi network, I feel I need to mention how to remove a network to then re-add it. It actually can solve a lot of random wifi issues. So go to the start menu cog Settings, Network and Internet category, then Wi-Fi on the left. From there, select "Manage known networks." On the next page, you should be able to just click on any of the networks and hit "Forget" to remove them. On the same topic of Wi-Fi, your 2.4G bands reach farther than 5G, however they are more prone to interference especially from things like microwaves. Walls can also hinder the wifi signal and approaching from an angle means there is more material to go through, slowing it down even more. 2.4G cannot handle as many clients or as high a speed as 5G.


Moving on to the subject of Network hardware, typical topography of a network will be something along the lines of a router connected to switches connected to devices. Switches operate on Layer 2, so they are concerned only with the MAC address of a device. A Layer 3 switch is a switch that can operate on Layer 3 to some degree, like a managed switch with a web interface. A router operates on Layer 3 and is concerned with IP address and subnet. Each jack on a switch or router is called a port, or a physical port. On a device it is also called an interface. Getting any more in depth is a massive topic all on its own.


The problem with "network" trouble is that it can encompass such a wide variety of stuff that there is a lot to consider. Generally as an IT Specialist or the like, it will be your job to determine what the problem is to then see if there is a path of escalation to someone else or if you can deal with it. Problems can include wifi connection trouble, lag, website errors, network share problems, network printer problems, or general web issues. I will try to demonstrate using past experiences.


"A website is blocked or something, I get an error and cannot go past"

This is what I often get when there is a security certificate error. I hear this from the inept to the savvy. This is an easy fix, there will be an "Advanced" option that leads to a "proceed anyway" option.


"I can see the wifi network, but it won't connect"

This is usually as easy as removing the wifi network and re-adding it.


"Everything is laggy and slow"

This is an infamous work order I get all the time. If you run the Get-NetAdapter command on Powershell, you can see what the speed should be currently negotiated. Usually you can pass that information along with what physical port on a network device the device is plugged in to and pass it along to a Networking specialist. There is a chance if the speed is slower than it should be that there is a cabling issue or a port going bad.


"This website I NEED isn't working! HELP!!!111"

Often a lot of drama around work orders like this and it's usually something like a 500 error on a website. If you are getting an error on the website like 500, 502, 503, 404, etc. it means that the network is fine and it's in the hands of whoever controls the server.


The rest are usually wifi issues because it's wifi. Unfortunately, wifi is just not as reliable as a good old fashioned hard line.


That's pretty much way more than you need to usually know about networks starting out as a Computer Tech. Hopefully now you can go in at least able to grasp what veteran techs are trying to say. Unfortunately, most techs forget what it was like starting out when you never really expect to need to know networking because there's a whole job line dedicated to it. Hope this helps!

Wednesday, September 2, 2020

Starting Out as a Computer Tech (part 2)

Previously I covered some basic tasks you may need for dealing with a domain and Active Directory. Now I would like to cover some more local tasks. Even if a computer is on a domain, there is some necessary local management that may be necessary. Common tasks while locally managing a computer may include adding/altering/editing local users, cleaning out files, installing/troubleshooting programs, managing printers, changing default applications, changing display settings, and so on. There are actually a lot of things you still need to do locally. Some of these things can be done remotely, but they alter the local computer, not the domain. As a result, we will consider this local administration.


In my current environment I work with, every year we inadvertently need to change local administrators for some higher privileged computers. By this, I mean we add the domain account to be recognized as a local administrator when they log in. This is not necessarily the best way to do things, but quick and dirty tends to be the go to for a lot of IT people on all levels. On Windows 10 you go to the settings cog on the start menu. The category we need to look in is Accounts. On the left-hand side, there will be "Other users." To add a domain account, you will click "Add a work or school user." For a domain user, we add the domain before a backslash (\), like this: example\some_user. You then select the level you want the user at, like Administrator. When a user is added, they will appear in a list below the option to add a user. When you click on the user, there is a "Change account type" and "Remove" option.


The same things can be done with Powershell. For this we need knowledge of four commands: Get-LocalGroup, Get-LocalGroupMember, Add-LocalGroupMember, and Remove-LocalGroupMember. We can list all the group names with Get-LocalGroup. After you have a list of the group names and decide which one you want, for example Administrators, you can check what users are in the group by doing something like Get-LocalGroupMember -Group Administrators. When we want to add a user to a group to make them an administrator, we run a command like Add-LocalGroupMember -Group Administrators -Member example\some_user. Much in the same way, we can remove users with Remove-LocalGroupMember -Group Administrators -Member example\some_user. As mentioned before, the big advantage of Powershell in a lot of cases is doing things remotely.


The Command Prompt also offers the same functionality as different commands, specifically through the net command. The quick translation would look like this:

Get-LocalGroup would be net localgroup

Get-LocalGroupMember -Group Administrators would be net localgroup administrators

Add-LocalGroupMember -Group Administrators -Member example\some_user would be net localgroup administrators /add example\some_user

Remove-LocalGroupMember -Group Administrators -Member example\some_user would be net localgroup administrators /delete example\some_user

 

 Cleaning out files is another common task you may need to do. The first general maintenance cleanup task will be using Disk Cleanup. You can get to it by searching in the start menu for Disk Cleanup or Windows+r and running cleanmgr.exe. Disk Cleanup is something you may want to use to keep free space clear from various temporary files and Windows updates. You may need to tell it to include system files after the first scan if Windows update files are not showing up. Just go and select anything on the list you do not think you need and let it clean up the space.


Sometimes stuff may glitch out and the hard drive will be out of space and no files seem to be found. The times I have run into this, it was temporary files that decided they were permanent. You may need to go to C:\Windows\Temp and manually delete those files. The same can be done with Powershell by doing Remove-Item -Path C:\Windows\Temp\* -Force -Recurse.


The last bit of cleanup of files I often need to do is for network profiles stuck locally. This requires two steps. The first is to delete the folder under C:\Users that needs to be removed. The second step requires deleting a registry key. To delete the registry key, the first thing you need to do is launch regedit through regedit.exe with either Windows+r or the start menu. Navigate the tree to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList to find where all the profiles are. When you click on the items in the ProfileList, there will be keys on the right-hand side. ProfileImagePath will be the value that points to the profile folder. Delete the item on the left-hand side with a ProfileImagePath that matches a user folder you deleted. Whenever you are done, be sure to restart the computer.


Installing and troubleshooting programs is fairly straight-forward. You may need to check when you right-click a program and select Run as administrator. You may also need to right-click, go to properties, select the compatibility tab and select a compatibility mode. Be sure if you do that, you go through the "Change settings for all users" button at the bottom.


Moving on to one of the most hated topics, printers. The nature of a printer containing mechanically moving parts, software/drivers, and in some cases networking makes them a very difficult animal to deal with. For now, let's talk about installing and setting default printers. The problem I run into with printers is their user specific nature. To be guaranteed a printer gets installed and setup correctly you should try to do it entirely while logged in as the user that needs it, add it, and set it to default. Some printers may need you to download a driver or run a CD, some may need you to add it via the network. I will not go into any more detail than that, I hate dealing with printers and wish you luck in doing as little as possible with them.


Changing default applications is a user specific task that will probably cause a brain aneurysm for most techs. What should be a simple task often confuses people and Microsoft seems to often make no effort to make this any easier. The easiest way to set a default application to run a file type, is to right click, select "Open with" and make sure when you pick the program the checkbox is selected with "Always use this app to open ____ files." Sometimes this is not an immediate option. For that we go to the Settings cog on the start menu. Go to the Apps category and select Default apps on the left. The first list is of the basics like what to open websites or emails with. Just click on the icon and pick the program you want. At the bottom, you have "Choose default apps by file type." This is the pain one. Click on it to see the massive list of files types. There is no easy way to jump to a specific point, so you scroll down to the file type you want to alter the program for and change it by clicking on the icon next to the file type. I have to frequently do this with PDFs because for some reason it breaks a lot and resets back to Edge from Adobe Reader DC.


Since I work in a school system, changing display settings is an every day thing. Computers are connected to projectors here and second monitors there and it always seems people want it set up differently. There are also "problems" people report because of it. So let's go over how to change things. The first, and easiest when at a computer, is to press Windows+p to bring up a quick display menu on the right-hand side of your screen. There are four options PC only, Duplicate, Extend, Second screen/projector only. Duplicate shows both displays the same, extend has two separate desktop spaces, and the other two should be self-explanatory. The catch is often that Duplicate almost always messes up the resolution and extend might have the wrong screen as the "primary" display, making for a difficult time logging in. To access more settings, you can go to the start menu cog wheel Settings, go to the System category and Display on the left-hand side. This will show you your displays and you can tell it to "Identify" with the button below to tell you which screen is which. After they are identified, you can then easily drag the screens around on the settings to align them how they are in real life, they do not have to be an even match, or can be on top of each other, all sorts of things. To make one of them a primary display, select the screen and at the bottom there is a check box for "Make this my main display." You can also adjust your resolution and change the same settings that you get when you press Windows+p. There are also ways to do things over a CLI, but I'll talk about those later.


So here's a scenario I get all the time. A work order will say "Computer not coming on" or "screen is black and I can't log in, but I can see the mouse." So what is the problem? The answer is it's connected to a projector that is off, the projector is marked as the main display, and it's extended. The quick solution is to turn on the projector, press Windows+p, and then select Duplicate. To a tech it may seem simple and obvious, but normal people do not think "display settings," they think "it doesn't work" and get stuck panicking most of the time.


This is just a brief overview of some basic points required for being IT. There is still a lot more to cover. I hope someone somewhere finds this helpful.

Tuesday, September 1, 2020

Starting Out as a Computer Tech (part 1)

 As I gain more experience at my job as an IT Specialist, more often people are coming to me for answers. So I figure why not write down some of this to see if maybe people new to the tech world or looking to get into it can have some answers.

 

Back when I first started as a tech, I was completely lost and no one was really willing to show or teach me anything. Everything before being a tech was just personal computer stuff, no servers or large systems to deal with. My biggest mistake was not looking into stuff for large enterprise solutions. Becoming familiar with these kinds of systems will give you an edge over most newcomers. There is also a good expectation that where your job starts and ends will blur due to more items being computerized and network capable. So to start, you should want to have an idea of what areas you will need at least some knowledge in.


The most common baseline for people I know is the Comptia A+. This gives a basic understanding of computer hardware, operating systems, and computer concepts. Most IT jobs will also want some basic understanding of networking. The most common starting point that I get with job interviews and the like is some understanding of Windows Servers and Active Directory. Other knowledge areas may also include VOIP (voice over IP), Linux, and scripting. Another common thing I find interviewers ask about is familiarity with whatever flavor of ticketing software they use. The ticketing software is always weird to me, it's usually just a website on their intranet and there are a lot of different ones. The one my work currently uses is called SysAid.


So let's start with some of the basics of an IT job. Active Directory is something I commonly hear a few short and simple questions on, but what you need to know can vary. The absolute basics you should know are how to join AD, move objects in AD, terms like DC, OU, CN, GP, LDAP, and Kerberos. You will also need to know what tools you can use to work with these. Let's start with defining terms and acronyms.


The Domain Controller is a server(s) that has AD DS (Active Directory Domain Services) installed on it. Some call this the DC, but DC can also mean Domain Component. The term OU will also be used a lot, this means Organizational Unit which is a group in AD that will often include your policies known as GP (Group Policies). The Common Name (CN) will be things like a device or username, or various built in things. Lightweight Directory Access Protocol (LDAP, pronounced el-dap) is part of the suite of software that makes up what is AD. The main reason to recognize the term LDAP is because you may come across something that needs an LDAP path. These are a pain, but there's a few tricks to using and navigating it all a little easier. The final term you should be familiar with is Kerberos. Kerberos is the authentication part of the AD software which uses what are referred to as tickets to authenticate.


Now keep that in the back of your head, it's time to discuss tools for working with AD. In most cases, you will probably be working on a desktop and not a server. To add a computer to AD from the computer itself we have a few different tools at our disposal. This can be done through the Control Panel or Powershell. To get to the menu we need for the Control Panel has a few different ways as well. You can click on the start menu and type out Control Panel, you can press Windows+R and type out Control Panel then run it, you can open up the file explorer, right click on This PC and select Properties which will jump you to the Control Panel item we need to get to. When in Control Panel, under Category view you click on System and Security, then System, or if you are in icon view there should be one at the start called System. Under Computer name, domain, and workgroup settings, you click on Change settings. On the window that pops up, there should be a button called Change... next to text about renaming the computer, click Change. From the window that pops up, you can type in a name, change the workgroup name, or select the radio button for domain and type in your domain name. After you do this, the computer will need to restart.


One thing to mention now is that some of the tools necessary for working with a domain are in the Windows Remote Server Administration Tools (RSAT). Depending on your Windows version (October 2018 and later), it may be available through Settings > Apps > Windows optional features. Just do a quick Google search to see specifically what you need.


For those that prefer a command line way of doing this, we can use Powershell commands. For this, we use the Add-Computer module. To get to an Administrative Powershell session, you can press Windows+x then a, or right click on the start menu and select Windows Powershell (Admin). From here you can run a command like so:

Add-Computer -Domain "example.domain.com" -Credential "example\your-name" -Restart


After joining a domain, it may be necessary to view any policies applied to that computer to make sure policies were applied. For this we need to look at the Active Directory Users and Computers. As usual there is a graphical (GUI) way of doing things and a command line (CLI) way of doing things. The CLI way of doing things is a bit more involved, so I am going to highlight the GUI way for now. In comes the Microsoft Management Console (MMC). The MMC uses MSC files for various interfaces to do a lot of administration on Windows, these are also called Snap-Ins. I may cover more on that later, but we will be using a few of these over the course of learning things. So for the MMC Snap-in we need to run dsa.msc with either Windows+r or a start menu search. It has a tree-style drop down menu and to move a computer from one group to another it's as simple as a drag and drop.


Once you have joined a domain or moved to a new group, settings are set through Group Policy (GP). These policies should theoretically update themselves to the computer, but when you movie it from one group to another sometimes updates may or may not work there way through. It may also be necessary to force policies through. There are a few ways to update these policies. The first is a bit more passive, restarting the computer. I have had many times where this simply does not get everything. Opening an Administrative Command Prompt or Powershell we can use the command gpupdate /force to update and optionally add the /boot option to restart or logout if it is necessary to apply certain policies. From a Powershell we have the alternative command Invoke-GPUpdate with flags -Force and -Boot. The advantage of using Powershell is we can also run the command remotely with the -Computer option, for example: Invoke-GPUpdate -Computer "example\test-computer" -Force -Boot. Personally, I try to use Powershell commands over CMD as much as possible because of the possibility to continue with remote administration and management.


If we need to view the applied policies to a computer we look at the Resultant Set of Policy (RSOP). For the RSOP MSC, we can either search for in the start menu or press Windows+r and run rsop.msc. This will open up a window that should allow you to browse through policies applied to whatever computer you are on or whatever user you are logged in with. The GUI should be easy enough to understand.


To rename a computer on the domain or remove it from the domain is as simple as being logged in as an administrator and going about the same way you joined it to the domain. Removing it from the domain just requires changing over to a workgroup.


Hopefully this guide will be helpful to people as a quick overview of some basic tech work in enterprise style environments. When I started out, I had nothing to go on, but my interview allowed me to use Google, which was nice. With any luck, I should have plenty more to add to this.

Tag Cloud

.NET (2) A+ (5) ad ds (1) addon (4) Android (4) anonymous functions (1) application (9) arduino (1) artificial intelligence (1) backup (1) bash (6) camera (2) certifications (3) comptia (5) css (2) customize (11) encryption (3) error (13) exploit (5) ftp (1) funny (4) gadget (4) games (3) GUI (5) hardware (16) haskell (6) help (14) HTML (3) imaging (2) irc (1) it (1) java (2) javascript (13) jobs (1) Linux (19) lua (1) Mac (4) malware (1) math (6) msp (1) network (13) perl (2) php (3) plugin (2) powershell (8) privacy (2) programming (24) python (10) radio (2) regex (3) repair (2) security (16) sound (2) speakers (2) ssh (1) story (5) Techs from the Crypt (5) telnet (1) tools (13) troubleshooting (11) tutorial (9) Ubuntu (4) Unix (2) virtualization (2) web design (6) Windows (16) world of warcraft (1) wow (1) wx (1)