first commit
This commit is contained in:
7
bin/Download.ps1
Executable file
7
bin/Download.ps1
Executable file
@ -0,0 +1,7 @@
|
|||||||
|
$source = "https://github.com/PowerShell/Win32-OpenSSH/releases/download/v8.9.1.0p1-Beta/OpenSSH-Win64.zip"
|
||||||
|
$destination = "C:\Packages\OpenSSH-Win64.zip"
|
||||||
|
|
||||||
|
Invoke-WebRequest -Uri $source -OutFile $destination
|
||||||
|
|
||||||
|
Expand-Archive -LiteralPath $destination -DestinationPath "C:\Packages"
|
||||||
|
Remove-Item $destination
|
||||||
3
bin/Firewall.ps1
Executable file
3
bin/Firewall.ps1
Executable file
@ -0,0 +1,3 @@
|
|||||||
|
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
|
||||||
|
|
||||||
|
Set-Service sshd -StartupType Automatic
|
||||||
37
bin/InstallSSH.bat
Executable file
37
bin/InstallSSH.bat
Executable file
@ -0,0 +1,37 @@
|
|||||||
|
@echo off
|
||||||
|
set check_computername=%COMPUTERNAME%
|
||||||
|
echo "Found computer %check_computername%"
|
||||||
|
|
||||||
|
set PACKAGES="C:\Packages"
|
||||||
|
set WPUBLIC="C:\wPublic"
|
||||||
|
|
||||||
|
mkdir %PACKAGES%
|
||||||
|
|
||||||
|
echo "Speed up Powershell processing"
|
||||||
|
set PSFILE="%WPUBLIC%\bin\SpeedUp.ps1"
|
||||||
|
Powershell.exe -ExecutionPolicy Bypass -File %PSFILE%
|
||||||
|
|
||||||
|
echo "Download and unpack OpenSSH"
|
||||||
|
set PSFILE="%WPUBLIC%\bin\Download.ps1"
|
||||||
|
Powershell.exe -ExecutionPolicy Bypass -File %PSFILE%
|
||||||
|
|
||||||
|
if exist "C:\Program Files\OpenSSH\sshd.exe" (
|
||||||
|
echo "OPENSSH already installed"
|
||||||
|
)
|
||||||
|
else (
|
||||||
|
echo "NEW installation"
|
||||||
|
robocopy "%PACKAGES%\OpenSSH-Win64" "C:\Program Files\OpenSSH" /E
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
if exist "C:\Program Files\OpenSSH\install-sshd.ps1" (
|
||||||
|
echo "SSH install script"
|
||||||
|
set PSFILE="C:\Program Files\OpenSSH\install-sshd.ps1"
|
||||||
|
Powershell.exe -ExecutionPolicy Bypass -File %PSFILE%
|
||||||
|
)
|
||||||
|
|
||||||
|
set PSFILE="%WPUBLIC%\bin\Firewall.ps1"
|
||||||
|
if exist %PSFILE% (
|
||||||
|
Powershell.exe -ExecutionPolicy Bypass -File %PSFILE%
|
||||||
|
net start sshd
|
||||||
|
)
|
||||||
43
bin/ListSoftware.ps1
Executable file
43
bin/ListSoftware.ps1
Executable file
@ -0,0 +1,43 @@
|
|||||||
|
function listAumids( $userAccount ) {
|
||||||
|
|
||||||
|
if ($userAccount -eq "allusers")
|
||||||
|
{
|
||||||
|
# Find installed packages for all accounts. Must be run as an administrator in order to use this option.
|
||||||
|
$installedapps = Get-AppxPackage -allusers
|
||||||
|
}
|
||||||
|
elseif ($userAccount)
|
||||||
|
{
|
||||||
|
# Find installed packages for the specified account. Must be run as an administrator in order to use this option.
|
||||||
|
$installedapps = get-AppxPackage -user $userAccount
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
# Find installed packages for the current account.
|
||||||
|
$installedapps = get-AppxPackage
|
||||||
|
}
|
||||||
|
|
||||||
|
$aumidList = @()
|
||||||
|
foreach ($app in $installedapps)
|
||||||
|
{
|
||||||
|
foreach ($id in (Get-AppxPackageManifest $app).package.applications.application.id)
|
||||||
|
{
|
||||||
|
$aumidList += $app.packagefamilyname + "!" + $id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $aumidList
|
||||||
|
}
|
||||||
|
|
||||||
|
# Get a list of AUMIDs for the current account:
|
||||||
|
listAumids
|
||||||
|
|
||||||
|
# Get a list of AUMIDs for an account named “CustomerAccount”:
|
||||||
|
listAumids("CustomerAccount")
|
||||||
|
|
||||||
|
# Get a list of AUMIDs for all accounts on the device:
|
||||||
|
listAumids("allusers")
|
||||||
|
|
||||||
|
get-wmiobject Win32_Product | Format-Table IdentifyingNumber, Name, LocalPackage -AutoSize
|
||||||
|
|
||||||
|
|
||||||
|
Get-AppxPackage -allusers
|
||||||
3
bin/README.md
Normal file
3
bin/README.md
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
|
||||||
|
InstallSSH.bat in an Administrator command prompt
|
||||||
|
|
||||||
10
bin/SoftwareList.bat
Executable file
10
bin/SoftwareList.bat
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
@echo off
|
||||||
|
set check_computername=%COMPUTERNAME%
|
||||||
|
echo "Found computer %check_computername%"
|
||||||
|
|
||||||
|
set PACKAGES="C:\Packages"
|
||||||
|
set WPUBLIC="C:\wPublic"
|
||||||
|
|
||||||
|
echo "Dump software list"
|
||||||
|
set PSFILE="%WPUBLIC%\bin\ListSoftware.ps1"
|
||||||
|
Powershell.exe -ExecutionPolicy Bypass -File %PSFILE% > "C:\%check_computername%.txt"
|
||||||
18
bin/SpeedUp.ps1
Executable file
18
bin/SpeedUp.ps1
Executable file
@ -0,0 +1,18 @@
|
|||||||
|
function Optimize-PowershellAssemblies {
|
||||||
|
# NGEN powershell assembly, improves startup time of powershell by 10x
|
||||||
|
$old_path = $env:path
|
||||||
|
try {
|
||||||
|
$env:path = [Runtime.InteropServices.RuntimeEnvironment]::GetRuntimeDirectory()
|
||||||
|
[AppDomain]::CurrentDomain.GetAssemblies() | % {
|
||||||
|
if (! $_.location) {continue}
|
||||||
|
$Name = Split-Path $_.location -leaf
|
||||||
|
if ($Name.startswith("Microsoft.PowerShell.")) {
|
||||||
|
Write-Progress -Activity "Native Image Installation" -Status "$name"
|
||||||
|
ngen install $_.location | % {"`t$_"}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
$env:path = $old_path
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Optimize-PowershellAssemblies
|
||||||
22
bin/archive/myBatch.bat
Executable file
22
bin/archive/myBatch.bat
Executable file
@ -0,0 +1,22 @@
|
|||||||
|
@echo off
|
||||||
|
setlocal
|
||||||
|
|
||||||
|
set MYDOMAIN=
|
||||||
|
|
||||||
|
mkdir c:\Packages\SSH
|
||||||
|
curl %MYDOMAIN% -o C:\Packages\SSH\InstallSSH.bat
|
||||||
|
curl %MYDOMAIN% -o C:\Packages\SSH\SpeedUp.ps1
|
||||||
|
curl %MYDOMAIN% -o C:\Packages\SSH\Download.ps1
|
||||||
|
curl %MYDOMAIN% -o C:\Packages\SSH\Firewall.ps1
|
||||||
|
curl %MYDOMAIN% -o C:\Packages\SSH\ListSoftware.ps1
|
||||||
|
curl %MYDOMAIN% -o C:\Packages\SSH\SoftwareList.bat
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo ""
|
||||||
|
echo ""
|
||||||
|
echo ""
|
||||||
|
echo "Run C:\Packages\SSH\InstallSSH.bat in an Administrator command prompt"
|
||||||
|
echo ""
|
||||||
|
echo ""
|
||||||
|
echo ""
|
||||||
|
echo ""
|
||||||
Reference in New Issue
Block a user