I had a segment a network recently into a few Vlans. This meant the new Vlan was on a different subnet to the WDS server so machines were not getting the PXE Traffic.

  1. Make sure the WDS is routable from the Vlan ( Create a route enable firewall) 
  2. Enable a second IP Helper Address with the WDS server. You might already have an IP Address if your DHCP server is on a different Subnet, but you can have multiple.

PXE does not come with a dedicated boot protocol. It is simply DHCP packets extended with additional DHCP options. It’s formerly known as the bootstrap protocol. If a PXE-enabled network card sends out an DHCP discover package, it will add DHCP option 60, which includes the string “PXEClient:Arch:xxxxx:UNDI:yyyzzz”. Then it waits for DHCP offers.

It will only respond if it gets a DHCP offer including option 60 which means: I am PXE capable and able to send out boot server and boot file information.

The DHCP offer can be splitted into two independent packages, coming from different servers. The DHCP server can send out the DHCP offer containing the clients IP address and the PXE server can send out the DHCP offer containing the option 60.

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Recently I had to tag some Access points to a new Vlan on a Cisco switch , the cisco support website is the worst readability so notes for future reference

Find the Port of the Access point by getting the Mac address then listing all the Macs on the switch via

show mac address-table

Tagging port

Ok next we change the port from an access port on the default Vlan ( 1 ) to a trunk to it can carry multiple Vlans in this case 1,5. Warning this will drop the network device for a few pings

conf t

int gi1/0/21

Switchport mode trunk
Switchport trunk allowed vlan 1,5 

If it doesn’t work you can always wipe the config via

default interface gi1/0/21

To untag a port on vlan 5

 switchport access vlan 

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Recently during a scheduled power shutdown, Vmware Hosts were brought back up however no NFS Datastores were listed in Storeage. 

Enabling SSH and running 

esxcli storage nfs list

Listed no NFS Datastores either 

esxcli storage nfs add -H %IP-OF-SAN% -s /NFSNAME -v /NFSNAME 

brought up the Name was already in use. Removing and re-adding brought up an error that the IP of the NFS Share could not be access

esxcli storage nfs remove -v /NFSNAME 

Trying to Ping the Storage Server IP from the host did not reply a any pings

Login to the EMC and reboot the primary Storage Processor

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Recently a client had the following come up on their StoreFront Event Viewer

Failed to launch the resource ‘WTCITRIX.XenApp Desktop $S1-1’, unable to obtain a ticket from the configured Secure Ticket Authorities.

 

This is usually mimicked with an Error on the reciver end

Connection to “Desktop” Failed with Status (Unknown client error 0)

Make sure your Citrix StoreFront is configured with the STA details in the NetScaler Gateway section (remember you only need to use the STA in case of remote users, for which you would have to configure a NetScaler Gateway). They need to be the same also clear DNS cache if you have recently updated a DNS Record

Similarly the NetScaler itself is configured with the STA details. 

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: -1 (from 1 vote)

With the increase attack on 365 subscriptions without two factor enabled its good to check when a rule actually got added. This cannot be done with powershell you will need to perform with MFCMAPI

Download the latest MFCMAPI of 32bit or 64bit ( depending on your Office/Outlook version ) release here

You can do this on the User’s computer who should already have Outlook installed or you can create an Outlook profile as the user you would like to check the rule for on another PC. You can also create an Outlook Profile as an Administrator and give yourself full access to the User’s Maibox

Open MFCMAPI , Open the Profile , then go to Session and Logon

Double click on the account

Open the Root Folder and Navigate to here and right click on Inbox and Choose Open Associated Contents Table

The rule will look something like this , Message Class : IPM.Rule.Verson2.Message

Double click on this

Then find the following Name and check the value to confirm its the right Rule

Then Use this Rule to find the Date Created
VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

After recently upgrading Citrix Storefront from Version 3.2 to 3.16 , after a reboot the Citrix Protocol Transition Service won’t start the event log showed the below error

The fix is to open Notepad add Administrator , then Navigate to

C:\Program Files\Citrix\Receiver StoreFront\Services\ProtocolTransitionService

Open Citrix.DeliveryServices.ProtocolTransition.ServiceHost.exe.config

Change the following line

<section name=”container” type=”Castle.Windsor.Configuration.AppDomain.CastleSectionHandler, Castle.Windsor,

Version=3.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc” />

to the right version

e.g

