«

PowerShell_相關指令

Paladin 发布于 阅读:238 Windows


XBOX

Get-AppxPackage -AllUsers| Foreach {Add-AppxPackage -DisableDevelopmentMode - Register “$($_.InstallLocation)AppXManifest.xml”}

網頁響應請求

Invoke-WebRequest -Uri $url

Other

- New-Item #创建新项目
- Get-Alias #獲取別名
- Get-Command #查看所有Command指令
- Get-Help #獲取指令幫助
- Get-PSDrive #获取当前会话中的驱动器。
- New-PSDrive #创建与项目数据存储中的某个位置关联的临时和持久驱动器。
- Get-ChildItem #获取一个或多个指定位置中的项和子项。
- Get-Content #获取指定位置的项的内容。
- Import-Csv #从字符分隔值(CSV)文件中的项目创建类似表格的自定义对象。
- Where-Object #根据对象的特性值从集合中选择对象。
- Select-Object #选择对象或对象属性。
- Get-Process #可以执行任务管理器的功能
- Get-Service #查看计算机的状态和服务列表
- Copy-Item #将文件和文件夹及其内容复制粘贴到其他目录
- Set-ExecutionPolicy #更改脚本执行的安全级别
- Export-CSV #此命令可以获取指定命令的输出文件并将其转换为 CSV 文件
- ConvertTo-HTML #创建 HTML 报告
- Get-ADUser #查看ADUser
- Get-Process #獲取系統進程
- Get-AppxPackage -AllUsers| Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"} #解决提示:需要新应用打开此ms-gamingoverlay?

AD

