Powershell——设置环境变量、服务Service、注册表Registry、电源计划PowerPlan

Powershell的一些运用

 

设置环境变量

调用以下函数,设置变量名,变量值,即可设置系统的环境变量。另外,“Machine”表示设置的是系统环境变量

[Environment]::SetEnvironmentVariable( $VariableName, $Value, "Machine" )

stopped和disabled service

主要使用Get-Service, Stop-Service, Set-Service来直接对Service操作,有时直接通过Set-Service来stopped和disabled service,但常常会有no permission或者dependency的问题,这时可以先Stop-Service,然后通过Set-Service来disable service

$service = $service_name

$ServiceResult = Get-Service -Name $service -ErrorAction Stop | select -Property Name, StartType, Status
if ($ServiceResult.Status -ne "Stopped"){
	try{
		Stop-Service -Name $ServiceResult.Name -ErrorAction Stop
		$ServiceStatus = (Get-Service -Name $service -ErrorAction Stop | select -Property Name, StartType, Status).Status
		Write-Host "$service status is $ServiceStatus"
	} catch {
		Write-Error "$service cannot stop, it may be default and no permission"
	}
} else {
	Write-Host "$service status is already Stopped"
}
if ($ServiceResult.StartType -ne "Disabled"){
	try{
		Set-Service -Name $ServiceResult.Name -StartupType disabled -ErrorAction Stop
		$ServiceStartType = (Get-Service -Name $service -ErrorAction Stop | select -Property Name, StartType, Status).StartType
		Write-Host "$service StartType is $ServiceStartType"
	} catch{
		Write-Error  "$service cannot update StartpType, it may be default and no permission"
	}
} else {
	Write-Host "$service StartType is already Disabled"
}

设置注册表

比如设置自动登录,使用Set-ItemProperty

Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" -Name "autoadminlogon" -Value 1 -Type "dword"

设置电源计划PowerPlan

调用了win32_PowerPlan类,获取对应PowerPlan的id,然后进行设置

$plan = Get-WmiObject -Namespace root\cimv2\power -Class win32_PowerPlan -Filter "ElementName = 'High performance'"
$guid = $plan.InstanceID.tostring()

# find index of sub string to get instance id
$indexOfLeft = $guid.indexOf("{") + 1
$idLength = $guid.indexOf("}") - $indexOfLeft
$instanceID = $guid.Substring($indexOfLeft, $idLength)

# Active power plan
if ($Plan.IsActive -eq $false){
    powercfg -setactive $instanceID
}

# "Changing Display Settings to Never Turn Off and Never Sleep"

powercfg -change -monitor-timeout-ac 0
powercfg -change -monitor-timeout-dc 0

powercfg -change -standby-timeout-ac 0
powercfg -change -standby-timeout-dc 0

使用chocolatey来安装软件

chocolatey是一个用来安装软件的辅助工具,在自动化部署中,非常方便,只需简单的命令,不仅能够将软件下载,还能相应设置环境变量,可以参考其官网的介绍和使用。

1、安装chocolatey,打开powershell,执行以下代码就可以安装chocolatey

Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

2、其安装软件的命令,简单的如下,只需“”choco install 软件名”就可以安装,比如安装Python,在cmd或者powershell中,执行如下命令,即可实现安装,同时还会设置好环境变量,你也可以加上--version 来设置指定版本下载

choco install python

3、自动化安装软件的部署,我们会将chocolatey安装软件,写成函数的形式,实现判断本地是否已经安装,是否指定软件版本,然后进行安装。函数如下:

# 安装函数
Function ChocoInstall([string]$package, [string]$version){
	# get result that package whether has been installed
	$result = clist -lo -e $package
	if ("$result" -match ".*(\d+) packages installed."){
		# 0 means that package doesn't install
		if ($matches[1] -eq 0){
			if ($version -eq ""){
				choco install -y $package
			} else {
				choco install -y $package --version $version
			}
		} elseif ($matches[1] -eq 1){
                    Write-Host "$package already installed"
          }
     }
}


# 调用函数,安装python 3.6.1版本
ChocoInstall "python" "3.6.1"

 

### Windows 11 亮度调节选项丢失的解决方案 当遇到 Windows 11 的亮度调节功能无法正常使用的情况时,可能涉及硬件驱动程序、电源管理设置以及操作系统配置等问题。以下是针对此问题的具体分析和解决方法: #### 一、检查显卡驱动是否正常安装 如果显卡驱动出现问题,可能会导致亮度调节功能失效。根据描述中的相关内容[^3],可以通过以下方式解决问题: - 打开 **设备管理器** (Device Manager),找到并展开 “显示适配器” 类别。 - 如果存在多个显卡驱动项(例如 Intel 和 NVIDIA 同时存在),尝试逐一禁用不必要的设备或更新其驱动程序。 - 若某些驱动未被正确识别,则可以选择卸载后再重新启动计算机以触发自动重装。 注意:在执行上述操作过程中可能出现短暂黑屏现象,这是正常的系统响应行为,请勿惊慌。 #### 二、启用高级电源计划下的亮度控制特性 有时,默认情况下系统的电源设定并未开启手动调整屏幕亮度的功能。因此建议按照下面步骤排查: 1. 进入 控制面板(Control Panel)-> 硬件与声音(Hardware and Sound) -> 更改电源按钮的功能(Change what the power buttons do). 2. 查看当前所选的电源方案(Power Plan),点击下方链接修改其他电源设置(Settings). 3. 寻找有关显示器(Display)部分的相关参数,确认是否存在允许更改亮度(Brightness Adjustment Allowed)之类的开关. 对于 ACDSee 提供的那种直观便捷的操作体验来说虽然不同软件实现形式各异但是原理相通即都是基于底层API接口调用来完成最终效果呈现所以理论上只要确保基础架构完好无损就能恢复常规手段可用状态[^1]. #### 三、验证组策略(Group Policy Editor) 或注册表编辑器(Registry Editor) 由于企业版或其他特定版本Win11可能存在额外的安全限制措施影响到了图形属性方面的权限分配故而有必要深入探究内部机制层面的内容: ##### 方法A - 使用GPEDIT.MSC命令打开本地组策略编辑窗口定位至 Computer Configuration\Administrative Templates\Control Panel\Desktop 下查看是否有类似 DisableDisplaySettingsPolicy 设置为Enabled的状态如果是则将其改为Not Configured即可解除约束条件. ##### 方法B - 直接访问REGEDIT路径 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\User\PowerSchemes 并仔细核验各项子键值数据结构确保没有任何异常项目阻碍了预期逻辑流程运转.[^2] 最后提醒一点关于沉浸式学习环境构建方面提到过的良好实践同样适用于此处比如适当引入柔和背景光源配合合适的Gamma矫正曲线共同作用有助于缓解长时间注视显示屏带来的疲劳感同时也间接促进了整体工作效率提升。 ```powershell # PowerShell脚本用于检测当前活动电源计划详情 Get-WmiObject -Class Win32_PowerPlan -Namespace root\cimv2\power | Where {$_.IsActive} | Select ElementName ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值