{"id":14063858,"url":"https://github.com/smitpi/PSToolKit","last_synced_at":"2025-07-29T17:30:56.077Z","repository":{"id":39333096,"uuid":"461668466","full_name":"smitpi/PSToolKit","owner":"smitpi","description":"PSToolKit","archived":false,"fork":false,"pushed_at":"2024-03-29T09:24:20.000Z","size":98134,"stargazers_count":3,"open_issues_count":5,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-20T07:38:19.587Z","etag":null,"topics":["powershell","powershell-module","powershell-script"],"latest_commit_sha":null,"homepage":"","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/smitpi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-02-21T01:42:02.000Z","updated_at":"2024-12-30T22:26:44.000Z","dependencies_parsed_at":"2023-02-10T15:30:24.928Z","dependency_job_id":"bf22ef93-f6b4-4965-9944-37129eb3a957","html_url":"https://github.com/smitpi/PSToolKit","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/smitpi/PSToolKit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smitpi%2FPSToolKit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smitpi%2FPSToolKit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smitpi%2FPSToolKit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smitpi%2FPSToolKit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/smitpi","download_url":"https://codeload.github.com/smitpi/PSToolKit/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smitpi%2FPSToolKit/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267726724,"owners_count":24134895,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-29T02:00:12.549Z","response_time":2574,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["powershell","powershell-module","powershell-script"],"created_at":"2024-08-13T07:03:32.548Z","updated_at":"2025-07-29T17:30:52.558Z","avatar_url":"https://github.com/smitpi.png","language":"PowerShell","funding_links":[],"categories":["PowerShell"],"sub_categories":[],"readme":"# PSToolKit\n\n## Description\n\nA Repository of my random scripts and functions writen over the years, there is a wyde range of tools in this module, used by a SysAdmin and EUC Administrator.\n\n---\n\n## Win-Bootstrap\n\nBoxstarter scripts to setup a new windows machine.\n\n- Run the following commands to install Boxstarter:\n\n```powershell\nSet-ExecutionPolicy Bypass -Scope Process -Force\n[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072 \niex ((New-Object System.Net.WebClient).DownloadString('https://boxstarter.org/bootstrapper.ps1'))\nGet-Boxstarter -Force\n```\n\n- Then click on one of the below links to start.\n\n|Click link to run  |Description  |\n|---------|---------|\n| [System Setup](http://boxstarter.org/package/url?https://raw.githubusercontent.com/smitpi/PSToolKit/master/PSToolKit/Control_Scripts/Initial-Setup.ps1')     | Use [PSToolKit](https://github.com/smitpi/PSToolKit) to Install a new System.|\n\n\u003e **Warning**\n\u003e\u003e You will need a valid **github userid** and **token** to continue.\n\n---\n## Manage Modules and Apps\n- Run the following to update or install apps using the module: [PSPackageMan](https://github.com/smitpi/PSPackageMan) ([PS Gallary](https://www.powershellgallery.com/packages/PSPackageMan/0.1.3))\n```Powershell\nInvoke-RestMethod https://raw.githubusercontent.com/smitpi/PSToolKit/master/PSToolKit/Control_Scripts/Run-Install-Apps.ps1 | Invoke-Expression\n```\n- Run the following to update or install PS Modules using the module: [PWSHModule](https://github.com/smitpi/PWSHModule) ([PS Gallary](https://www.powershellgallery.com/packages/PWSHModule/0.1.21))\n```Powershell\nInvoke-RestMethod https://raw.githubusercontent.com/smitpi/PSToolKit/master/PSToolKit/Control_Scripts/Run-Install-Modules.ps1 | Invoke-Expression\n```\n- Install this module.\n```powershell\nInvoke-RestMethod https://raw.githubusercontent.com/smitpi/PSToolKit/master/PSToolKit/Control_Scripts/Run-Install-PSToolKit.ps1 | Invoke-Expression\n```\n---\n## Getting Started\n\n- Run this script to install from GitHub [GitHub Repo](https://github.com/smitpi/PSToolKit)\n\n```powershell\n$CurrentLocation = Get-Item .\n$ModuleDestination = (Join-Path (Get-Item (Join-Path (Get-Item $profile).Directory 'Modules')).FullName -ChildPath PSToolKit)\ngit clone --depth 1 https://github.com/smitpi/PSToolKit $ModuleDestination 2\u003e\u00261 | Write-Host -ForegroundColor Yellow\nSet-Location $ModuleDestination\ngit filter-branch --prune-empty --subdirectory-filter Output HEAD 2\u003e\u00261 | Write-Host -ForegroundColor Yellow\nSet-Location $CurrentLocation\n```\n- Or from the created Powershell Script:\n```powershell\nSet-ExecutionPolicy Bypass -Scope Process -Force\n(New-Object System.Net.WebClient).DownloadFile('https://bit.ly/35sEu2b', \"$($env:tmp)\\Start-PSToolkitSystemInitialize.ps1\")\nImport-Module (Get-Item \"$($env:tmp)\\Start-PSToolkitSystemInitialize.ps1\") -Force; Start-PSToolkitSystemInitialize\n```\n\n- Then import the module into your session\n\n```powershell\nImport-Module PSToolKit -Verbose -Force\n```\n\n- or run these commands for more help and details.\n\n```powershell\nGet-Command -Module PSToolKit\nGet-Help about_PSToolKit\n```\n\nDocumentation can be found at: [Github_Pages](https://smitpi.github.io/PSToolKit)\n \n## PS Controller Scripts\n- boxstarter-install.ps1\n- call-initial.ps1\n- Initial-Setup.ps1\n- Run-Install-Apps.ps1\n- Run-Install-Modules.ps1\n- Run-Install-PSToolKit.ps1\n \n## Functions\n- [`Add-ChocolateyPrivateRepo`](https://smitpi.github.io/PSToolKit/Add-ChocolateyPrivateRepo) -- Add a private repository to Chocolatey.\n- [`Backup-ElevatedShortcut`](https://smitpi.github.io/PSToolKit/Backup-ElevatedShortcut) -- Exports the RunAss shortcuts, to a zip file\n- [`Backup-PowerShellProfile`](https://smitpi.github.io/PSToolKit/Backup-PowerShellProfile) -- Creates a zip file from the ps profile directories\n- [`Compare-ADMembership`](https://smitpi.github.io/PSToolKit/Compare-ADMembership) -- Compare two users AD group memberships\n- [`Connect-VMWareCluster`](https://smitpi.github.io/PSToolKit/Connect-VMWareCluster) -- Connect to a vSphere cluster to perform other commands or scripts\n- [`Disable-WebEncoding`](https://smitpi.github.io/PSToolKit/Disable-WebEncoding) -- decode a URL\n- [`Edit-SSHConfigFile`](https://smitpi.github.io/PSToolKit/Edit-SSHConfigFile) -- Creates and modifies the ssh config file in their profile.\n- [`Enable-RemoteHostPSRemoting`](https://smitpi.github.io/PSToolKit/Enable-RemoteHostPSRemoting) -- enable ps remote remotely\n- [`Enable-WebEncoding`](https://smitpi.github.io/PSToolKit/Enable-WebEncoding) -- encode a URL\n- [`Export-ESXTemplate`](https://smitpi.github.io/PSToolKit/Export-ESXTemplate) -- Export all VM Templates from vSphere to local disk.\n- [`Find-ChocolateyApp`](https://smitpi.github.io/PSToolKit/Find-ChocolateyApp) -- Search the online repo for software\n- [`Find-OnlineModule`](https://smitpi.github.io/PSToolKit/Find-OnlineModule) -- Creates reports based on PSGallery.\n- [`Find-OnlineScript`](https://smitpi.github.io/PSToolKit/Find-OnlineScript) -- Creates reports based on PSGallery. Filtered by scripts\n- [`Get-CitrixClientVersion`](https://smitpi.github.io/PSToolKit/Get-CitrixClientVersion) -- Report on the CItrix workspace versions the users are using.\n- [`Get-CitrixPolicy`](https://smitpi.github.io/PSToolKit/Get-CitrixPolicy) -- Export Citrix Policies\n- [`Get-CommandFiltered`](https://smitpi.github.io/PSToolKit/Get-CommandFiltered) -- Finds commands on the system and sort it according to module\n- [`Get-DotNetVersions`](https://smitpi.github.io/PSToolKit/Get-DotNetVersions) -- List all the installed versions of .net.\n- [`Get-FolderSize`](https://smitpi.github.io/PSToolKit/Get-FolderSize) -- Gets folder sizes using COM and with a fallback to robocopy.exe with the logging option\n- [`Get-FQDN`](https://smitpi.github.io/PSToolKit/Get-FQDN) -- Get FQDN for a device, and checks if it is online\n- [`Get-FullADUserDetail`](https://smitpi.github.io/PSToolKit/Get-FullADUserDetail) -- Extract user details from the domain\n- [`Get-MyPSGalleryReport`](https://smitpi.github.io/PSToolKit/Get-MyPSGalleryReport) -- Gallery report\n- [`Get-MyPSGalleryStat`](https://smitpi.github.io/PSToolKit/Get-MyPSGalleryStat) -- Show stats about my published modules.\n- [`Get-NestedADGroupMember`](https://smitpi.github.io/PSToolKit/Get-NestedADGroupMember) -- Extract users from an AD group recursive, 4 levels deep.\n- [`Get-ProcessPerformance`](https://smitpi.github.io/PSToolKit/Get-ProcessPerformance) -- Gets the top 10 processes by CPU %\n- [`Get-PropertiesToCSV`](https://smitpi.github.io/PSToolKit/Get-PropertiesToCSV) -- Get member data of an object. Use it to create other PSObjects.\n- [`Get-PSObject`](https://smitpi.github.io/PSToolKit/Get-PSObject) -- Show all Object Methods and Properties.\n- [`Get-RDSSessionReport`](https://smitpi.github.io/PSToolKit/Get-RDSSessionReport) -- Reports on Connects and Disconnects on a RDS Farm.\n- [`Get-ServerInventory`](https://smitpi.github.io/PSToolKit/Get-ServerInventory) -- Connect to remote host and collect server details.\n- [`Get-SoftwareAudit`](https://smitpi.github.io/PSToolKit/Get-SoftwareAudit) -- Connects to a remote hosts and collect installed software details\n- [`Get-SystemInfo`](https://smitpi.github.io/PSToolKit/Get-SystemInfo) -- Get system details of a remote device\n- [`Get-SystemUptime`](https://smitpi.github.io/PSToolKit/Get-SystemUptime) -- Calculates the uptime of a system\n- [`Get-WinEventLogExtract`](https://smitpi.github.io/PSToolKit/Get-WinEventLogExtract) -- Extract Event logs of a server list, and create html / excel report\n- [`Import-CitrixSiteConfigFile`](https://smitpi.github.io/PSToolKit/Import-CitrixSiteConfigFile) -- Import the Citrix config file, and created a variable with the details\n- [`Import-XamlConfigFile`](https://smitpi.github.io/PSToolKit/Import-XamlConfigFile) -- Import the wpf xaml file and create variables from objects\n- [`Install-AppsFromPSPackageMan`](https://smitpi.github.io/PSToolKit/Install-AppsFromPSPackageMan) -- Uses the module PSPackageMan to install apps from a GitHub Gist File.\n- [`Install-BGInfo`](https://smitpi.github.io/PSToolKit/Install-BGInfo) -- Install and auto runs bginfo at start up.\n- [`Install-ChocolateyClient`](https://smitpi.github.io/PSToolKit/Install-ChocolateyClient) -- Downloads and installs the Chocolatey client.\n- [`Install-ChocolateyServer`](https://smitpi.github.io/PSToolKit/Install-ChocolateyServer) -- This will download, install and setup a new Chocolatey Repo Server\n- [`Install-LocalPSRepository`](https://smitpi.github.io/PSToolKit/Install-LocalPSRepository) -- Short desCreates a repository for offline installations.\n- [`Install-ModulesFromPWSHModule`](https://smitpi.github.io/PSToolKit/Install-ModulesFromPWSHModule) -- Uses the module PWSHModulePS to install PS Modules from a GitHub Gist File.\n- [`Install-MSUpdate`](https://smitpi.github.io/PSToolKit/Install-MSUpdate) -- Perform windows update\n- [`Install-NFSClient`](https://smitpi.github.io/PSToolKit/Install-NFSClient) -- Install NFS Client for windows\n- [`Install-PowerShell7x`](https://smitpi.github.io/PSToolKit/Install-PowerShell7x) -- Install ps7\n- [`Install-RSAT`](https://smitpi.github.io/PSToolKit/Install-RSAT) -- Install Remote Admin Tools\n- [`Install-VMWareTool`](https://smitpi.github.io/PSToolKit/Install-VMWareTool) -- Install vmware tools from chocolatety\n- [`New-CitrixSiteConfigFile`](https://smitpi.github.io/PSToolKit/New-CitrixSiteConfigFile) -- A config file with Citrix server details and URLs. To be used in scripts.\n- [`New-ElevatedShortcut`](https://smitpi.github.io/PSToolKit/New-ElevatedShortcut) -- Creates a shortcut to a script or exe that runs as admin, without UNC\n- [`New-GodModeFolder`](https://smitpi.github.io/PSToolKit/New-GodModeFolder) -- Creates a God Mode Folder\n- [`New-GoogleSearch`](https://smitpi.github.io/PSToolKit/New-GoogleSearch) -- Start a new browser tab with search string.\n- [`New-MSEdgeWebApp`](https://smitpi.github.io/PSToolKit/New-MSEdgeWebApp) -- Creates a new webapp to a URL, and save the shortcut on your system.\n- [`New-PSGenericList`](https://smitpi.github.io/PSToolKit/New-PSGenericList) -- Creates a .net list object\n- [`New-PSModule`](https://smitpi.github.io/PSToolKit/New-PSModule) -- Creates a new PowerShell module.\n- [`New-PSProfile`](https://smitpi.github.io/PSToolKit/New-PSProfile) -- Creates new profile files in the documents folder\n- [`New-PSReportingScript`](https://smitpi.github.io/PSToolKit/New-PSReportingScript) -- Script template for scripts to create reports\n- [`New-PSScript`](https://smitpi.github.io/PSToolKit/New-PSScript) -- Creates a new PowerShell script. With PowerShell Script Info\n- [`New-SuggestedInfraName`](https://smitpi.github.io/PSToolKit/New-SuggestedInfraName) -- Generates a list of usernames and server names, that can be used as test / demo data.\n- [`Publish-ModuleToLocalRepo`](https://smitpi.github.io/PSToolKit/Publish-ModuleToLocalRepo) -- Checks for required modules and upload all to your local repo.\n- [`Remove-CIMUserProfile`](https://smitpi.github.io/PSToolKit/Remove-CIMUserProfile) -- Uses CimInstance to remove a user profile\n- [`Remove-FaultyProfileList`](https://smitpi.github.io/PSToolKit/Remove-FaultyProfileList) -- Fixes Profilelist in the registry. To fix user logon with temp profile.\n- [`Remove-HiddenDevice`](https://smitpi.github.io/PSToolKit/Remove-HiddenDevice) -- Removes ghost devices from your system\n- [`Remove-UserProfile`](https://smitpi.github.io/PSToolKit/Remove-UserProfile) -- Connects to a server and renames a user profile folder, and delete the key from Profilelist in the registry\n- [`Reset-FileOwnership`](https://smitpi.github.io/PSToolKit/Reset-FileOwnership) -- Reset the ownership of a directory and add full control to the folder.\n- [`Reset-Module`](https://smitpi.github.io/PSToolKit/Reset-Module) -- Removes and force import a module.\n- [`Reset-PSGallery`](https://smitpi.github.io/PSToolKit/Reset-PSGallery) -- Reset gallery to default settings\n- [`Resolve-SID`](https://smitpi.github.io/PSToolKit/Resolve-SID) -- Resolves the Sid\n- [`Restore-ElevatedShortcut`](https://smitpi.github.io/PSToolKit/Restore-ElevatedShortcut) -- Restore the RunAss shortcuts, from a zip file\n- [`Search-Script`](https://smitpi.github.io/PSToolKit/Search-Script) -- Search for a string in a directory of ps1 scripts.\n- [`Set-FolderCustomIcon`](https://smitpi.github.io/PSToolKit/Set-FolderCustomIcon) -- Will change the icon of a folder to a custom selected icon\n- [`Set-PSProjectFile`](https://smitpi.github.io/PSToolKit/Set-PSProjectFile) -- Creates and modify needed files for a PS project from existing module files.\n- [`Set-PSToolKitSystemSetting`](https://smitpi.github.io/PSToolKit/Set-PSToolKitSystemSetting) -- Set multiple settings on desktop or server\n- [`Set-ScheduledRestart`](https://smitpi.github.io/PSToolKit/Set-ScheduledRestart) -- Create a scheduled task to reboot a server.\n- [`Set-SharedPSProfile`](https://smitpi.github.io/PSToolKit/Set-SharedPSProfile) -- Redirects PowerShell and WindowsPowerShell profile folder to another path.\n- [`Set-StaticIP`](https://smitpi.github.io/PSToolKit/Set-StaticIP) -- Set static IP on device\n- [`Set-TempFolder`](https://smitpi.github.io/PSToolKit/Set-TempFolder) -- Set all the temp environmental variables to c:\\temp\n- [`Set-UserDesktopWallpaper`](https://smitpi.github.io/PSToolKit/Set-UserDesktopWallpaper) -- Change the wallpaper for the user.\n- [`Set-VSCodeExplorerSortOrder`](https://smitpi.github.io/PSToolKit/Set-VSCodeExplorerSortOrder) -- Change the sort order in VSCode explorer\n- [`Set-WindowsAutoLogin`](https://smitpi.github.io/PSToolKit/Set-WindowsAutoLogin) -- Enable autologin on a device.\n- [`Show-ComputerManagement`](https://smitpi.github.io/PSToolKit/Show-ComputerManagement) -- Opens the Computer Management of the system or remote system\n- [`Show-ModulePathList`](https://smitpi.github.io/PSToolKit/Show-ModulePathList) -- Show installed module list grouped by install path.\n- [`Show-MyPSGalleryModule`](https://smitpi.github.io/PSToolKit/Show-MyPSGalleryModule) -- Show version numbers ext. about my modules.\n- [`Show-PSToolKit`](https://smitpi.github.io/PSToolKit/Show-PSToolKit) -- Show details of the commands in this module.\n- [`Start-DomainControllerReplication`](https://smitpi.github.io/PSToolKit/Start-DomainControllerReplication) -- Start replication between Domain Controllers.\n- [`Start-PowerShellAsAdmin`](https://smitpi.github.io/PSToolKit/Start-PowerShellAsAdmin) -- Starts a porwershell session as an administrator\n- [`Start-PSProfile`](https://smitpi.github.io/PSToolKit/Start-PSProfile) -- My PS Profile for all sessions.\n- [`Start-PSRoboCopy`](https://smitpi.github.io/PSToolKit/Start-PSRoboCopy) -- My wrapper for default robocopy switches\n- [`Start-PSScriptAnalyzer`](https://smitpi.github.io/PSToolKit/Start-PSScriptAnalyzer) -- Run and report ScriptAnalyzer output\n- [`Start-PSToolkitSystemInitialize`](https://smitpi.github.io/PSToolKit/Start-PSToolkitSystemInitialize) -- Initialize a blank machine.\n- [`Test-CitrixCloudConnector`](https://smitpi.github.io/PSToolKit/Test-CitrixCloudConnector) -- Perform basic connection tests to Citrix cloud.\n- [`Test-CitrixVDAPort`](https://smitpi.github.io/PSToolKit/Test-CitrixVDAPort) -- Test connection between DDC and VDI\n- [`Test-IsFileOpen`](https://smitpi.github.io/PSToolKit/Test-IsFileOpen) -- Checks if a file is open\n- [`Test-PSPendingReboot`](https://smitpi.github.io/PSToolKit/Test-PSPendingReboot) -- This script tests various registry values to see if the local computer is pending a reboot.\n- [`Test-PSRemote`](https://smitpi.github.io/PSToolKit/Test-PSRemote) -- Test PSb Remote to a device.\n- [`Test-SystemOnline`](https://smitpi.github.io/PSToolKit/Test-SystemOnline) -- Does basic checks for connecting to a remote device\n- [`Update-ListOfDDC`](https://smitpi.github.io/PSToolKit/Update-ListOfDDC) -- Update list of ListOfDDCs in the registry\n- [`Update-LocalHelp`](https://smitpi.github.io/PSToolKit/Update-LocalHelp) -- Downloads and saves help files locally\n- [`Update-MyModulesFromGitHub`](https://smitpi.github.io/PSToolKit/Update-MyModulesFromGitHub) -- Updates my modules\n- [`Update-PSDefaultParameter`](https://smitpi.github.io/PSToolKit/Update-PSDefaultParameter) -- Updates the $PSDefaultParameterValues variable\n- [`Update-PSModuleInfo`](https://smitpi.github.io/PSToolKit/Update-PSModuleInfo) -- Update PowerShell module manifest file\n- [`Write-Ascii`](https://smitpi.github.io/PSToolKit/Write-Ascii) -- Create Ascii Art\n- [`Write-PSMessage`](https://smitpi.github.io/PSToolKit/Write-PSMessage) -- Writes the given into to screen\n- [`Write-PSReports`](https://smitpi.github.io/PSToolKit/Write-PSReports) -- Creates a excel or html report\n- [`Write-PSToolKitLog`](https://smitpi.github.io/PSToolKit/Write-PSToolKitLog) -- Create a log for scripts\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmitpi%2FPSToolKit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsmitpi%2FPSToolKit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmitpi%2FPSToolKit/lists"}