- Get-ADUsers -Identity USER -Properties “*”
#dsquery是一个好命令。它可以用来查询AD中各种对象。dsquery如果没查询到任何结果,将返回一个空行,没有报错信息。用法举例如下:
#例1 根据用户名查用户帐号
C:\WINDOWS>dsquery user -name gp*
"CN=gp01,OU=staff,DC=domain,DC=com"
"CN=gp02,OU=staff,DC=domain,DC=com"
#这里的user就是指查用户帐号,也可以换成Computer来查计算机帐号,换成group来查组,或者换成server来查域控制器;-name参数是指根据用户名来查,*是通配符;
#这条命令的意思就是查询用户名以gp开头的所有用户帐号,并且返回其DN
#解释:DN,Distinguished Name,可辨识名称,是包含了全路径的AD对象名称。格式如下
CN=david,OU=staff,DC=domain,DC=com
#这个DN说明的是一个叫david的对象,它位于domain.com域下的一个叫staff的OU中
#例2 根据帐号描述(description)来查用户帐号
#我们公司会将用户的工号放在用户描述中,常常需要通过工号来查用户帐号。可以用命令:
C:\WINDOWS>dsquery user -desc *00527*
"CN=david,OU=staff,DC=domain,DC=com"
#这里就是查询description中含有00527的用户帐号DN,通配符*放在00527的前后各一个,说明只要中间含有00527即满足条件。
#例3 根据状态查计算机帐号(不再激活n周的计算机帐号)
C:\WINDOWS>dsquery computer -inactive 7
"CN=computer01,OU=workstations,DC=domain,DC=com"
-inactive #后面的7说明7周
#例4 根据禁用状态查用户帐号
C:\WINDOWS>dsquery user -disabled
"CN=gp01,OU=staff,DC=domain,DC=com"
"CN=gp02,OU=staff,DC=domain,DC=com"
"CN=david,OU=staff,DC=domain,DC=com"
-disabled #参数用来查被禁用的用户帐号
#例5 查指定域下被禁用的帐号中名字中含有gp的
C:\WINDOWS>dsquery user -disabled -name gp* -d domain.com
"CN=gp01,OU=staff,DC=domain,DC=com"
"CN=gp02,OU=staff,DC=domain,DC=com"
-d #后面跟指定的域名
#讲到这里大家有没有注意到,虽然dsquery是一个好命令,但是单独使用的时候返回的结果看起来很晕。因为返回的结果都是以DN形式存在的。
#要想看的更加清楚,怎么办?比如我想返回的结果包括一个简单的用户帐号名和该帐号的描述。
#dsget命令闪亮登场。
#dsget命令可
#例6 返回某个用户的用户帐号名和描述(查名字中含有gp的用户)
C:\WINDOWS>dsquery user -name gp* | dsget user -samid -desc
desc samid
Group Policy Test account gp01
Group Policy Test account no.2 gp02
dsget succeeded
#这里的samid就是Windows下的传统用户名。desc列下的就是描述
#例7 作为例6的进一步,我们加上一个参数,用来列出帐号是否被禁用
C:\WINDOWS>dsquery user -name gp* | dsget user -samid -desc -disabled
desc samid disabled
Group Policy Test account gp01 yes
Group Policy Test account no.2 gp02 yes
dsget succeeded
-disabled#列出是否禁用的状态,yes表示该帐号已经被禁用,no表示未禁用。
#例8 查某个用户组(查名字中含有cap字符串的所有Group)
C:\WINDOWS>dsquery group -name *cap* -d domain.com | dsget group -samid -secgrp -scope
samid scope secgrp
WG_CAP universal yes
DCApps global yes
dsget succeeded
-secgrp #判断是否security group,若No则为Distribution Group
-scope #显示是Domain Local组,Global组或者universal组
-samid #显示组名
#例9 查域中的域控制器中哪台是GC(Global Catagory)服务器
C:\WINDOWS>dsquery server -d domain.com | dsget server -dnsname -isgc
dnsname &n
bsp; isgc
CNDC01.domain.com yes
CNDC02.domain.com no
dsget succeeded
#例10 查FSMO角色服务器
netdom query fsmo /d:[domainname]
C:\WINDOWS>netdom query fsmo /d:domain.com
Schema owner CNDC01.domain.com
Domain role owner CNDC01.domain.com
PDC role CNDC01.domain.com
RID pool manager CNDC01.domain.com
Infrastructure owner CNDC02.domain.com
The command completed successfully.
#AD强制更新当你在配置新的安全策略后,原则上在工作站或服务器上,每90分钟更新一次安全性设置,而在域控制器则5分钟更新一次;初此之外,在没有任何更改的情况下,这些安全设置每16小时会更新一次。如果我们想要强迫更新,就需要强制更新命令 gpupdate /force (必需客户端更新命令,单服务器更新无效)
gpupdate #用法:gpupdate "/target:{computer| user}" "/force" "/wait:value" "/logoff" "/boot"
#参数说明:
/target:{computer| user : #只针对计算机设置或目前用户设置做更新,默认值是两者的设置都重新整理。
/force :#省略所有最佳化以及重新套用所有设置的进程动作。
/wait:value :#等待完成策略处理的秒数时间,默认是600秒,0代表不等待,而-1代表无限等待。
/logoff :#当安全性设置更新完成后登出系统。这是针对那些组策略客户端的扩充,它是在用户登陆时做处理,例如:用户组策略软件安装以及文件夹重新导向,而不是在背景更新周期中作处理。然而,这个选项在不需要用户登出时,是无法发挥作用的。
/boot :# 当安全性设置重新整理后,计算机会重新启动。
/?:#显示指令的使用说明档。
UserPrincipalName:#指定要由客户端进行身份验证的服务的用户主体名称 (UPN)。一个用户帐户名(有时称为“用户登录名”)和一个域名(标识用户帐户所在的域),这是登录到Windows域的标准用法。格式是: xiaowen@azureyun.com (类电子邮件地址)。
SamAccountName:#在AD属性AMAccountName中,存储帐户登录名或用户对象,实际上是命名符号“Domain\LogonName ”中使用的旧NetBIOS表单,该属性是域用户对象的必需属性;而SAMAccountName应始终与UPN主体名称保持一致,即SAMAccountName必须等于属性“UserPrincipalName” 的前缀部分。

PowerShell