Wednesday 16 August 2023

Deploy Chocolatey packages with Microsoft Intune

 Deploying Chocolatey packages using Intune

Let me start by saying this is currently working with Chocolatey version 2.2.2 in August of 2023.


To deploy chocolatey packages using Intune three scripts are required. Install.ps1, uninstall.ps1, and detection.ps1. 

These three scripts along with a pre-compiled .intunewin file are available at this url:


To setup the package follow these steps:

1. Add a new Windows App (Win32)
2. Upload the .intunewin file
3. Change the Name, Description, and add the Publisher. I like to do information on this page, but that is optional. 



4. On the Program tab, enter this for the Install Command:

powershell.exe -ExecutionPolicy Bypass -file ./install.ps1 {packagename} 

 Then enter this for the Uninstall Command:

powershell.exe -ExecutionPolicy Bypass -file ./uninstall.ps1 {packagename}

Your page should look like this:


5. For the Requirements page, I usually just choose 64 Bit and an old build of windows. 

6. For the Detection Rules, you need to modify the detection.ps1 script with the name of the package and then upload it here under the "Use a custom detection script" option.



7. For dependencies ideally you would have Chocolatey as a package and add it here, but that is optional. 

8. Under assignments choose who will get this package and then you are done!

Enjoy having one click self updating deployments using Intune and Chocolatey!


Friday 6 September 2019

Veeam Backup Failure after Hyper-V conversion to VMware

Relevant Errors:
 
Failed to prepare guest for hot backup. Error: VSSControl: -2147212529 Backup job failed.
Discovery phase failed.
Cannot add volumes to the snapshot set.
Cannot add a volume to the snapshot set. Volume name: [\\?\Volume{xxxxxxxxxx}\].
Cannot add volume to the set of volumes that should be shadowed.
VSS error: VSS_E_UNEXPECTED_PROVIDER_ERROR. Code:0x8004230f



This occurs when Guest Processing File System Indexing is enabled on the backup.

The fix for us was that the Hyper-V VSS provider was still installed. To remove this, all you need to do is:

  1. Open Regedit
  2. Browse to Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VSS\Providers\
  3.  Find {74600e39-7dc5-4567-a03b-f091d6c7b092} (If you expand it, the default value is "Hyper-V IC Software Shadow Copy Provider")
  4. Delete the entirety of the {74600e39-7dc5-4567-a03b-f091d6c7b092} key (NOT the VSS or Providers keys)
  5. Reboot

Run the backup again, and this time it should complete. If not, or if that key doesn't exist, then you have an unrelated VSS issue and you can get further info from command prompt with the following command:
vssadmin list  writers




Wednesday 4 September 2019

Steps for converting Hyper-V to VMware using VCenter Converter


1)      Install VCenter Converter Standalone
2)      Convert local machine
            a)       Choose relevant VCenter server
            b)      Choose appropriate VM Folder
            c)       Choose appropriate VM Storage
            d)      Edit “Data to Copy”, choose advanced, open Destination Layout, and change disks to Thin
            e)      Remove the NIC under networks (Will re-add different type later)
            f)        Enable “Synchronize Changes under Advanced Operations. Uncheck “Perform Final Sync”
3)      Run "BackupNetwork.bat", verify c:\temp has the network adapter settings dumped.
4)      After the initial sync is complete, when you are ready to make the cutover right click the job in VCenter Converter and choose Synchronize.
            a)       Under Advanced Options, choose edit and say Perform Final Sync
5)      Immediately after the final sync is complete, shutdown the Source VM
6)      Power on the VMware VM
7)      Edit the VMware VM and add a network adapter
           a)       Choose the VM Network on the appropriate VLAN
           b)      Change adapter type to VMXNET3
8)      Let the check disk run
9)      Mount VMware tools and login
10)   Install VMware tools
11)   Configure IP settings on network adapters once they show up as per the backup
12)   Reboot
13)   Done? Verify services working
14) Uninstall VCenter Converter software

Optional step: Copy the mac address from Hyper-V into VMware



The contents of backupnetwork.bat:

mkdir c:\temp
netsh interface ip dump >> c:\temp\NetworkSettings.txt

Monday 4 December 2017

Powershell - Wait for process from current user

After much searching online I couldn't find a way to do this without WMI and a bunch of extra work... So I figured this out. Tested and working in Windows 10 at least.

$user = "$env:USERDOMAIN\$env:USERNAME"
$proc = Get-Process -Name notepad -IncludeUserName | where {$_.UserName -eq $user}
Wait-Process -InputObject $proc


That will look for all instances of notepad running under the current user, and wait for all of them to terminate before continuing.

Super useful when waiting for something like msiexec

Tuesday 17 October 2017

Citrix VDA memory Cache - Enabled on non PVS or MCS server

Apparently a known issue, for me encountered in 7.12 with no fix as of 7.15

To resolve, either boot into a recovery environment (Or load the filesystem offline to another machine) and load the System registry hive into reg edit.

Make the following changes:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet00x\Services\CtxMcsWbc  startup to 4 (For both 001 and 002)

Additionally (Again in both):

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet00x\Control\Class\{4d36e967-e325-11ce-bfc1-08002be10318} Delete ctxMscWbc from upper filters

Then unload the hive from regedit, and reboot the machine. You should now have a once more persistent filesystem.

Thursday 15 June 2017

Enable NFS 4.1 on Synology

Enable SSH from Control Panel -> Terminal and SNMP
Connect using Putty, login with your Synology admin credentials
Enter the following commands:
cd /usr/syno/etc/rc.sysv
sudo vi S83nfsd.sh

Go down to line 90, position your cursor at the N on the line "/usr/sbin/nfsd $N"
Press "i" to begin editing
Change the line to:
/usr/sbin/nfsd $N -V 4.1
Press Esc to finish editing

Type the following to save:
:w

Type the following to quit:
:q

The following will restart the NFS service:
sudo ./S83nfsd.sh restart

Now, if you run the following command you should see NFS 4.1 enabled:
sudo cat /proc/fs/nfsd/versions

Wednesday 17 May 2017

Windows Updates via Powershell

This requires Powershell V5. The powershell script to install the module is:

$psversion = $PSVersionTable.PSVersion.Major

if ($psversion -ge 5){

Install-PackageProvider -Name NuGet -Force

Install-Module -Name PSWindowsUpdate -Force -Scope AllUsers

Get-WUServiceManager

}else{
echo "Error, PS is out of date"
}



Then, to run it simple use:

"Get-WuInstall -AcceptAll -IgnoreUserInput -AutoReboot -Confirm:$false -nottitle 'preview' -updatecount 30" 

(Update count just limits the amount it does at once, so if there is an error with one it doesn't undo them all. Good for computers very out of date.)



The github for this module is located at:

https://github.com/joeypiccola/PSWindowsUpdate

Deploy Chocolatey packages with Microsoft Intune

 Deploying Chocolatey packages using Intune Let me start by saying this is currently working with Chocolatey version 2.2.2 in August of 2023...