<section name=”container” type=”Castle.Windsor.Configuration.AppDomain.CastleSectionHandler, Castle.Windsor,

Version=3.16.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc” />

The service should start after this OK!

Unable to resolve container components of type ‘Citrix.DeliveryServices.ServiceHosting.WindowsServiceHostingApi.IWcfServiceControl’.
System.Configuration.ConfigurationErrorsException, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
An error occurred creating the configuration section handler for citrix.deliveryservices/logger: Could not load file or assembly ‘Citrix.DeliveryServices.Logging, Version=2.6.0.0, Culture=neutral, PublicKeyToken=e8b77d454fa2a856’ or one of its dependencies. The system cannot find the file specified. (C:\Program Files\Citrix\Receiver StoreFront\Services\ProtocolTransitionService\Citrix.DeliveryServices.ProtocolTransition.ServiceHost.exe.Config line 7)
at System.Configuration.BaseConfigurationRecord.FindAndEnsureFactoryRecord(String configKey, Boolean& isRootDeclaredHere)
at System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object& result, Object& resultRuntimeObject)
at System.Configuration.BaseConfigurationRecord.GetSection(String configKey)
at System.Configuration.ConfigurationManager.GetSection(String sectionName)
at Citrix.DeliveryServices.Configuration.Helpers.ConfigurationUtil.GetSection(String path)
at Citrix.DeliveryServices.Logging.LoggerConfigurationParser.GetLoggerConfig(String sectionName)
at Citrix.DeliveryServices.Logging.LoggerConfigurationParser.CreateLogger()
at Castle.MicroKernel.ComponentActivator.FactoryMethodActivator1.Instantiate(CreationContext context) at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.InternalCreate(CreationContext context) at Castle.MicroKernel.ComponentActivator.AbstractComponentActivator.Create(CreationContext context, Burden burden) at Castle.MicroKernel.Lifestyle.AbstractLifestyleManager.CreateInstance(CreationContext context, Boolean trackedExternally) at Castle.MicroKernel.Lifestyle.SingletonLifestyleManager.Resolve(CreationContext context, IReleasePolicy releasePolicy) at Castle.MicroKernel.Handlers.DefaultHandler.ResolveCore(CreationContext context, Boolean requiresDecommission, Boolean instanceRequired, Burden& burden) at Castle.MicroKernel.Handlers.DefaultHandler.Resolve(CreationContext context, Boolean instanceRequired) at Castle.MicroKernel.DefaultKernel.ResolveComponent(IHandler handler, Type service, IDictionary additionalArguments, IReleasePolicy policy) at Castle.MicroKernel.DefaultKernel.Castle.MicroKernel.IKernelInternal.Resolve(Type service, IDictionary arguments, IReleasePolicy policy) at Castle.Windsor.WindsorContainer.Resolve[T]() at Citrix.DeliveryServices.Logging.Common.Logger.LogMessageInternal(UInt16 eventId, UInt16 categoryId, MessageType severity, Exception ex, String message) at Citrix.DeliveryServices.ServiceLocator.ServiceLocatorLogger.MissingServiceOfType(Type type, Exception exception) at Citrix.DeliveryServices.ServiceLocator.ServiceLocation.GetInstance[T]() at Citrix.DeliveryServices.ProtocolTransition.ProtocolTransitionStartupModule.<>c.<RegisterComponents>b__3_0() at Castle.MicroKernel.ComponentActivator.FactoryMethodActivator1.Instantiate(CreationContext context)
at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.InternalCreate(CreationContext context)
at Castle.MicroKernel.ComponentActivator.AbstractComponentActivator.Create(CreationContext context, Burden burden)
at Castle.MicroKernel.Lifestyle.AbstractLifestyleManager.CreateInstance(CreationContext context, Boolean trackedExternally)
at Castle.MicroKernel.Lifestyle.SingletonLifestyleManager.Resolve(CreationContext context, IReleasePolicy releasePolicy)
at Castle.MicroKernel.Handlers.DefaultHandler.ResolveCore(CreationContext context, Boolean requiresDecommission, Boolean instanceRequired, Burden& burden)
at Castle.MicroKernel.Handlers.DefaultHandler.Resolve(CreationContext context, Boolean instanceRequired)
at Castle.MicroKernel.DefaultKernel.ResolveComponent(IHandler handler, Type service, IDictionary additionalArguments, IReleasePolicy policy)
at Castle.MicroKernel.DefaultKernel.Castle.MicroKernel.IKernelInternal.ResolveAll(Type service, IDictionary arguments, IReleasePolicy policy)
at Castle.Windsor.WindsorContainer.ResolveAll[T]()
at Citrix.DeliveryServices.ServiceLocator.ServiceLocation.GetAllInstances[T]()

