Outlook Automatically Deletes Email | Outlook Junk E-mail Filter
Background Story
Them: I'm not getting email from Foo User.
Me: According to server logs the message is being received. Are you sure you don't see the message in the Inbox.
Them: Yes, I am sure. The message is not there.
Me: OK, I'll look into it.
Trace/Tail the Message Through the Server
First, trace the message to see where it is going:
Get-MessageTrackingLog -Start "04/20/2021" -Sender This email address is being protected from spambots. You need JavaScript enabled to view it. -Recipients This email address is being protected from spambots. You need JavaScript enabled to view it. -Resultsize Unlimited -MessageSubject:"foo-subject"
And see if there are any FAIL's: Get-MessageTrackingLog -EventId FAIL -Start "04/01/2021" -Recipients This email address is being protected from spambots. You need JavaScript enabled to view it.
This will verify that the message is indeed being received.
Trace/Tail the Message in Outlook
Next, let's take a look at where the messages are in Outlook. This will generate a report and put it in your Mailbox. The report will collect the message info and let us know where the messages are in Outlook:
Get-Mailbox foo.user | Search-Mailbox -SearchQuery {Received:"03/01/2021..04/20/2021" AND Subject:"foo-subject"} -TargetMailbox "my.account" -TargetFolder "SearchAndDeleteLog" -LogOnly -LogLevel Full
The result is that the messages are being received and are in OUTLOOK but they are in the DELETIONS folder and they have not been read:
The DELETIONS folder is a special folder that is different than the DELETED-ITEMS folder. The DELETIONS folder is for email that has been deleted from the DELETED-ITEMS.
How is that happening?
To start with the DELETION folder, let's see how many items are in the DELETIONS folder: Get-MailboxFolderStatistics foo.user |Select Name, ItemsInFolder |findstr /i deletions
IGNORE
The IGNORE button will automatically send messages-in-the-conversation to the DELETIONS folder.
This can be recovered by:
-click DELETED-ITEMS (on the left-hand side)
-click RECOVER-DELETED-ITEMS-FROM-SERVER (at the top)
-select the messages in the list.
-click OK to restore.
-if the IGNORE button is shaded, then IGNORE is turned on. Click it to toggle it OFF.
As an administrator, the only way to see if IGNORE is on is through MFCMAPI (just search for it, comes right up):
-load the mailbox.
-QUICK-START > OPEN-FOLDER > IPM_SUBTREE
-new window opens.
-click IPM_SUBTREE
-right-click CONVERSATION-ACTION-SETTINGS
-click Open-Associated-Contents-Table
This will show if there are any IGNORE conversations with the SUBJECT and DATE so that you can target the message in the RECOVER-DELETED-ITEMS-FROM-SERVER.
Updated Story
Them: The messages are not IGNORED.
Me: hmmm.... Messages are automatically deleted and are not ignored.
Looking into it on the Exchange Server 2013
Just to double-check, let's make sure IMAP and POP are stopped. The reason we want to do this is so that there are no IMAP client problems happeing. get-service -Name MSExchangeIMAP* get-service -Name MSExchangePOP*
Even if the services are stopped, we want to check the settings for the services to ensure the LoginType is SecureLogin: get-ImapSettings |fl get-POPSettings |fl
And make sure that the logs are turned on incase something gets turned on by someone else on the team: Set-ImapSettings -ProtocolLogEnabled $true Set-PopSettings -ProtocolLogEnabled $true
Also, let's turn off mailbox access to IMAP, POP and OWA: get-casmailbox | ?{$_.OWAEnabled -eq $true} |set-casmailbox -OWAEnabled $false get-casmailbox | ?{$_.POPEnabled -eq $true} |set-casmailbox -POPEnabled $false get-casmailbox | ?{$_.IMAPEnabled -eq $true} |set-casmailbox -IMAPEnabled $false
Check the mailbox Spam Confidence Level (SCL) to see if anything is enabled: Get-ContentFilterConfig |fl Enabled Enabled : False
Junk E-mail options are included in Exchange/Outlook. This happens on both the server-side in EXCHANGE but also can happen in the local OUTLOOK client directly as OUTLOOK uses its own SMARTSCREEN filter technology; a client-side filter.
(Note that this is why the settings in EXCHANGE don't always reflect the settings in OUTLOOK.)
This happens because OUTLOOK can be used with accounts other than EXCHANGE accounts. Again, the local OUTLOOK client has its own Junk Mail filter that is independent from the server-side EXCHANGE Junk Mail filter.
To add more, on 11/01/2016, Microsoft stopped generating updates for the OUTLOOK client SMARTSCREEN client-side filter.
As a result, for Email Protection to work properly/efficiently, Junk Email filtering should be: -enabled in OWA/EMS. -disabled in Outlook client.
The server-side EXCHANGE filter happens through a hidden INBOX-RULE on the mailbox. Let's see the server-side filter: Get-InboxRule -Mailbox foo.user Get-InboxRule -Mailbox foo.user -IncludeHidden
Let's check the configuration for the Junk E-mail on the server-side EXCHANGE. This can be done in the OWA (web email access) or through EMS (Exchange Management Shell); both have the same effect (but does not change the client-filter in OUTLOOK): Get-MailboxJunkEmailConfiguration foo.user
Let's set the mailbox Junk E-mail Settings: set-MailboxJunkEmailConfiguration foo.user-enabled $true (or $false if needing to turn off)
(Note OWA changes can be done via the URL: https://mail.domain.tld/owa/This email address is being protected from spambots. You need JavaScript enabled to view it./#path=/mail)
While the client-side filter OPTIONS-tab (off | low | medium | high) cannot be changed by settings on the mailbox, the SAFE-SENDERS, SAFE-RECIPIENTS, BLOCKED-SENDERS tabs can be changed on the server which will update the settings in OUTLOOK: (Get-MailboxJunkEmailConfiguration foo.user).BlockedSendersAndDomains
To set and make changes on the client-side filter and set just one domain: set-MailboxJunkEmailConfiguration foo.user -trustedsendersanddomains foobar.tld
Or add the domain without changing what is already set in place: set-MailboxJunkEmailConfiguration foo.user -trustedsendersanddomains @{Add="foobar.tld"}
Headers
With the server-side EXCHANGE settings set, let's look at the message headers to see if there are any server-side junk-email tags in the headers: Get-Mailbox foo.user | Search-Mailbox -SearchQuery {Received:"03/01/2021..04/20/2021" AND Subject:"foo-subject"} -TargetMailbox "my.account" -TargetFolder "SearchAndDeleteLog"
RESULT: no EXCHANGE tags are found the message headers.
Junk E-Mail Configuration Outlook
Again, to reiterate, the state of the junk email rule on the mailbox doesn't affect the client-side junk email settings that are available in the Outlook Junk Email Filter. Even when the junk email rule is disabled in the server-side mailbox, Outlook can still move messages to the Junk Email folder or automatically delete messages.
When the local client-side Outlook Junk Email Filter is set to Low or High, the Outlook Junk Email Filter uses its own SmartScreen filter technology to identify and move spam to the Junk Email folder. This spam classification is separate from the SCL Junk Email threshold that's configured on the Exchange organization or on the mailbox. In fact, Outlook ignores the SCL value that's set on a message by Exchange (for all SCL values other than -1), and uses its own criteria to determine whether the message is spam.
So how to change the local Outlook Junk Email Filter that uses its own SmartScreen filter technology?
While Microsoft recommends that to enable, disable, and configure the client-side Junk Email Filter settings that are available in Outlook to use Group Policy, there are regedits that can be made to control a policy. When the regedits are made, the setting is greyed-out and cannot be changed by the local account.
On the client system with OUTLOOK, check to see if any policies exist: reg query HKCU\Software\Policies\Microsoft\office\16.0\outlook reg query HKCU\Software\Policies\Microsoft\office\16.0\outlook\Options\Mail
Disable the local OUTLOOK client JUNK E-MAIL SMARTSCREEN filter but Options can still be changed (no visual queue shows the filter is disabled): echo y |reg add "HKCU\Software\Policies\Microsoft\Office\16.0\Outlook" /v DisableAntiSpam /t REG_DWORD /d 1
Change the JUNK E-MAIL OPTIONS to LOW: echo y |reg add "HKCU\Software\Policies\Microsoft\office\16.0\outlook\Options\Mail" /v JunkMailProtection /t REG_DWORD /d 0xfffffff
Change the JUNK E-MAIL OPTIONS to OFF: echo y |reg add "HKCU\Software\Policies\Microsoft\office\16.0\outlook\Options\Mail" /v JunkMailProtection /t REG_DWORD /d 4294967295
Updated Story
Them: I am finally getting the report now. Thank you for helping me!
SETUP ACCOUNTS IN JIVE: -click USERS (on left-hand side) -type in account with phone-set-mac-address.
PROVISIONING-SERVER: http://$companydomain.onjive.com/p (or possibly $companydomain.onjive.com/p/$MA) In DHCP Scope-Options, set the 160-Polycom-Boot-Server-Name to: http://$companydomain.onjive.com/p
TYPE: http (would like for it to be https) USER: none PASS: none
JIVE-PASS: The JIVE Cloud Phone Server (aka JIVE PBX) automatically changes the password to each device. This is found here: https://my.jive.com/pbx/$companydomain/security
JIVE-NETWORKS: Phones will need access to the JIVE servers through the firewall: https://static.jive.com/meta/networks.txt +199.87.120.0/22 +162.250.60.0/22 +199.36.248.0/22 208.34.80.0/21 208.34.96.0/20 45.12.196.0/24
JIVE-PORTS: Phone will need access to the following ports: TCP 5060-5062 80 443
JIVE-REBOOT: Reboot the phone sets and they will automatically change to JIVE. Rebooting can be done through switch POE or if needed, the following package can be used to reboot phone sets.
PolycomVVXControl.exe -a 10.123.123.123 -w password-here reboot PolycomVVXControl.exe -a 10.123.123.123 -w password-here factoryreset
JIVE-REBOOT-PROBLEMS: In a few cases, systems were rebooted and changed to the new JIVE PBX server before the account was added in the JIVE PBX PANEL. Since there is no account, the phone changes to the JIVE server but no extension or account is added to the phone.
Trying to factory reset through the phone-web page or PolycomVVXControl doesn't work because JIVE has already changed the password.
But since the new account isn't provisioned, the new password isn't provisioned as well.
What to do? Well, JIVE temporarily sets a provisioning password. Here it is:
-go to ATT.com. -Account > Sign in. -Manage Profile. -Sign-in info. -select Manage secure mail keys (at the bottom) -Add secure mail key. -type in a nickname for the secure mail key (example: Outlook). -click Create-Secure-Mail-Key. -the new secure mail key is shown and should be used for email access in Outlook/Thunderbird/Mail app.
Let's say that you have a new system in a remote location. The local staff opens the box, powers the system on and logs into the system with their 365 credentials. During that process, that system has become Azure AD Joined.
Systems cannot be both Azure AD joined and Local AD joined.
So, if you have a local AD and try to join the system to the local AD, an error message will show that joining the local AD cannot be done until it is no longer Azure AD Joined.
You can do this one by one but your not just tech support... you are a system administrator!
We need to do this in some type of shell command (command shell or power shell).
See if the system is joined to Azure AD or Local AD:
dsregcmd.exe /status
If it is Azure AD joined, leave the Azure AD:
dsregcmd /debug /leave shutdown -r -t 3
After reboot, you can join the system to the Local AD:
:: Get Bitlocker status powershell: Get-BitLockerVolume -MountPoint "C:"
:: Suspend Bitlocker for a drive: manage-bde -protectors -disable C:
:: Suspend Bitlocker for a drive powershell: Suspend-BitLocker -MountPoint "C:" -RebootCount 0
:: Resume Bitlocker for a drive: manage-bde –resume C:
:: Resume Bitlocker for a drive powershell: Resume-BitLocker -MountPoint "C:"
:: Enable Bitlocker for a drive: manage-bde -protectors -enable C:
:: Enable Bitlocker for a drive powershell: Enable-BitLocker C:
:: Encrypt the used space only, skip the hardware test and store the recovery password in the Active Directory: Enable-Bitlocker -MountPoint c: -UsedSpaceOnly -SkipHardwareTest -RecoveryPasswordProtector
::Powershell command on device to get the status of the local volume (ie C drive): get-bitlockervolume get-bitlockervolume |fl
:: Powershell command on device to get the RecoveryPassword (Get-BitLockerVolume).KeyProtector
Perception is reality. Nothing defines our modern brave new world better than that statement.
If you are an agent or hold a position and nobody knows about it; you're a secret agent. The reason nobody knows about it is because they don't see you in their daily incessant stream of information.
Breaking through clutter is one topic. Another is having the information there when they are searching for you.
Truth be told; most don't even do that. The general public searches and they find no information. None. That is a death blow.
To be found, the following must be established:
contact email address
contact phone number
about me / about us / what we do
headshot / lead shot
main photo
This is the most basic information. This needs to be determined. If not, then they will find information, it just won't be what you want it to be.
Moving on will be determined upon the industry you are in. For example, if you are in real estate sales, the following may apply:
realtor.com
trulia.com
zillow.com
broker web site / company web site
personal web site
facebook.com/yourbusinesspage
twitter
instagram
linkedin
maps
yelp
mls / board membership
youtube
far
nar
dbpr / state licensing
Spend some time making sure that all your contact info at the industry specific places are the same.
-bought a certificate at GoDaddy (I know, I know... client request).
-submitted the CSR.
-received the certificate back.
At this point, all I had to do was install the intermediate and then install the certificate reply to the CSR. TomCat says no.... chain not valid.
I tried many intermediate and root certficates in the GD repository but the final certificate would not install. https://certs.godaddy.com/repository
Nothing worked for me at this point.
Here is how to fix:
-uninstall any certificate intermediate or root that I installed.
-open the certificate from GD in Windows.
-click the tab for the Certificate Path (at the top).
-click the intermediate certificate (the one in the middle).
-click VIEW-CERTIFICATE > DETAILS > COPY-TO-FILE
-click BASE-64-ENCODED-X-509
Now combine them:
-open the certificate from GD in a text editor.
-open the certificate from Intermediate in a text editor.
-copy and past the intermediate certificate directly below the GD certificate, like so: -----BEGIN CERTIFICATE----- MIICajCCAdOgAwIBAgIBAjANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJVSzEa
.... -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIICkjCCAfugAwIBAgIJAKm5bDEMxZd7MA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNV
.... -----END CERTIFICATE-----
Server version: Apache Tomcat/7.0.105 Server built: Jul 2 2020 12:25:26 UTC Server number: 7.0.105.0 OS Name: Windows Server 2016 OS Version: 10.0 Architecture: amd64 JVM Version: 1.8.0_192-b01 JVM Vendor: Azul Systems, Inc.
If you need to check the MFA settings for an account through powershell:
Get-MsolUser -UserPrincipalName This email address is being protected from spambots. You need JavaScript enabled to view it. |select strongauthentication*
If you need to clear the MFA settings for an account through powershell: Set-MsolUser -UserPrincipalName This email address is being protected from spambots. You need JavaScript enabled to view it. -StrongAuthenticationMethods @()
Let's say that you have a loop because someone setup an INBOX RULE to forward to an outside domain that is having problems.
How do you clear the queue of 1M messages that show as a result?
To clear the incoming messages that have arrived in the inbox:
Get-Mailbox account.name | Search-Mailbox -SearchQuery {from:This email address is being protected from spambots. You need JavaScript enabled to view it.} -DeleteContent
To clear the messages in the queue for the recipient:
Get-ExchangeServer |?{$_.IsHubTransportServer -eq $true} |Get-Queue |get-message -ResultSize unlimited |?{$_.recipient -eq This email address is being protected from spambots. You need JavaScript enabled to view it.'} |Remove-Message -WithNDR $False -Confirm $False
To clear the messages in the queue for the postmaster <>:
IDE/ATAPI Account does not have sufficient privilege to open attachment 'E:\VMs\VMName\Disk0.vhd. Error: 'General access denied error'
What this is trying to tell you is that HYPER-V has a user account for each VM. This user account is a random string of letters & numbers. This user account is hidden. This user account has access to the the VHD's.
If you were to do something like move the VHD's off the drive, expand the drive and move them back on the new drive, the user account would no longer have access.
No problem. Just add the permissions back in.
Looke at the details of the error message and it will let you know the user account name. Something like:
AE78918D-FE0E-4E6D-AFF5-25B32D4FE243
In command prompt (as admin), type something like:
The controller says a foreign configuration was detected during boot. All of the drive bays have red lights on them. I try to import the configuration, but it fails.
Failure to import arrays usually means that the drives were unexpectedly powered off or disconnected from the RAID controller, which puts them in the Unconfigured(bad) state. This is done as a precautionary measure to prevent drives with bad connections from joining the array, as sudden disconnects can result in data corruption.
These scenarios may also be accompanied by errors regarding preserved-cache on the controller, where if there were pending write operations at the time of the failure the controller holds the data until the disks are verified working, again as a preventative measure against data corruption.
Drives stuck in the Unconfigured(bad) state need to be manually set back to Unconfigured(good) before they will be importable. Please be aware that this procedure does not guarantee that your data will be restored, and has the potential to further damage your data if the drives are failing due to hardware defects.
If you want to import the configuration anyway, you can set drives to Unconfigured(good) through the MegaRAID BIOS, then retry to import configuration.
1. Start the LSI/AVAGO/MEGARAID
2 click DRIVES (on the left-hand side).
3. -select an unconfigured drive, click on the PROPERTIES > GO
4. click Make Unconf Good > Go. Do this for every Unconfigured(bad) drive.
5. Once all the drives have been marked good, head back to the MegaRAID BIOS home page, then click on Scan Devices to initiate a rescan of the enclosures. This should then prompt you with any foreign configurations detected, which you can then import.
Dealing with a data array of 24 physical disks. The controller is a MegaRaid/LSI/Avago/Broadcom 3108 firmware v24.9.0-0022. The physical disks are 500GB drives giving about 9TB.
Wanting to upgrade the storage space, I replaced the drives with 2 TB physical disks. This was done on-the-fly, 1-at-a-time so that the office was not disrupted. Fail disk, remove disk, insert new disk, let it re-raid. The process took about an hour a disk and I was able to complete over a few days.
With the new space available, I was able to grow the virtual-disk on the fly. Took about 8 hours to initialize.
With the disk space available, I wanted to expand the volume in Windows Disk Manager but got an error message:
"The volume cannot be extended because the number of clusters will exceed the maximum number of clusters supported by the file system."
Well, how many clusters do I have:
-type: fsutil fsinfo ntfsinfo f:
This shows that the cluster size is 4kb; this is the default-size.
As such, the official docs say that the max size is 16TB:
Cluster size
Largest volume
Largest file
4 KB (default size)
16 TB
16 TB
8 KB
32 TB
32 TB
16 KB
64 TB
64 TB
32 KB
128 TB
128 TB
64 KB (maximum size)
256 TB
256 TB
The only way around this is to reformat the drive with a larger cluster size.
Surface Pro Keyboard Does Not Work | Surface Pro Type Pad Does Not Work | Surface Book Keyboard Does Not Work
-open CMD (as admin) -type:systeminfo (to verify Surface model:Surface Pro 4). -download/install newest drivers/firmware for Surface model. -reboot. -device-manager. -show hidden devices (click VIEW at the top). -human-interface-devices. -surface type pad integrator > delete > checkmark to remove drivers. -keyboard. -uninstall all keyboards. -shutdown. -hold volume-up and power button for full 30 seconds. -power on. -type pad should work.
Have a Watchguard AP 325. The Cisco switches are 2960. They are POE.
The Watchguard AP 325 powers and get IP address. The Watchguard Firebox cannot see the AP. What gives?
Well the port that it is on is not set a trunk port. A trunk port is a network port that allows data to flow across a network for multiple VLANs. Perhaps a trunk port is thought of as a “bundle.”
Since the AP is going to have multiple devices connected for traffic, it needs to be set as a trunk port.
Here's how:
enable show interface status | include trunk config t int Gi3/0/34 Description Whatever AP Name Here switchport mode trunk switchport access vlan 1 switchport trunk native vlan 300 no switchport voice vlan switchport trunk allowed vlan 300-306 end
show int Gi3/0/34 switchport show int Gi3/0/34 trunk
a. Go to this site: https://sentinelcustomer.safenet-inc.com/sentineldownloads/ b. Click: Sentinel LDK RunTime & Drivers c. Download: "Sentinel HASP/LDK - Command Line Run-time Installer". d. Unzip the files. e. In an elevated command prompt (run cmd.exe as an administrator) navigate to the location where you unzipped haspdinst.exe. f. Type the command “haspdinst.exe -remove” without quotes and press Enter. g. When it finishes successfully, type the command “haspdinst.exe -purge” without quotes and press Enter. h. When this finishes successfully, the HASP drivers should now be uninstalled. Re-boot and try the upgrade again.
Fix Microsoft Windows Store | Fix Windows Calculator App
-go to: C:\Program Files\WindowsApps -change ownership to ADMINISTRATORS. -change permissions to ADMINISTRATORS | FULL-PERMISSIONS -look in the list for the APP that won't work (ie CALCULATOR). -delete the folders.
Cisco Router VRF's are virtual routers. Basically Cisco version of HyperV/VMWare.
The advantage of this is that you can take a single internet connection/MPLS connection and break it into 2 connections. Each connection will have its own outside-ip and inside-ip.
When this happens, the routes move from the physical connection to the virtual connection/VRF connections.
Show VRF connections: show vrf
Show VRF routes: show ip route vrf vrf-name-here
Add VRF route: enable config t router bgp 65000 network 10.162.116.0 address-family ipv4 vrf vrf-name-here network 10.162.116.0 exit-address-family exit ip route vrf vrf-name-here 10.162.116.0 255.255.255.0 10.162.100.1 (The above is: subnet subnet-mask gateway) exit
Verify the config and save it as the startup config: show run copy run start
Open Outlook 365. The Windows Security Box shows. You type in the password. The box shows again. And again. And again. What gives?
This could happen for a few reasons.
1- check the DNS records. There should be an autodiscover on the company domain name. In other words: autodiscover.daknetworks.com should go somewhere. And that somewhere should be correct.
2- check the DNS records. If there is more than 1 domain, then the autodiscover needs to be on all of the domains. In other words, autodiscover.daknetworks.net should go somewhere as well. That somewhere should be the same somewhere as the main domain.
3- check the Control-Panel > Credential Manager. Close Outlook. Delete any username/password that indicates Outlook. If there are incorrect username & password saved in there, they will be used to access the email. Since the username/password are incorrect, it will ask for the correct username/password.
4- check the registry at: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Outlook\AutoDiscover\
There are 2 parts to Outlook. The client software, what you are using on your system, and the server software, what the entire company is using to store/send/receive email.
Beginning with Outlook 2016/Outlook 365 some of the options to manually set what happens are removed in an effort to try to make setup easier.
If you have Outlook 365, then most likely you have Microsoft 365 for the company and it tries to automatically connect to the Microsoft 365 server.
But if you have Outlook 365 and have a private Exchange server, that can cause a mismatch. This results in Outlook always asking for a username/password for the Microsoft 365 server.
Outlook 365 automatically goes through a list to get autodiscover information. This is as follows:
- PreferLocalXML - Office 365 | ExcludeExplicitO365Endpoint - Root domain look up (Fancy way of saying it queries the A record) | ExcludeHttpsRootDomain - Secure URL look up | ExcludeHttpsAutoDiscoverDomain - Local Autodiscover (SCP object) | ExcludeScpLookup - HTTP redirect | ExcludeHttpRedirect - SRV record look up | ExcludeSrvRecord - Last Known URL | ExcludeLastKnownGoodURL
To skip a method, this is set via a registry edit. All items below skip/exclude the method of finding the AutoDiscover settings except the PerferLocalXML setting which dictates that a local override is to be used:
-software-protection service is not started (sppsvc). -try to start: access denied
-regedit -go to: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform -go to: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Software Protection -go to: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SPPSVC -go to: HKEY_LOCAL_MACHINE\SYSTEM\WPA
-permissions -USER: NT Service\SPPSVC -add: FULL CONTROL
-restart
slmgr.vbs /dlv Find the Activation Code.
slmgr.vbs /dli activation-code-here Find the details.
$cd /lib/firmware/ath10k/QCA9377/HW1 $cp WLAN.TF.2.1/firmware-6.bin_WLAN.TF.2.1-00016 firmware-6.bin (Be sure to use the higher/newest firmware number)
$dmesg | grep -i "error\|warn\|fail" [ 1.162573] RAS: Correctable Errors collector initialized. [ 7.807736] EXT4-fs (sda5): re-mounted. Opts: errors=remount-ro [ 23.497366] ath10k_pci 0000:02:00.0: Direct firmware load for ath10k/pre-cal-pci-0000:02:00.0.bin failed with error -2 [ 23.497373] ath10k_pci 0000:02:00.0: Direct firmware load for ath10k/cal-pci-0000:02:00.0.bin failed with error -2 [ 23.553780] ath10k_pci 0000:02:00.0: Direct firmware load for ath10k/QCA9377/hw1.0/firmware-6.bin failed with error -2
$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 18.04.4 LTS Release: 18.04 Codename: bionic
# v18.04.4 has a newer kernel but it is not installed automatically on LTS. # Let's install the newer kernel: $sudo apt install --install-recommends linux-generic-hwe-18.04 xserver-xorg-hwe-18.04
Let's say that you have an external domain that your company regurlarly works with. You want to customize some items for this external domain such as you want them to get out of office replys and you want the domain to not have a MailTip message that it is an external user.
If someone is set to Out of Office and you try to send them an email, before you hit the SEND button, you might get a message that states the Out of Office message. This is a MailTip. There are other MailTips as well. The most common are enabled by default. The advanced MailTips are disabled by default.
One advanced MailTip is a notice when sending an email to outside the company. This can be helpful for certain companies. Here is how to see the current settings:
To get the MailTip setting: Get-OrganizationConfig |findstr /i mail
To set a MailTip to show when sending outside the company: set-OrganizationConfig -MailTipsExternalRecipientsTipsEnabled $true
Ideally, I wanted to turn this on for a group of people but leave it off for everyone else. I could not find a way, so I just left it on for everyone. Going ISO27001 and getting certified will probably encourage this setting anyway.
Show network connections (in CMD): netsh wlan show interfaces
Get the profile: get-netconnectionprofile -name "wifi-profile-name-here"
If the get-netconnectionprofile/set-netconnectionprofile says "Provider load failure" then check the bitness: [Environment]::Is64BitProcess (If says "false" then you are running 32-bit.)
Get the profile (in Powershell): get-netconnectionprofile -name "wifi-profile-name-here"
Set the profile to Private (in Powershell): set-netconnectionprofile -name "wifi-profile-name-here" -NetworkCategory Private
Set the firewall to allow: Set-NetFirewallRule -DisplayGroup 'File And Printer Sharing' -Enabled True -Profile 'Private, Domain'
NOTES:
Here is the registry key to change the CATEGORY (1 = private, 0 = public):
See Soft Deleted Accounts in AzureAD | Restore Soft Deleted Accounts in AzureAD
To see all the accounts in AzureAD: Get-MsolUser -All $true Get-AzureADUser -All $true
To see all the "Guest" accounts in AzureAD: Get-MsolUser -All $true | ? {$_.UserType -eq "Guest"} Get-AzureADUser -All $true |where {$_.UserType -eq 'Guest'}
To get the details: Get-AzureADUser -All $true |where {$_.UserType -eq 'Guest'} |select objectid,userprincipalname
This will return the userprincicpal names of the guest accounts. Usually in the format of: accountname_domainoutside.com#EXT#@tenant-name-internal.onmicrosoft.com
If you delete a "guest" user or "member" user, the account is "soft-deleted" and is still in AAD. The account will be in this state of 30 days until the account is permanently deleted: Remove-MsolUser -UserPrincipalName This email address is being protected from spambots. You need JavaScript enabled to view it. Remove-AzureADUser -ObjectID This email address is being protected from spambots. You need JavaScript enabled to view it.
While the account is in this state, the account can be restored. However, the account cannot be added/invited to another Team.
To view account in the state of "soft-deleted": Get-MsolUser -All -ReturnDeletedUsers Get-AzureADMSDeletedDirectoryObject -Id aa644285-eb75-4389-886e-7233f096984c This doesn't help much because we don't know the ObjectId. The only way I could find the ID is by looking at the AAD logs and filter for "Delete User".
To look at the logs, the AzureADPreview module must be installed: Install-module AzureADPreview
After the AzureADPreview module is installed, run the following to check the logs for user deletion: Get-AzureADAuditDirectoryLogs -Filter "category eq 'UserManagement' and OperationType eq 'Delete'" |ft (The "Correlation ID" is the one you want.)
To permanently delete/hard-delete a guest: Remove-MsolUser -UserPrincipalName This email address is being protected from spambots. You need JavaScript enabled to view it. -RemoveFromRecycleBin Remove-AzureADMSDeletedDirectoryObject -Id aa644285-eb75-4389-886e-7233f096984c
To restore an account: Restore-MsolUser -UserPrincipalName This email address is being protected from spambots. You need JavaScript enabled to view it. Restore-AzureADMSDeletedDirectoryObject -Id aa644285-eb75-4389-886e-7233f096984c
Fail2Ban is amazing. It is a python script that monitors the apache logs and if it finds something bad, it blocks the IP address for a certain amount of time.
There are a bunch of filters already available. It is just a matter of enabling them and defining them with a reach-back number (ie within the last 24 hours), a miss number (ie 3 strikes) and a block time (2 hr, 2 day, etc).
Since I've noticed that most traffic is through bad bots, that happens to be one of my favorites.
-create a shared mailbox. Doing so, you can force this on someone's Outlook. However, they will not receive calendar reminders. Bummer.
-create a normal mailbox. Doing so, you will need to manually add the account to Outlook. Bummer.
-create a shared calendar from a typically mailbox. A little complicated, especially if a large group. But for a small group, this might work.
-create a public calendar. Available to everyone but they have to look for the calendar.
-create a room account. This allows the meeting to be scheduled on the room account and puts an event on the personal calendar where reminders happen.
-create Office 365 group / Unified Group. All Members of the group will automatically have the Group in Outlook. All members will automatically receive invites and notifications. Bummer.
I chose to setup a room account. This seems to be the most in line with what the client wants.
Let's say there is a world wide pandemic. Everyone suddenly wants-to/required-to work from home. How do you license everyone for Skype-for-Business/Teams? Here's how:
Let's say you have an Office 365 Group. You add a bunch of people. They add events to the calendar. Everyone is getting the calendar invites. They don't want that.
OK, first step is to delete the Office 365 Group through the GUI. Easy enough.
Now it still shows in Outlook. We want it completely gone.
Want to create a dynamic group for Office 365 Groups?
In Azure Active Directory, you should be able to create a group that is set dynamically depending on rules. This can be done through something called RULE-BUILDER.
It can be done. But it requires a P1 license for every account a part of the Office 365 Group/Unified-Group. This is $6 per month.
You will see that MembershipRule and MembershipRuleProcessingState are blank. Let's set those items (2 options are given for MembershipRule as example).
set-azureadmsgroup 654654654654 -membershipruleprocessingstate on
Do you have Skype for Business? If so, you either have a Lync server on-site (Lync is the former name of Skype for Business) or you have a cloud service with Office-365.
If you have an Office-365 service, do you want to control Skype for Business through powershell? Here's how:
Upgrading a group from a Distribution-Group to a Unified-Group:
Upgrade-DistributionGroup -DlIdentities This email address is being protected from spambots. You need JavaScript enabled to view it.
Upgrade Error
When I tried to upgrade one DistributionGroup to a UnifiedGroup, I got an error message, "ErrorReason: The specified distribution group is not eligible to be upgraded or you are not allowed to upgrade this distribution group."
What gives?
Well, this is because the Owner of the DistributionGroup was an unlicensed account, the Office365 Admin. Changing the owner to a licensed account, allowed the upgrade to happen.
OK, I don't know what Perfect Forward Secrecy is. All I really care about is getting the grade to A. What do I have to do?
Reading the link, I thought the certificate was incorrect and started to look for how to recreate the certificate using ECDHE instead of RSA. That is because of the lines, "Instead of using the RSA method for exchanging session keys, you should use the Elliptic Curve Diffie-Hellman (ECDHE) key exchange" and my inability to understand where I "can still use the RSA public-key cryptosystem as the encryption algorithm, just not as the key exchange algorithm."
Recreating the certificate is incorrect. The certificate is fine using the instructions found in the other article on this site.
The solution is found in the Apache/HTTPD server with the settings found in the following file on the server: /etc/httpd/config/httpd.conf
The server already had the following:
SSLCipherSuite HIGH:!SSLv2:!ADH:!aNULL:!MD5:!RC4 SSLProtocol all -SSLv2 -SSLv3 -TLSv1 #SSLHonorCipherOrder on
All I had to do was turn on the SSLHonorCipherOrder: SSLHonorCipherOrder on
And while I was at it, turn off TLSv1.1 since that was removed in January 2020 from most major browsers: SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
That left us with: SSLCipherSuite HIGH:!SSLv2:!ADH:!aNULL:!MD5:!RC4 SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 SSLHonorCipherOrder on
Restart Apache/HTTPD with: apachectl -k restart
Enjoy the grade of letter A!
NOTES: -use the following to see what ciphers are accepted: openssl ciphers -v -the server didn't have the option to turn on the CipherOrder, I had to create a template fragment called 35SSL10SSLHonorCipherOrder and filed bug 10916. This will probably make its way into the base. -for the curious, the following are the short steps: config setprop modSSL HonorCipherOrder on config setprop httpd-e-smith TLSv1.1 disabled signal-event domain-modify signal-event email-update
Upgrade from Windows Server 2008 to Server 2012 R2 Fails on VMWare. There is no reason why. Then it rolls back to Windows Server 2008.
The anwser is to remove the RESERVED PARTITION. If you look at the device manager, there will be 2 partitions; 1 for the RESERVED PARTITION and 1 for WINDOWS.
1- set the main Windows parition as the boot:
Run command prompt as administrator Type: bcdboot c:\windows /s c: (You should get a message that states: Boot files successfully created.) Open Disk Management, right-click on your C: drive and select Mark Partition as Active. Reboot
2- remove the RESERVED PARTITION. Edit the VM in WMWare to remove the RESERVED PARTITION HARD DRIVE. This will be the lowest partition size. Reboot
That should do it!
If not, you might have to boot from a install ISO, go to REPAIR, ADVANCED, CMD and fiddle with DISKPART and BOOTREC.
Let's say you have a large internal global network and you have an IP address that is slamming your SAP server that is coming from a different network segment with a different DNS server.
How do you know what host that is?
In a large network, there might be different domains and different DNS servers. You can query your local DNS server:
nslookup 1.2.3.4
But the local DNS won't find it because the host is not registering with that Name Server.
So to make this work, find the DNS server on that network segment. Sometimes using a traceroute helps here:
tracert 10.20.30.40
This will show the network hops. Hopefully this will narrow down the DNS server for that segment and query it, like this:
My work with PXE boot was back in 2007 with BARTPE. A new project has come up and I need it again.
{{Languages}}
==PXE booting to ISO==
===Goal=== We want to boot ISO images via PXE (rather than through CD). This means that, as long as we have enough RAM in the local pc's, we can boot WINPE or any LIVE CD (such as KNOPPIX, PCLINUXOS, UBCD, etc).
===Assumptions=== You are a network/server administrator and know what TFTP, LIVEISO, PE and PXE -a network boot- means. You have a running SME SERVER and your SME SERVER is your DHCP server.
===Install TFTP package on your SME SERVER=== -install SMESERVER-TFTP-SERVER on your SME SERVER: http://wiki.contribs.org/Tftp_server yum --enablerepo=smecontribs install smeserver-tftp-server
-install SMESERVER-THINCLIENT on your SME SERVER: https://wiki.contribs.org/Thinclient yum --enablerepo=smecontribs install smeserver-thinclient
You now have a /tftpboot directory on the SME-SERVER. Inside the /tftpboot directory is another directory /tftpboot/thinclient directory. Inside the /tftpboot/thinclient directory are the files necessary to make the PXE happen.
===Create TFTPBOOT structure on your SME SERVER=== -we need to move the files into the proper locations.
-change to the directory cd /tftpboot
-create a GRAPHICS, ISO, COM32 directories mkdir graphics iso com32
-move the pxelinux.0 file and the pxelinux.cfg directory to the /tftpboot mv ./thinstation/pxelinux.0 ./ mv ./thinstation/pxelinux.cfg ./
-finally, move the thinstation directory to the iso directory and create any other directories in iso that you want for iso distributions. For example, BARTPE and MEMDISK mv ./thinstation ./iso mkdir ./iso/bartpe ./iso/memdisk
You now have the following structure in the /tftpboot directory: graphics (The graphics directory is for graphics, naturally.) iso (The iso directory is for the iso files.) pxelinux.cfg (The pxelinux.cfg directory is the boot menu.) pxelinux.0 (This file is what boots the remote system.) com32 (The com32 directory is for the menu).
===Download Syslinux Executable=== To boot ISO images we need an executable that can handle ISO's. Lucky for us, a bunch of executables for each distribution is already available in a project called SYSLINUX. SYSLINUX actually encompasses PXELINUX, ISOLINUX and EXTLINUX.
Inside the "bios" directory you will find different executables for different distributions. For example, MEMDISK is a special executable (legacy) that can boot floppy images, hard disk images and some ISO.
Let's copy the file bios\memdisk\memdisk to /tftpboot/iso/memdisk anyway that you can, such as through SCP.
In addition, let's copy the following files to the root of /tftpboot: syslinux-6.03\bios\com32\elflink\ldlinux\ldlinux.c32 syslinux-6.03\bios\com32\menu\vesamenu.c32 syslinux-6.03\bios\gpxe\gpxelinux.0 (You already have the pxelinux.0 but pgxelinux.0 provides an additional way to boot which adds a few options such as booting over ftp, http, etc)
===Create an Windows-based ISO on your local pc===
Copy or download the ISO files to the iso directory.
++++++++++++++++++++++++++++++++++++++++++++++++++ ++(no longer supported, here for archival purposes only) ++++++++++++++++++++++++++++++++++++++++++++++++++ ===Create an Windows-based ISO on your local pc===
-create a BARTPE disk using WINDOWS SERVER 2003 source (i386 directory)
-or if you don't have a WINDOWS SERVER 2003 source, you can use a WINDOWS XP SP2 source (i386 dir) but you'll have to replace the following file with a newer version from the WINDOWS SERVER 2003 SP1 download (see next section): C:\pebuilder3110a\BartPE\I386\SYSTEM32\DRIVERS\ramdisk.sys
(You now have a file called: WindowsServer2003-KB889101-SP1-x86-ENU.exe)
-open WINRAR to open the WindowsServer2003-KB889101-SP1-x86-ENU.exe file (the W2K3 file is just a self-extracting ZIP/CAB/TAR file)
-extract only the following files from the W2K3SP1: ntdetect.com ramdisk.sy_ setupldr.ex_ startrom.n1_
-The underscore files are compressed. We need to decompress/expand them: expand ramdisk.sy_ expand setupldr.ex_ expand startrom.n1_
(You only need the ramdisk.sys file if you don't have a WINDOWS 2003 SERVER source to build your BARTPE from. See above section.)
===Transfer files to SME SERVER=== -copy the following files to the SME SERVER in the "/tftpdboot/iso/bartpe" directory: ntdetect.com setupldr.exe startrom.n12 bartpe.iso
===Work with files in the TFTPDBOOT dir=== -the files are case-sensitive and need to be named exactly as follows: ntdetect.com (lower-case) NTLDR (rename the setupldr.exe to NTLDR, all caps) startrom.0 (rename the startrom.n12 to startrom.0) (This is a ZERO) BARTPE.ISO (all caps)
===Boot client PC=== -that should do it! Start your client PC and boot from the network.
-it will boot the pxelinux.0 and try to use any config files.
-at the prompt, when it asks for an image type: {bartpe | thinstation | knoppix}
-pretty cool, huh?
===Advanced Menu=== It is possible to create submenus. Just create a plain text file in tftpboot/pxelinux.cfg/ directory and use the same format as the default. The file can be named tools, memorytest, recovery, etc anything you want.
===Advanced Modern OS=== The problem becomes that modern OS's renders the memdisk approach useless because if you loaded the ISO with MEMDISK, once the kernel was read from the ISO and loaded into memory, the ISO data would be gone.
THEM: Yes, in Outlook, when I go my Deleted Items and click "Recover Deleted Items from Server" it only goes back 2 weeks.
Retention
Retention is how long something can be retrieved if it is deleted. By default, this is 14 days. This can be found with the RetainDeletedItemsFor value, like this:
Now, there is also a retention on the MailboxDatabase (EDB) that covers all mailboxes on the EDB. This setting is the DeletedItemRetention value, like this:
Note that Mailboxes will automatically get their settings from the Mailboxdatabase. To set custom settings, you must first disable using the Mailboxdatabase defaults, like this:
Came across a PowerEdge 2950 with a PERC (raid controller) that needed Windows Server installed. The Windows Server ISO didn't have the PERC drivers and trying to inject the drivers into the Windows Server ISO failed.
Had to reset the DRAC:
-CTRL+E to access the DRAC settings to reset the password.
-ssh into the DRAC.
-issue the following to reset the DRAC: racadm racreset hard
Had to set the BIOS:
-allow SATA port to be turned on for the DVD.
-allow USB to boot.
-USB to show as HD.
-select boot menu.
-select USB.
Had to use the Dell Systems Build and Update Utility (SBUU) v5.5.0 for this to work. This ISO is found here:
Separate ISO's put together by running the following in command-prompt: copy /b om* OM_550_SUU_DVRPCK_A00.iso
After running through the options of the SBUU, the process looks for a DVD in the DVD drive. The process errors out if the DVD drive is unavailable and doesn't pick up the USB as the DVD. Go figure.
What makes this process difficult is because there are 54 downloads in the Dell Drivers web site for "SYSTEM-MANAGEMENT":
Sometimes it is referred to as the "Dell OpenManage Systems Build and Update Utility" with the "OM" in the title and ISO name.
Sometimes it is referred to as the "Dell DVD ISO - Dell Server Updates, v.5.5.0, A00."
Sometimes there are other ISO's that seem like they should work but don't. Such as the Dell Installation and Server Management (ISM) ISO aka "Dell CD ISO - Installation and Server Management v.5.2.0."
Sometimes the documenation refers to the Lifecycle Controller aka "Dell DVD ISO - Lifecycle Controller OS Driver Packs v.6.5.1" which doesn't work in my case.
Sometimes the driver download page refers to the "OS Driver Pack DVD ISO" aka "DELL LIFECYCLE CONTROLLER OS DRIVER PACK V7.0.0" which doesn't work in my case.
Sometimes the driver download page refers to the "Q1 Server Update Utility DVD ISO v7.2.1" which doesn't work in my case.
Sometimes the driver download page refers to the "Dell Systems Management Tools and Documentation DVD ISO ,V 7.3.0" which doesn't work in my case.
Sometimes the driver download page refers to the "Dell Windows OS install support pack, v6.3" or the "Dell Windows OS install support pack v7.0.0" which doesn't work in my case.
Sometimes the driver download page refers to the "Q1 Server Update Utility DVD ISO v7.2.1" which doesn't work in my case.
In addition, the downloads are broken up into:
Embedded Server Management
Secure Systems Management
Systems Management
I'm not certain if a newer SBUU would work (or anything else for that matter):
If you disable ACTIVESYNC, the account cannot get email on the MAIL app on iPhone. Most likely, you want to keep ACTIVESYNC turned on and OWA turned off.
In addition, you probably want to turn off EWS for the accounts. I've found that some 3rd party email apps (ie Blue Mail) use EWS to gather email rather than ACTIVESYNC. For whatever reason, this will not show in Exchange as a mobile device (ie Get-MobileDevice -Mailbox foo.user).
It will go through find the drivers, download them and install them automatically.
Because this is via command line, this can be pushed out through the entire network.
ADVANCED DELL COMMAND UPDATE
Now Dell releases all in one driver packs (aka CAB files) for their business systems (Latitude, Precision, etc). You can download the CAB file in a central location and roll out the CAB file to the system (be certain to choose the right CAB file and match the CAB file name to the model number):
It can be tough to set escpecially if you have double-quotes. The backtick when used at the end of the line is used to join to the next line. Also, the backtick is used to escape the double-quote. Example for escaping quotes:
I'm out of office due to sudden medical leave. Please contact Other User (This email address is being protected from spambots. You need JavaScript enabled to view it.) or Other User2 (This email address is being protected from spambots. You need JavaScript enabled to view it.) in my absence. I will have limited email access.
Thank you.
” ` -InternalMessage “
Hello,
I'm out of office due
to sudden medical leave. Please contact Other User
(This email address is being protected from spambots. You need JavaScript enabled to view it.) or Other User2 (This email address is being protected from spambots. You need JavaScript enabled to view it.) in my
absence. I will have limited email access.
Once upon a time, Skype was Skype and everything was good. Then Microsoft bought them and everything became confusing; really confusing.
In another point in the time, Slack came into existence. It caught steam. All the cool kids used it, the marketing was a bit viral and the company went public company on the NYSE.
Competition
To compete, Microsoft developed Microsoft-Teams; the Microsoft version of Slack.
Microsoft added Teams to their Office365 packages so anyone with an Office365 account could use Microsoft Teams. But it still wasn't enough.
To make the offering more attractive, they offer Microsoft-Teams for free. This is up to 300 accounts on the same domain.
set-msoluser -UserPrincipalName This email address is being protected from spambots. You need JavaScript enabled to view it. -usagelocation US
3b- check the Office365 Licenses
get-msoluser -UserPrincipalName
This email address is being protected from spambots. You need JavaScript enabled to view it. |fl |findstr /i licen
3c- assign a Microsoft Teams License
set-msoluserlicense -UserPrincipalName This email address is being protected from spambots. You need JavaScript enabled to view it. -AddLicenses "foodomain:TEAMS_COMMERCIAL_TRIAL"
While this is logical, this will not work if you have Office 2016/2019 installed. This is because the download is a click-to-run (c2r) application. C2R applications cannot be mixed with others.
Or if you need to download in Powershell through wget: wget 'https://download.microsoft.com/download/8/7/E/87E24B50-9C85-4B1D-A581-94AA037803F8/LyncEntry_bypass_ship_x64_en-us_exe/lyncentry.exe' -outfile 'lyncentry_x64.exe'
Typically, Skype for Business Basic needed an onsite Lync Server or an Offce365 account (Office 365 ProPlus, Office 365 Enterprise E3 or Office 365 Enterprise E4).
I guess because of the convergence of Skype for Business and Microsoft Teams, the Microsoft Teams license will work with Skype for Business Basic now.
So routes in an MPLS cisco router can have the following codes; the highlighted ones are the most common I see:
Codes:
L - local
C - connected
S - static
R - RIP
M - mobile
B - BGP
D - EIGRP
EX - EIGRP external
O - OSPF
IA - OSPF inter area
N1 - OSPF NSSA external type 1
N2 - OSPF NSSA external type 2
E1 - OSPF external type 1
E2 - OSPF external type 2
i - IS-IS
su - IS-IS summary
L1 - IS-IS level-1
L2 - IS-IS level-2
ia - IS-IS inter area
* - candidate default
U - per-user static route
o - ODR
P - periodic downloaded static route
H - NHRP
l - LISP
+ - replicated route
% - next hop override
As elsewhere, you can see the routes by:
show ip route
Or you can search for a route by (ie search for routes to 10.116.x.x):
show ip route | incude 10.116
To add a route to the MPLS router nodes, the route must be added as a STATIC route to the node that is LOCAL to the subnet.
For example, we add a new node to the MPLS network. That new node has the following network as a LOCAL subnet: 10.116.0.10/32.
This network would show as the following:
L 10.116.0.10/32 is directly connected, GigabitEthernet0/1
The new node also has the following network as a subnet 10.116.15.0/24. The problem is that while the subnet at the location will already know about the subnet, the other locations will not know about the subnet until it is advertised/distributed across the MPLS network routers.
If you try to traceroute a address on the new subnet from a different location, the other routers will not know what to do and bounce the packet to the default route, causing a loop/bounce.
As stated above, to resolve, the STATIC route must be added to the router where the subnet is located:
S 10.116.15.0/24 [1/0] via 10.116.1.1
To add a static route: enable config t ip route 10.116.15.0 255.255.255.0 10.116.1.1 (note that CIDR doesn't work. ie: ip route 10.251.10.0/24 10.162.100.2)
Once that is added, the other routers will pickup the route as a BGP route:
B 10.116.15.0/24 [20/0] via 10.162.131.38
B routes (BGP) will pick up routes from their neighbor. You can view by: show ip bgp
O routes (OSPF routes) will pick up routes as well. You can view by: show ip ospf
Let's say you have a bunch of files to rename. You want to minus the first 10 characters of each file. What's the best way?
It depends.
Total Commander
My favorite for small-to-medium batches is Total Commander. It understands REGEX and it shows the before-names and after-names before committing the command.
-highlight the files (they show as red filenames).
-click FILE > MULTI-RENAME-TOOL (the rename box shows)
-find RENAME-MASK (in the upper-left).
-type: [N10-]
-adjust according to your situation.
-click START (at the bottom-right).
This should do it!
Powershell
For powershell, the command will be something like:
From here you have the option to connect to different ENDPOINTS of Office365/AzureAD. The information is the same but data is displayed differently depending on which endpoint is being used.
Note that this only has to be done once. After the module is installed into Powershell, it remains.
To install a few at the same time: install-Module msonline,ExchangeOnlineManagement,AzureADPreview,Microsoft.Graph
Also note that since the AzureAd module is being actively developed, the "preview" module, or beta-version, has additional commands that the current release does not. However only one of the AzureAD modules (either AzureAD or AzureADPreview) can be installed at a time.
Connect to Endpoint
After the module is installed into Powershell, the connection is as follows:
OUTLOOK/Exchange-Online: type: Connect-ExchangeOnline Connect-ExchangeOnline -UserPrincipalName This email address is being protected from spambots. You need JavaScript enabled to view it. -DelegatedOrganization adatum.onmicrosoft.com Old-way: $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $LiveCred -Authentication Basic -AllowRedirection Import-PSSession $Session -AllowClobber
OUTLOOK/Exchange-Online: for the Exchange portion of Office365. Should be easy to determine if it is needed.
AzureAD: new endpoint that seems to have development in the works. To me the commands are long and arduous but it has the advantage of automation or workflow.
MSOnline: tried and true as a legacy option that seems to work best.
MS Graph: the new, new endpoint that is the official current supported endpoint.
Skype-for-Business/Teams: for the Skype-for-Business/Teams portion of Office365.
Teams: for the Microsoft Teams portion of Office365.
As a refresher, get-msoluser and get-azureaduser are similar but provide information differently.
This is a case where it seems to be easier to use get-msoluser.
To see all accounts:
get-msoluser
That returns a maximum of 500 results in a command, so you can check with (20000 represents some really high number because 'unlimited' or 'all' doesn't exist):
To see an example of the details of a licensed account for ADHOC:
get-msoluser -UserPrincipalName This email address is being protected from spambots. You need JavaScript enabled to view it. |fl |findstr /i licen IndirectLicenseErrors : {} IsLicensed : True LicenseAssignmentDetails : {Microsoft.Online.Administration.LicenseAssignmentDetail} LicenseReconciliationNeeded : False Licenses : {foodomain:RIGHTSMANAGEMENT_ADHOC}
To see an example of the details of an unlicensed account:
get-msoluser -UserPrincipalName This email address is being protected from spambots. You need JavaScript enabled to view it. |fl |findstr /i licen IndirectLicenseErrors : {} IsLicensed : False LicenseAssignmentDetails : {} LicenseReconciliationNeeded : False Licenses : {}
To assign a license to an account, you might think that set-msoluser has a key/value but they break it out to set-msoluserlicense (which is weird because there is no get-msoluserlicense). But before that is possible, the account must be set for USAGELOCATION (which is set-msoluser):
set-msoluser -UserPrincipalName This email address is being protected from spambots. You need JavaScript enabled to view it. -usagelocation US
set-msoluserlicense -UserPrincipalName This email address is being protected from spambots. You need JavaScript enabled to view it. -AddLicenses "foodomain:TEAMS_COMMERCIAL_TRIAL"
Likewise for removing the license:
set-msoluserlicense -UserPrincipalName This email address is being protected from spambots. You need JavaScript enabled to view it. -removeLicenses "foodomain:TEAMS_COMMERCIAL_TRIAL"
What options are available for the license key?
Glad you asked. Here is how to get the options for your tenant:
Get-MsolAccountSku
If something doesn't show, it is because it has not been provisioned.
So it is easy to find out what USER is a member of what GROUP. Or vice-versa.
What is not as easily available is finding out what USER has accessto another account. Or another way of putting it is; how to find mailboxes that have additional permissions than just their own?
For whatever reason, I had an account in Azure AD that picked up the @foobar.onmicrosoft.com domain rather than the actual local domain. I suspect this happened because there was already an account manually created as a Global Admin so when the AD sync was happening, it could not create an account and defaulted to the onmicrosoft.com account.
In any regard, you can delete the account on Azure AD without affecting the Local AD. After the deletion, sync back to Azure AD from the Local AD.
Connect to AzureAD & Verify the Account Does not Exist
Connect-azuread -Credential $LiveCred
get-AzureADUser
get-azureaduser -searchstring fooname
Permanently Delete
Go to Azure Acive Directory > Users > Deleted Users
Select User
Permanently Delete
Sync from Local AD
Then to sync back from the Local AD.
-connect directly to the system that has Azure AD Connect.
Check the schedule:
Get-ADSyncScheduler
Run the sync:
Start-ADSyncSyncCycle -PolicyType Delta
Notes
get-msoluser and get-azureaduser are pretty much the same in that they will provide the same basic details. They are different in that they connect to different endpoints of the service and therefore provide similar information but provide it differently.
In short, get-msoluser is the 'old way' and get-azureaduser is the 'new way.'
The problem is that the old way is easier to use and not everything is in the new way.
All this time and I never covered this... GPO, gpupdate, gpresult, rsop
GPO
You know GPO, right? The Default Domain Policy is the applied for the entire domain and should override the rest. Put the password stuff in this policy but nothing else.
GPUPDATE
The GPO's will apply automatically but if you need to do it now:
gpupdate /force
gpupdate /force /target:computer
GPRESULT
To see what is being applied, type:
gpresult /r
It shows what server the system is connecting to, what GPO's are applying, what GPO's are not applying and what security-group is being applied. All useful information.
To see more info, use verbose mode:
gpresult /v
Note that the command will only show the USER gpo's. If you want to show the COMPUTER gpo's, the command should be run AS-ADMINISTRATOR.
Or if you need to run remotely:
gpresult /r /scope:computer
GROUPS
Groups are applied on login. If the group doesn't show, logout/login.
RSOP
Since GPO's can overlap, the follow will show what GPO's are winning in case they are fighting: rsop.msc
NET ACCOUNTS
Or a quicky to show password rules: net accounts /domain
On 2 separate occasions today, I ran into problems with NVMe drives. These are SSD drives on a chip through a pcie slot rather than a SATA connection.
The drives were Toshiba KXG60ZNV512G NVM and would BSOD coming out of sleep/hibernate.
Here are 10 steps to make sure you have the best NVMe experience.
1- Update the drive firmware. Be sure to match the model number (KXG60ZNV512G). Dell's web site provided the wrong drive firmware. This firmware would not install as the drive was not found on the system. I found the correct firmware by showing all downloads for the model (Precision 7530).
2- Update the bios. The bios needs to be built to work with an NVMe drive. So if the bios doesn't work, it may need updated.
3- Write down the bios settings for the drive and reset to the default bios settings. Reboot. After reboot, manually set the settings again. There are some settings that cannot be changed manually. If there are hidden settings the default should be appropriate. But we want to make sure we have the drive settings (probably RAID/RST) because we don't want to guess after the update. Changing them incorrectly produces a BSOD on bootup. Not the end of the world as it can be fixed.
4- In the bios, turn off the C-STATE. While we are at it, turn of SPEEDSTEP... ugh.
4- Update the chipset drivers.
5- Update the NVMe drivers. There are 4 providers of NVMe drivers:
Microsoft built-in drivers.
Samsung.
Intel RST (iastorAC.inf).
OpenFabrics Alliance.
Word on the street is that the OpenFabrics drivers perform best but let's stick with the crowd and use Intel RST drivers.
7- Enable the Device Manager Write Caching Options by disabling the write cache buffer; DEVICE-MANAGER > DISK-DRIVES > RIGHT-CLICK > PROPERTIES > POLICIES > CHECKMARK "turn off windows write cache buffer."
8- Disable the Link Power Management (LPM). Open the Intel Rapid Storage Technology Software > PERFORMANCE > LINK-POWER-MANAGEMENT > DISABLE.
9- Set to ultimate performance. Windows has power settings for both plugged into power and for battery. If it is plugged in, use it for maximum performance. Some settings are hidden in the Windows UI, so set it via command line: powercfg -s e9a42b02-d5df-448d-aa00-03f14749eb61
While we are at it, make sure the hibernation is off: powercfg -h off
10- Have fun! Remember, if this "feels heavy," get someone else to do it for you. Here is a benchmark:
I wrote this email for a colleague who inquired about Webroot. After I finished the message and sent it, I realized that it was appropriate for a blog post:
Webroot is very good protection.
1: INSTALLATION
The installation is very simple with msi or exe options available. Both options are simple, silent and fast install. The command line looks something like this: msiexec.exe /i "wsasme.msi" ALLUSERS=1 /qn /norestart /log output.log GUILIC=664CG8545895728446C
2: PROTECTION-AREAS
Once installed, the protection has the following areas:
1-Real time Protection
2-Rootkit Protection
3-Web Protection
4-USB Protection
5-Firewall Protection
6-Identity Protection
7-Phishing Protection
8-DNS protection is available as well as an upgrade.
3: SCANS
Scans are very fast and use little processor resources. A “deep” scan takes around 30 seconds. A “Full” scan takes around 30-60 minutes but this scan is not needed because of the central console.
4: CONSOLE
All computers report back to a central console which is located here:
The console is a central place to monitor systems, control systems and will show which systems are clean and which systems have problems.
6: CONTROL
The console also controls the options for Webroot and will determine the settings for the software. One policy we like is the inability to uninstall the software. So even if a person has administrator rights, they are unable to remove Webroot. Uninstall is only performed by the console.
The console also gives limited control access to the systems. You can perform manual scans, lock the computer, restart the computer or restart in safe-mode. This is good when the system is out of the office and might have little control over the system through other access.
7: THREAT RESOLUTION
In the event that Webroot finds a threat, it will automatically resolve the issue and either quarantine the file or delete the file. There is very little maintenance to perform.
8: WEBSITE BLOCKING
While the firewall blocks websites, Webroot is a second layer of protection that blocks when the system is not behind a company firewall.
9: DEFINITION-UPDATES
Definition updates are handled by the console with cloud-based threat intelligence. All systems use the same definition updates and policies.
10: UPGRADE-VERSION
Webroot will automatically update to the newest version. There is no need to manually update the software version.
BONUS: ALERTS & REPORTS
The console can generate alerts and reports. Alerts send an email or text message when any problem is found. Reports shows a list of problems for a time period; for example for the last 30 days, 60 days or 90 days.
FINAL THOUGHTS
The only other antivirus we are considering Cylance.
Trying to reset cisco password; getting "% Authorization failed" for every command. I guess there is an AAA set.
PC <-> usb-to-serial-connection <-> serial-to-ethernet <-> ethernet-to-console plug into console putty select serial type: com3 Power on router startup sequence shows. hit CTRL + BREAK (within 60 seconds). type: confreg 0x2142 type: reset Wait for reboot. type: no type: enable type: show startup-config copy the entire output to your pc and save. type: config t type: config-register 0x2142 type: end type: reload type: no confirm the reload with enter type: no (when ask to enter the initial config). type: enable type: config t type: config-register 0x2102 (notice this is different) type: end type: write memory type: reload hit ENTER to confirm reload
We had our first interaction with Webex Room Kit recently. After hashing it out for a few days, here are a couple of tips that might help:
1- Webex Meetings and Webex Teams are 2 separate products.
Webex Meetings is traditional Webex. You can host/schedule meetings and other people can join. The meetings can be for small 1-on-1 type of meetings or they can be webinar type of meetings where one person presents and everyone else is muted. Up to 1000 people can attend.
Webex Teams is like Skype. Others ring you and you can ANSWER or DECLINE.
2- Webex Meetings and Webex Teams are 2 separate software.
Since they function differently, you will need both, if needed. My recommendation is to skip Webex Teams altogether. More on that later.
You can install silently by: msiexec.exe /i "webexapp-39.4.5-5.msi" ALLUSERS=1 /qn /norestart /log output.log
3- Close Outlook when installing Webex Meetings.
When Outlook is closed, Webex Meetings buttons will install into Outlook. You can use the buttons to Start a Meeting or Schedule a Meeting directly from Outlook.
These buttons are not available for Webex Teams. This is a deal-breaker for Webex Teams.
4- Licensed Accounts are only needed for people who START/HOST/SCHEDULE meetings.
If a user is not going to START/HOST/SCHEDULE a meeting, they do not need a license.
They can still attend meetings that others START/HOST/SCHEDULE.
5- Webex Meetings (& Teams) is licensed per NAMED-USER (colloquially called PER-USER) or ACTIVE-USER (colloquially called CONCURRENT-USER).
In NAMED-USER, you will pay for every person that has an account. If they never HOST/SCHEDULE a meeting, you will still pay.
In ACTIVE-USER, you pay for the number of meetings that can happen at one-time. Like incoming/outgoing phone lines, once they are used up, someone will have to wait till a spot is free to make a call.
6- ACTIVE-USER (aka CONCURRENT-USER) starts at 40 licenses.
This is kind of a bummer for small companies. It would be awesome if a 5 license option were available for smaller companies who may want the features of Webex but don't host meetings too often.
For larger companies, with ACTIVE-LICENSE, you can install on everyone's computer (say 250 computers) and only pay for 40 licenses. Awesome option!
7- Webex Room Kits are Webex Teams by default.
In thinking about it, it makes sense. If you have a conference room of 4 people and they need to call another room, that other room will have to ANSWER for anything to happen. If not, it just rings like a phone until a NO-ANSWER message shows. It will not just show the other conference room and wait for other people to show. That would be kind of creepy.
8- Webex Room Kit TouchPanel has a Directory which is Webex Teams by default.
So if someone starts a Webex Meeting and you try to join via Webex Room Kit by calling their name from the Directory, it will not join the Meeting. It will just ring. This has been the single biggest source of frustration with the Webex Room Kit. People stomp away cursing under their breath about how the stuff doesn't work.
I'm trying to see if that can be changed.
9- Call the Personal Room.
If you start to type in someone's name, they will show twice. Once as their name and a second time as a PERSONAL-ROOM. By tapping on their name, you are calling them via Webex Teams. By tapping on their PERSONAL-ROOM, you are calling them via Webex Meetings. This is "fix" for the frustration above. Trying to communicate (educate?) people on this has proven to be difficult.
This web site can control the Webex Room Kit. Options like Whiteboard focus, so that the camera can focus on the person in the conference room along with a Whiteboard and options like Standby-Branding, so that you can display a web site on the TV while the Webex Room Kit is not being used are both options can be found by a little digging.
11 (Bonus!)- Siri/Cortana is Built Into the Webex Room Kit
OK, it is their version of Siri/Cortana but you can say, "Hey Webex, call John" and it will do your bidding. Of course, use caution on the whole Teams/Meeting Personal Room aspect.
Conclusion
In the end, Webex Room Kits along with Webex Meetings is one of the best all around options available for video conferencing and can change the entire culture of the company while providing best-in-class service to customers. Webex Meetings is great but needs a bit of class time to get the full features out of it. Webex Teams,while perhaps necessary, is very confusing to communicate and for users to pick up on their own. Having 2 options only serves to increase support times. Do yourself a favor and ditch Webex Teams going with Webex Meetings only is the way to go.
Now to see if it is possible to change that darn Directory in Webex Room Kit Touchpad to only show Personal Rooms...
Why WatchGuard instead of {insert brand name here}? Good question.
Fine Grain Control
First and foremost, WatchGuard has fine-grain control. This means that WatchGuard will inspect every incoming and outgoing traffic. This is done on a port level (0-65,535) and a portocol level. This means it can allow/deny protocols on ports that it should not be running on. This is different than lower-end systems that will allow all outgoing traffic but only port-forwards incoming ports.
Automatic Deny
WatchGuard automatically denies something that it does not recognize. This is important for security. This way, only items that need to go through are doing so through manual allowance rather than automatic allowance.
Multiple Interfaces
WatchGuard can handle multiple interfaces. This means dual WAN connections or possibly more; such as dual-WAN and MPLS connections. Or perhaps a single WAN connection and multiple internal network segments that are completely separate. Think in terms of an office suite where there might be 5 tenants or more sharing a single internet connection. The economies of scale are at work here as every tenant could share a single fiber connection rather than each getting their own WAN/ISP.
Multiple IP Addresses
WatchGuard can handle multiple public IP addresses all on the same interface. This means that we can use one ip address for our LAN and other dedicated IP addresses for servers. This helps for security but also if you have multiple servers using the same port number, say port 80 for web hosting. You can have multiple web servers behind the same WatchGuard with different public ip address but using the same WAN connection.
No Reboot Configuration Updates
WatchGuard will apply new configurations without rebooting the system. The only time a reboot is needed is when the OS is updated. This is a dream if you ever managed any other system that wants to reboot everytime a change is made.
Wireless Controller
WatchGuard has wireless controller builtin. This allows for easy deployment of several access points (AP's) at once. It will sniff out new AP's and ask if it should manage them. This can be done via internet as well. So upgrading AP firmware is done in one fell scheduled swoop in the wee hours of the morning during low/no traffic.
Business Class Ready
WatchGuard is business class ready. Stop using home quality routers at the office. With uptimes more than a year, WatchGuard is built for the offices both large and small.
Integrated Threat Detection Against Cryptolocker
WatchGuard has integrated Threat Detection client that can run on the systems. If cryptolocker is detected, WatchGuard can shut it down automatically.
VPN Options
WatchGuard handles VPN through SSL VPN (it can also do PPTP and IPSEC). With PPTP being outdated and other systems difficult to setup, WatchGuard SSL VPN works out of the box. And it works at most remote situations since it runs over https/port 443. This saves on support time for road warriors and conference travelers needing to connect back to the office.
Also WatchGuard VPN can be site to site with super easy drag and drop configuration.
Next, WatchGuard VPN can be split-tunnel for remote workers. This allows remote workers to use the local internet connection for web surfing and the VPN connection for office network shares. Helps in situations where road warriors need to print to their local network printers but still need access to the office server.
WatchGuard VPN works with OpenVPN. Actually, the WatchGuard VPN is wrapper around OpenVPN. This allows all sorts of customization including sending the traffic to be forced over the VPN connection and/or domain name dns traffic direction. For example, send all internal traffic to internal-domain-name.tld over the VPN where it will work (and not over the internet connection where it will not work).
Centralized Management
WatchGuard can be managed centrally through WatchGuard System Manager. This means that if you have several WatchGuard firewalls (or hundreds... cough, cough), you can manage them all from a single console. This manages licenses, upgrades, wireless firmware, firewall rules. You name it and the WatchGuard System Manager can manage it.
Centralized Reporting
Likewise, WatchGuard has Centralized Reporting in the form of WatchGuard Dimension. All traffic from all clients across all WatchGuard Firewalls is recorded in a central location. If we need to run a report on web sites visited during a certain time, no problem. Here it is.
Putting All Together
Putting this all together means that we can manage many WatchGuard systems and their wireless access points and their reporting across North America without ever leaving network operations center (NOC).
The OS upgrade option is built into the web ui and should be used to upgrade versions. The OS upgrade will also upgrade the SSL VPN client versions that are stored directly on the Firebox.
Let's say that you have limited access to a system. Let's say that you want to download a WebEx package to the system via command line/powershell. Here's how:
MacBook Pro circa 2011 running bootcamp and Windows 10. Updated to 1903. BSOD "WDF_VIOLATION."
-hold power button to shut off. -press power button to turn on. -do this about 3 times. After the 3rd time, the option for ADVANCED BOOT should appear. -press F8 -select SAFE-MODE WITH COMMAND-PROMPT -login as normal. (a scary black screen shows) -you will be at c:\windows\system32
-type: cd drivers -type: dir |findstr /i machal -it will show: MacHALDriver.sys -this is our problem. -type: rename MacHALDriver.sys MacHALDriver.sys.sav -press ENTER key -type: shutdown -r -t 3 -press ENTER key
The system will reboot and you should be able to login as normal with the BSOD. Apparently the BOOTCAMP DRIVERS V6 will fix. But I have not tried to install yet.
Without any setup the log is: 2019-06-05 14:53:51 Deny 10.192.480.250 199.83.128.143 http/tcp 56564 80 0-LANLAG 0-External ProxyDeny: HTTP Request categories (Outbound-HTTP-proxy-00) proc_id="http-proxy" rc="595" msg_id="1AFF-0021" proxy_act="HTTP-Client.Standard.1" cats="Weapons" op="GET" dstname="beretta.com" arg="/favicon.ico"
-you can see that the proxy-action is: HTTP-Client.Standard.1. -but it should be: HTTP-Client.marketing -this is because the proxy-action is not attaching to the group. This is because I was trying on a system on a subnet with an exception for authentication: 10.192.480.0/24 (note: subnet not real for posting purposes) -this results in NO-AUTH, NO-GROUP and NO-PROXY-ACTION. -using different pc on: 10.192.420.0/24
-for setup, the key here is that the WatchGuard group name needs to be the same as the AD group name: MARKETING -next, create the rule where you can create the proxy. I went the long way around. -ultimately, I had to: -edit-policy > Proxy-Action > HTTP Proxy Exceptions -add: *.beretta.com
NOTES: -going to: -edit-policy > Proxy-Action > WebBlocker -click: EDIT > EXCEPTIONS -click: ADD -type: *.beretta.com/* Did not work. I still ended up with log: 2019-06-05 15:40:06 Deny 10.192.420.100 199.83.134.143 http/tcp 61063 80 0-LANLAG 0-External ProxyDeny: HTTP Content Type match (Outbound-HTTP-Marketing-00) proc_id="http-proxy" rc="595" msg_id="1AFF-0018" proxy_act="HTTP-Client.marketing" rule_name="Default" src_user="dakruhm"
Error Message: Late_Archive_error | Could Not Process Document
Logs are here: c:\ProgramData\OpenText\var\LogDir\doctods_1.log
http status code = '0', http status message = 'Couldn't resolve host name' dsc::dscOpenDoc dsc.cxx-9776 cannot reserve a document id; the call of function dshDsReserveDocId() failed: 'HTTP error: connection was broken: host = denw08v701 (archive='ABC')'
This means the archive is not working because the local system cannot find the system that is named in the script. This happens because the server is outside the domain so simply stating the system as "denw08v701" it needs to be "denw08v701.domain.tld".
Or you can edit the HOSTS file: c:\Windows\System32\drivers\etc\hosts
Integration services is Microsoft's terminology for client-tools/guest-tools. Other vendors such as VMware and VirtualBox have their own terminology but the idea is the same. With the tools installed the guest VM works better, faster, etc.
To see if the Integration Services are installed:
-go to Host system.
-powershell (as admin).
-type: get-vm |ft name,version
With Windows 10 Guest VM, and Server 2016 Host, the integration services are installed via Windows Update.
Let's say that you have a typical Windows domain network at the headquarters. A rule of the network account policy is that the password changes every 90 days.
And let's say that you have a group of outside sales people who do not come into the office. Every once in a while they vpn into HQ.
If the password expires on their account, they can still login to their laptops because the laptop keeps a local copy of the access list. But then the VPN fails and email fails.
They call and we reset their account password.
The VPN works.
But then how does the laptop get updated?
Here's how:
login on the laptop without network (using the old password).
connect to a network for internet.
start the VPN connection to HQ.
lock the laptop (CTRL+ALT+DEL > LOCK).
unlock (using the new password).
When unlocking, the computer is connected to the domain (via the VPN tunnel), It will verify the password with the domain. As a side effect this will update the password on the laptop.
Lets say you have a directory of photos. The directory is about 1TB and the hard drive is packed full. How do you delete files that are larger than a certain size?
Here's how:
cd /path/to/dir find . -name "*.jpg" -size +1000k -delete
K is for KB. Miss off the "-delete" if you want to run a test without deleting the files. Adjust accordingly.
Or if you need to delete base on date (files older than 30 days): find ./path/to/dir/ -type f -mtime +30 -delete
Find files larger than 1MB: find ./directory-name-here -type f -size +1M
Find files older than 180 days: find ./directory-name-here -type f -mtime +180 -exec rm -f {} \;
For a full one-liner: Get-ADUser "old.name" |Rename-ADObject -NewName “New Name” | Set-ADUser -GivenName “New” -Surname “Name” -DisplayName “New Name” -SamAccountName “newname” -UserPrincipalName "This email address is being protected from spambots. You need JavaScript enabled to view it.”
NOTES:
All the following are different:
Name GivenName Surname SamAccountName DisplayName OtherName UserPrincipalName
Most can be set by: Set-ADUser
But the Name of the Object is a bit different and needs to be set by: Rename-ADObject
Watchguard VPN setup. Watchguard has a split tunnel automatically. Works for hundreds of people.
Run into a new setup where the Watchguard VPN would connect but asking for vlan resources would respond back with the local network. The desired result is the remote network.
This happens to be on an ATT home router. The laptop is hard-wired connected. Note that the wireless connection work fine. Go figure.
Here's how to diagnose on the vpn laptop:
-click START > POWERSHELL (as admin).
-type: get-netipinterface
Typically, out of the box, each connection will have a name (obviously) and a setting for IPV4 and IPV6. Each setting will have a METRIC.
Let's say the the connections are named: ETHERNET and VPN.
You will notice that:
ETHERNET IPV4 has a metric of 35 ETHERNET IPV6 has a metric of 35 VPN IPV4 has a metric of 35 VPN IPV6 has a metric of 35
What we need to do is set the METRIC on the hard-wired connection to a number higher than the vpn connection. A lower metric specifies a higher priority.
-type: netsh int ipv4 set interface interface="ETHERNET" metric=40 -type: netsh int ipv6 set interface interface="ETHERNET" metric=40
That should do it.
Note that other posts will talk about turning ipv6 off, etc. This can be done via PowerShell: Disable-NetAdapterBinding –InterfaceAlias “Ethernet Interface Name Here” –ComponentID ms_tcpip6
Or if you need to disable the network connection: get-netadapter |ft disable-netadapter -Name "Wi-Fi" -Confirm:$false enable-netadapter -Name "Wi-Fi" -Confirm:$false
Watchguard Change Opened Ports | Watchguard Change Opened Outgoing Ports
Let's say that you already have a firewall policy on your Firebox. That firewall policy has a non-standard-port open from that static internal ip-address to the rest of the www (any-external) so that it can talk to who it needs to. Note that this is not a static server internally that needs to service the rest of the www such as a web server, this is simply a piece of software that needs to reach out on a non-standard-port.
Now, at the current moment, you need to either add to the port list or change the port number.
When you click on the firewall policy there is no option to edit the port list or the port number. How you change it?
Good question. What you want to do is change what is called in Watchguard terms, the firewall-policy-type.
Here's how:
-click FIREWALL > FIREWALL-POLICIES.
-click ADD-POLICY (at the top). (Yes, even if you are not adding a firewall-policy).
-bullet CUSTOM.
-select the policy-type (from the drop-down list).
-click EDIT.
-click ADD | EDIT | REMOVE as necessary.
-click SAVE (at the bottom).
-click CANCEL (so that it does not save a new firewall-policy).
I have yet to figure out if there is a better way to go directly to the firewall-policy-types.