System.IO.FileNotFoundException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Could not load file or assembly ‘Citrix.DeliveryServices.Logging, Version=2.6.0.0, Culture=neutral, PublicKeyToken=e8b77d454fa2a856’ or one of its dependencies. The system cannot find the file specified.
at System.Configuration.TypeUtil.GetTypeWithReflectionPermission(IInternalConfigHost host, String typeString, Boolean throwOnError)
at System.Configuration.RuntimeConfigurationRecord.RuntimeConfigurationFactory.Init(RuntimeConfigurationRecord configRecord, FactoryRecord factoryRecord)
at System.Configuration.RuntimeConfigurationRecord.RuntimeConfigurationFactory.InitWithRestrictedPermissions(RuntimeConfigurationRecord configRecord, FactoryRecord factoryRecord)
at System.Configuration.RuntimeConfigurationRecord.CreateSectionFactory(FactoryRecord factoryRecord)
at System.Configuration.BaseConfigurationRecord.FindAndEnsureFactoryRecord(String configKey, Boolean& isRootDeclaredHere)

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

I was recently trying to re-replicate a Storefront Server with another one after breaking the replication for upgrading Storefront version. After wiping the storefront config on the destination , replicating Failed with the event log

Failed to get the end status of the sever configuration update.
System.ServiceModel.FaultException, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Physical path: C:\inetpub\wwwroot\Citrix\CitrixWeb associated with Virtual path: /Citrix/CitrixWeb is already in use.
at Citrix.DeliveryServices.ConfigurationReplication.WCF.ConfigurationReplication.EndUpdateConfiguration(IAsyncResult asyncResult)

Turns out the clear config powershell had not cleared the IIS Directory properly Deleting the storefront Dir below
C:\inetpub\wwwroot\Citrix\CitrixWeb Manually Fixed it

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Recently installed a new konica minolta Printer at a customer ( BizHub C659 ) on a Server 2012 R2 Machine , however randomly the driver would crash the Printer Spooler below in the event log

Faulting application name: splwow64.exe, version: 6.3.9600.17480, time stamp: 0x545871c1
Faulting module name: KOAXPJ_C.DLL, version: 1.0.0.1, time stamp: 0x5ab064ff
Exception code: 0xc0000005
Fault offset: 0x000000000004bf44
Faulting process id: 0x98b8
Faulting application start time: 0x01d4b904ee89f44e
Faulting application path: C:\Windows\splwow64.exe
Faulting module path: C:\Windows\system32\spool\DRIVERS\x64\3\KOAXPJ_C.DLL
Report Id: 2c48de47-24f8-11e9-8154-00155d671122
Faulting package full name:
Faulting package-relative application ID:

This was interesting because the same style driver ( PCL 6 ) for the previous Konica Minolta ( KOAZCJ_C.DLL ) had worked fine

The only resolution was to change to driver to konica minolta universal driver v3

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Recently installing the Jetpack Plugin on a website for its many benefits, and trying to enable any of the site fucntions brought up an error

Error updating settings. Api404Error

This plugin actually relies on WordPress JSON Query which can be found in the ‘dir’ /wp-json/ e.g. http://www.pariswells.com/blog/wp-json/

For the effected website this was not found ( 404) , this website was actually copied from another site so the .htaccess was mis copied.

Recreatiing the Permalinks for the site found under Settings ( Just set to something else and save , then change it back recreates this )

This resolved the issue

VN:F [1.9.22_1171]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

 

Recently I tried to setup a 365 Send connector to relay it through another third party Mimecast ( https://community.mimecast.com/docs/DOC-1623 ) . Mimecast confirmed they had enabled the Tenant domains to relay through Mimecast.

 

The send connector was Failing as the last Step, however I was receiving the email. After numerous calls with office 365 support they came back with the reply “We don’t support technical help with Third Party SMTP Servers”

Checking the headers on the email that came through showed the validator wasn’t even relaying through Mimecast.

Enabling the Send Connector and trying again resolved the issue , however it’s a flawed design , because after enabling it during the validation if any user tries to send out and it doesn’t work they will produce an NDR

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)