找回密码
 立即注册
首页 业界区 安全 PowerShell 提供程序和驱动器(七)

PowerShell 提供程序和驱动器(七)

剩鹄逅 2025-10-2 11:21:49
目录

  • PowerShell 提供程序和 PowerShell 驱动器

    • PowerShell 提供程序

      • 查看提供程序的帮助文件

    • 使用PowerShell 驱动器



        • 处理 PowerShell 驱动器位置
        • 管理文件系统

      • 管理注册表

        • 获取注册表项
        • 获取注册表值
        • 创建或修改注册表值
        • 删除注册表项和值
        • 使用事务管理注册表
        • 实际案例

      • 使用证书

        • 查看证书
        • 创建证书
        • 导入和导出证书
        • 删除证书
        • 使用 Invoke-Item 打开 MMC
        • 常见操作场景

      • 其他驱动器

        • Alias 驱动器
        • Env 驱动器

          • 实际案例

        • Function 驱动器
        • Variable 驱动器
        • WSMan 驱动器
        • 额外驱动器(来自模块/角色)
        • 动态参数




PowerShell 提供程序和 PowerShell 驱动器

PowerShell 提供程序

提供程序 = 把不同的数据存储抽象成“虚拟驱动器”来统一管理。
提供程序是一种“适配器”,它把不同的数据存储(文件系统、注册表、证书存储等)映射成类似文件系统的导航结构,让你可以用 cd、dir、ls、Get-ChildItem 等命令像操作文件夹一样去操作。
查看当前系统的提供程序
  1. Get-PSProvider
复制代码
输出如下:(不一定是下面这些,有的机器都有变化)
NameCapabilitiesDrivesFileSystemFilter, ShouldProcess, CredentialsC, D, ....RegistryShouldProcess, Transactions, ExpandWildcardsHKLM, HKCUCertificateFilter, ShouldProcess, Include, ExcludeCertAliasShouldProcessAliasFunctionShouldProcessFunctionVariableShouldProcessVariableEnvironmentShouldProcessEnv先看最直观的效果:
提供程序路径前缀用途FileSystemC:\, D:\磁盘目录文件管理RegistryHKLM:\, HKCU:\操作注册表CertificateCert:\管理证书AliasAlias:\查看和修改命令别名FunctionFunction:\查看函数VariableVariable:\管理变量EnvironmentEnv:\管理环境变量它统一了操作方式,下面这个才是我们需要记住的,就是Get-ChildItem去查看很多不同的类型
无论是文件、注册表、证书还是变量,你都可以用类似的命令操作:
  1. # 查看文件夹
  2. Get-ChildItem C:\Windows
  3. # 查看注册表键
  4. Get-ChildItem HKLM:\Software
  5. # 查看证书
  6. Get-ChildItem Cert:\LocalMachine\My
  7. # 查看变量
  8. Get-ChildItem Variable:
复制代码
表中有Capabilities列的,意思是:

  • ShouldProcess → 允许 -WhatIf 和 -Confirm,用于预览和确认更改。
  • Filter → 支持快速筛选,而不是在本地循环。
  • Include/Exclude → 支持用通配符来包含或排除对象。
  • ExpandWildcards → 可以在路径里使用 *、? 等通配符。
  • Credentials → 支持使用 -Credential 来指定不同用户身份访问。
  • Transactions → 支持事务操作(例如注册表操作可以回滚)。
例子:
  1. # Registry 提供程序支持 -UseTransaction
  2. Start-Transaction
  3. New-Item -Path "HKCU:\Software\TestKey" -UseTransaction
  4. Complete-Transaction
复制代码
如果换成 FileSystem 提供程序(比如 New-Item C:\TestFile.txt -UseTransaction),就会报错,因为 文件系统不支持事务/回滚
查看提供程序的帮助文件

帮助文件使用 about_ProviderName_Provider 命名格式
例如,FileSystem 提供程序的帮助文件为 about_FileSystem_Provider
可通过运行以下命令来查看此帮助文件的内容:
  1. Get-Help about_FileSystem_Provider
复制代码
再者:获取注册表提供程序的帮助信息
  1. Get-Help about_Registry_Provider
复制代码
以此类推,把中间的改成你要获取的 "提供程序" 名字即可
  1. Get-Help about_YourName_Provider
复制代码
使用PowerShell 驱动器

查看 PowerShell 驱动器
  1. Get-PSDrive
复制代码
NameProviderRootCurrentLocationCFileSystemC:|Users\AdminHKCURegistryHKEY_CURRENT_USERHKLMRegistryHKEY_LOCAL_MACHINEEnvEnvironmentCertCertificateAliasAliasVariableVariable下表介绍了与常用 PSDrive 关联的谓词:
动词描述New创建新的项或项属性。Set设置项或项属性的值。Get显示项或子项的属性,或项属性的值。Clear清除项或项属性的值。Copy将项或项属性从一个位置复制到另一个位置。Move将项或项属性从一个位置移动到另一个位置。Remove删除项或项属性。Rename重命名项或项属性。Invoke执行与项关联的默认操作。驱动器的特点

  • 名称唯一

    • 可以是一个字母(如 C),也可以是多个字符(如 HKCU、Env)。
    • 用于路径时要加冒号,比如 C:、HKCU:、Env:。

  • 依赖提供程序

    • 驱动器继承其底层提供程序的所有功能(筛选、事务、凭据等)。

  • 默认驱动器(新会话必有):

    • FileSystem 驱动器:如 C:
    • 注册表驱动器:HKLM:、HKCU:
    • 特殊存储驱动器:Variable:、Function:、Alias:
    • 环境变量驱动器:Env:
    • 证书驱动器:Cert:
    • WSMan 驱动器:WSMan:(管理远程连接配置)

处理 PowerShell 驱动器位置

驱动器位置的命令
命令描述Get-Location显示当前工作位置。Set-Location设置当前工作位置。Push-Location将位置添加到位置堆栈的顶部。Pop-Location将当前位置更改为位置堆栈顶部的位置。管理文件系统

PowerShell 提供了 文件系统驱动器(PSDrive)和 文件系统提供程序(FileSystem Provider),可以用 cmdlet 来管理文件和文件夹,同时也保留了命令提示符的别名,让 cmd.exe 用户可以快速上手。
别名与 cmdlet 对应关系
cmd.exe 命令PowerShell 别名对应 cmdlet说明DirDirGet-ChildItem列出目录和文件CdCdSet-Location切换目录Md / MkDirMdNew-Item创建新文件夹Rd / RmDirRdRemove-Item删除文件夹DelDelRemove-Item删除文件CopyCopyCopy-Item复制文件/文件夹MoveMoveMove-Item移动文件/文件夹RenRenRename-Item重命名文件/文件夹注意

  • PowerShell 不使用 /s、/q 等 cmd.exe 参数。
  • 通配符和参数需要使用 -Recurse、-Force、-Filter 等 PowerShell 风格。
移动目录
  1. # 使用绝对路径
  2. Set-Location C:\Users
  3. # 使用相对路径
  4. Set-Location Temp
  5. # 查看当前路径
  6. Get-Location
复制代码

  • Set-Location 是 PowerShell 的核心命令,用于切换当前工作目录。
  • 别名 cd 和 chdir 都可以替代它。
创建文件和文件夹
  1. # 创建文件夹
  2. New-Item -Path "C:\TestFolder" -ItemType Directory
  3. # 创建文件
  4. New-Item -Path "C:\TestFolder\example.txt" -ItemType File
  5. # 使用别名
  6. md C:\TestFolder2
复制代码

  • -ItemType 可以是 File 或 Directory。
  • 如果路径中包含不存在的父目录,需要先创建父目录,或者使用 -Force。
删除文件和文件夹
  1. # 删除文件
  2. Remove-Item -Path "C:\TestFolder\example.txt"
  3. # 删除文件夹及其子文件
  4. Remove-Item -Path "C:\TestFolder" -Recurse
  5. # 强制删除(跳过确认)
  6. Remove-Item -Path "C:\TestFolder" -Recurse -Force
复制代码

  • -Recurse 删除文件夹下所有内容。
  • -Force 可以删除隐藏文件、只读文件或跳过确认。
查找和枚举文件/文件夹
  1. # 获取单个文件或文件夹
  2. Get-Item C:\TestFolder\example.txt
  3. # 获取当前目录所有文件和文件夹
  4. Get-ChildItem
  5. # 获取当前目录及子目录所有文件
  6. Get-ChildItem -Recurse
  7. # 使用通配符查找特定类型文件
  8. Get-ChildItem *.txt
  9. # 排除某些文件
  10. Get-ChildItem -Exclude *.log
  11. # 只包含某些文件
  12. Get-ChildItem -Include *.txt, *.docx
复制代码

  • Get-Item:获取单个项目对象。
  • Get-ChildItem:获取目录中的所有项目对象(类似 dir)。
  • 支持 -Recurse、-Filter、-Include、-Exclude 对文件过滤和目录遍历。
小技巧与实际应用
1.组合管道操作
  1. # 获取所有 txt 文件并按大小排序
  2. Get-ChildItem -Recurse -Filter *.txt | Sort-Object Length
复制代码
2.查找并删除过期文件
  1. # 删除 30 天前的日志文件
  2. Get-ChildItem "C:\Logs" -Filter *.log -Recurse |
  3.     Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-30) } |
  4.     Remove-Item -Force
复制代码
3.批量重命名
  1. # 将所有 txt 文件改为小写
  2. Get-ChildItem *.txt | Rename-Item -NewName { $_.Name.ToLower() }
复制代码
管理注册表

PowerShell 提供了 注册表提供程序(Registry Provider),可以把注册表视为类似文件系统的结构进行操作。每个注册表键(Key)就像一个文件夹,每个注册表值(Value)就像文件夹里的文件属性。
驱动器注册表分支说明HKLMHKEY_LOCAL_MACHINE系统范围的配置,影响所有用户HKCUHKEY_CURRENT_USER当前用户的配置,只影响登录用户New-PSDrive 为其他注册表分支创建自定义驱动器
  1. # 创建自定义注册表驱动器
  2. New-PSDrive -Name TestHKU -PSProvider Registry -Root HKEY_USERS
复制代码

  • -Name:驱动器名称
  • -PSProvider:指定提供程序为 Registry
  • -Root:注册表路径
    创建后就可以像访问文件夹一样访问注册表了,例如 TestHKU:\。
获取注册表项

注册表项类似文件系统中的文件夹,用 Get-Item 或 Get-ChildItem 访问:
  1. # 获取某个路径下的所有子项
  2. Get-ChildItem HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion
复制代码
返回的是注册表项对象(KeyInfo),可以进一步操作或管道传递。
获取注册表值

注册表值类似文件夹里的属性,用 Get-ItemProperty 或 Get-ItemPropertyValue 访问:
  1. # 获取指定注册表项下所有值
  2. Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
  3. # 获取特定值的内容
  4. Get-ItemPropertyValue HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run -Name WindowsDefender
复制代码

  • -Name 指定具体值名
  • 返回值数据(ValueData)而不是对象
创建或修改注册表值

使用 New-ItemProperty 或 Set-ItemProperty:
  1. # 创建新的注册表值
  2. New-ItemProperty -Path HKCU:\Software\TestApp -Name "Setting1" -Value "Enabled" -PropertyType String
  3. # 修改已有注册表值
  4. Set-ItemProperty -Path HKCU:\Software\TestApp -Name "Setting1" -Value "Disabled"
复制代码
-PropertyType 对应注册表数据类型:
PowerShell 类型注册表类型StringREG_SZExpandStringREG_EXPAND_SZBinaryREG_BINARYDWordREG_DWORDMultiStringREG_MULTI_SZQWordREG_QWORD删除注册表项和值
  1. # 删除注册表值
  2. Remove-ItemProperty -Path HKCU:\Software\TestApp -Name "Setting1"
  3. # 删除注册表项及其子项
  4. Remove-Item -Path HKCU:\Software\TestApp -Recurse
复制代码

  • -Recurse 删除所有子键和值
  • 操作注册表之前建议备份,以防误删
  1. # 备份注册表某路径
  2. reg export HKCU\Software\TestApp C:\Backup\TestApp.reg
复制代码
使用事务管理注册表

注册表提供程序支持事务,可以一次执行多个操作,要么全部成功,要么全部回滚,避免半成品状态:
  1. # 开启事务
  2. Start-Transaction
  3. # 执行注册表操作
  4. New-ItemProperty -Path HKCU:\Software\TestApp -Name "SettingA" -Value "1" -PropertyType DWord -UseTransaction
  5. Set-ItemProperty -Path HKCU:\Software\TestApp -Name "SettingB" -Value "2" -UseTransaction
  6. # 提交事务
  7. Complete-Transaction
  8. # 若出错,可回滚
  9. Undo-Transaction
复制代码

  • -UseTransaction 参数表示该操作在事务中执行
  • 有助于批量修改注册表而不产生部分更新
实际案例

批量修改软件设置
  1. $apps = "App1","App2"
  2. foreach ($app in $apps) {
  3.     Set-ItemProperty HKCU:\Software\$app -Name "AutoStart" -Value 1
  4. }
复制代码
检测并删除启动项
  1. $runKeys = Get-ChildItem HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
  2. foreach ($key in $runKeys) {
  3.     if ($key.PSChildName -eq "UnwantedApp") {
  4.         Remove-ItemProperty -Path $key.PSPath -Name "UnwantedApp"
  5.     }
  6. }
复制代码
创建事务批量修改注册表值
  1. Start-Transaction
  2. Set-ItemProperty -Path HKCU:\Software\TestApp -Name "SettingA" -Value 10 -UseTransaction
  3. Set-ItemProperty -Path HKCU:\Software\TestApp -Name "SettingB" -Value 20 -UseTransaction
  4. Complete-Transaction
复制代码
使用证书

PowerShell 通过 证书提供程序(Certificate Provider)将证书存储映射成类似文件系统的结构,你可以像管理文件夹和文件一样操作证书。

  • 驱动器名称:Cert:
  • 常见存储位置:↓↓
路径说明Cert:\CurrentUser\My当前用户的个人证书存储Cert:\LocalMachine\My本地计算机的个人证书存储也可以访问其他标准存储:

  • Root:受信任根证书
  • CA:受信任的证书颁发机构
  • TrustedPeople:受信任的人
查看证书
  1. # 查看当前用户个人证书
  2. Get-ChildItem Cert:\CurrentUser\My
  3. # 查看本地计算机个人证书
  4. Get-ChildItem Cert:\LocalMachine\My
复制代码
使用证书提供程序的专用动态参数进行筛选:
参数说明-CodeSigningCert获取可用于代码签名的证书-DocumentEncryptionCert获取用于文档加密的证书-DnsName获取 DNSNameList 包含指定域名的证书(支持通配符)-EKU获取具有指定增强密钥用法 (EKU) 的证书-ExpiringInDays获取将在指定天数内过期的证书-SSLServerAuthentication获取 SSL 服务器证书示例:
  1. # 获取将在 30 天内过期的证书
  2. Get-ChildItem Cert:\LocalMachine\My -ExpiringInDays 30
  3. # 获取 SSL 服务器证书
  4. Get-ChildItem Cert:\LocalMachine\My -SSLServerAuthentication
  5. # 获取 DNS 名称包含 contoso.com 的证书
  6. Get-ChildItem Cert:\LocalMachine\My -DnsName "*.contoso.com"
复制代码
创建证书

PowerShell 的 pki 模块提供 cmdlet,可以直接创建自签名证书,无需 MMC:
  1. # 创建自签名证书,存储到本地计算机个人证书存储
  2. New-SelfSignedCertificate -DnsName "webapp.contoso.com" -CertStoreLocation "Cert:\LocalMachine\My"
复制代码

  • -DnsName:证书对应的域名
  • -CertStoreLocation:证书存储位置
  • 还可以添加参数设置证书有效期、密钥长度、密钥用法等:
  1. New-SelfSignedCertificate `
  2.     -DnsName "api.contoso.com" `
  3.     -CertStoreLocation "Cert:\LocalMachine\My" `
  4.     -KeyLength 2048 `
  5.     -KeyExportPolicy Exportable `
  6.     -NotAfter (Get-Date).AddYears(2) `
  7.     -FriendlyName "API Server Cert"
复制代码
导入和导出证书

导入证书
  1. # 将 PFX 文件导入证书存储
  2. Import-PfxCertificate -FilePath "C:\certs\mycert.pfx" -CertStoreLocation "Cert:\LocalMachine\My" -Password (ConvertTo-SecureString -String "P@ssw0rd" -AsPlainText -Force)
复制代码

  • -FilePath:证书文件路径(PFX 格式)
  • -CertStoreLocation:导入到的存储
  • -Password:证书密码
导出证书
  1. # 导出证书到 PFX 文件
  2. $cert = Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.Subject -like "*webapp.contoso.com*"}
  3. Export-PfxCertificate -Cert $cert -FilePath "C:\certs\webapp.pfx" -Password (ConvertTo-SecureString "P@ssw0rd" -AsPlainText -Force)
复制代码
删除证书
  1. # 删除指定证书
  2. Remove-Item -Path Cert:\LocalMachine\My\<Thumbprint>
复制代码
可以用证书的 Thumbprint 来精确定位
使用 Invoke-Item 打开 MMC
  1. # 打开 MMC 管理证书
  2. Invoke-Item Cert:\LocalMachine\My
复制代码
自动加载“证书”管理单元,便于图形化查看
常见操作场景


  • 查找快过期的 SSL 证书
    Get-ChildItem Cert:\LocalMachine\My -SSLServerAuthentication -ExpiringInDays 60
  • 导入新 Web 服务器证书
    Import-PfxCertificate -FilePath "C:\certs\newweb.pfx" -CertStoreLocation Cert:\LocalMachine\My -Password (ConvertTo-SecureString "@ssw0rd" -AsPlainText -Force)
  • 批量查找代码签名证书
    Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | Format-Table Subject, Thumbprint, NotAfter
  • 创建自签名开发证书
    New-SelfSignedCertificate -DnsName "dev.local" -CertStoreLocation "Cert:\CurrentUser\My"
其他驱动器

除了 FileSystemRegistryCert 驱动器外,PowerShell 还自带了一些用于管理会话和环境的特殊驱动器。它们本质上是由 提供程序 (Provider) 创建的虚拟驱动器,可以像文件夹一样浏览和操作。
Alias 驱动器


  • 作用:查看和管理当前 PowerShell 会话中的 别名
  • 路径:Alias:
  • 示例:
  1. # 列出所有别名
  2. Get-ChildItem Alias:
  3. # 查看 Dir 实际对应的 cmdlet
  4. Get-Item Alias:Dir
  5. # 创建别名
  6. Set-Alias -Name ll Get-ChildItem
  7. # 或者等效方式(直接在 Alias 驱动器下)
  8. New-Item -Path Alias:ll -Value Get-ChildItem
  9. # 删除别名
  10. Remove-Item Alias:ll
复制代码
注意:没有 Remove-Alias cmdlet,必须用 Remove-Item 或 Clear-Item。
Env 驱动器


  • 作用:查看和管理 Windows 环境变量
  • 路径:Env:
  • 示例:
  1. # 查看所有环境变量
  2. Get-ChildItem Env:
  3. # 获取 PATH 环境变量
  4. Get-Item Env:Path
  5. # 设置新的环境变量(仅对当前会话有效)
  6. Set-Item Env:TestVar "HelloWorld"
  7. # 永久设置环境变量(需使用 .NET 或 [System.Environment])
  8. [System.Environment]::SetEnvironmentVariable("JAVA_HOME","C:\Java\jdk17","User")
复制代码
实际应用:自动化脚本里修改 PATH、JAVA_HOME 等。

  • 话级修改:只在当前 PowerShell 窗口有效。
  • 永久修改:需要调用 .NET 或注册表(写入 HKCU:\Environment 或 HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Environment)。
实际案例

设置临时环境变量(只在当前会话)
用途:测试、脚本运行时参数,不污染全局
  1. # 设置临时变量
  2. $env:APP_ENV = "Dev"
  3. # 使用变量
  4. Write-Output "Running in $env:APP_ENV mode"
  5. # 删除临时变量
  6. Remove-Item Env:APP_ENV
复制代码
永久设置环境变量
用途:配置开发环境(Java、Python、Go、Node.js 等)
  1. # 为当前用户设置 JAVA_HOME
  2. [System.Environment]::SetEnvironmentVariable("JAVA_HOME", "C:\Java\jdk17", "User")
  3. # 为所有用户设置
  4. [System.Environment]::SetEnvironmentVariable("JAVA_HOME", "C:\Java\jdk17", "Machine")
复制代码
需要重新启动会话才能生效。
临时修改 PATH
用途:让脚本使用特定工具,不污染全局 PATH
  1. # 临时在 PATH 前加工具路径
  2. $env:Path = "C:\Tools\bin;$env:Path"
  3. # 确认工具生效
  4. where.exe mytool.exe
复制代码
跨进程传递参数
用途:CI/CD、子进程调用脚本时传参
  1. # 设置环境变量
  2. $env:MY_TOKEN = "123456"
  3. # 子进程继承环境变量
  4. Start-Process powershell -ArgumentList "-Command echo `$env:MY_TOKEN"
复制代码
使用环境变量存放敏感信息
用途:避免硬编码密码/API Key
  1. # 设置临时 API Key
  2. $env:API_KEY = "my-secret-token"
  3. # 使用 API Key 调用接口
  4. Invoke-RestMethod "https://api.example.com/data" -Headers @{ Authorization = "Bearer $env:API_KEY" }
复制代码
环境配置脚本
用途:一键配置开发环境,便于迁移
  1. # setup-env.ps1
  2. $env:JAVA_HOME = "C:\Java\jdk17"
  3. $env:Path = "$env:JAVA_HOME\bin;$env:Path"
  4. Write-Output "Environment configured. JAVA_HOME=$env:JAVA_HOME"
复制代码
用户执行:
  1. .\setup-env.ps1
复制代码
清理变量
用途:避免污染环境,防止脚本间冲突
  1. if (Test-Path Env:MY_TEMP_VAR) {
  2.     Remove-Item Env:MY_TEMP_VAR
  3. }
复制代码
CI/CD 管道常见用法
  1. # 在 CI 流水线里设置构建版本号
  2. $env:BUILD_VERSION = "1.0.$(Get-Date -Format yyyyMMddHHmm)"
  3. # 打包时引用
  4. dotnet build /p:Version=$env:BUILD_VERSION
复制代码
Function 驱动器


  • 作用:查看和管理当前 PowerShell 会话中的 函数
  • 路径:Function:
  • 示例:
  1. # 列出所有函数
  2. Get-ChildItem Function:
  3. # 查看某个函数的定义
  4. Get-Item Function:Get-Process | Format-List Definition
  5. # 定义新函数(两种方式)
  6. Function Say-Hello { "Hello PowerShell" }
  7. # 或者
  8. New-Item Function:Say-Hello -Value { "Hello PowerShell" }
  9. # 删除函数
  10. Remove-Item Function:Say-Hello
复制代码
Variable 驱动器


  • 作用:查看和管理当前会话中的 变量
  • 路径:Variable:
  • 示例:
  1. # 查看所有变量
  2. Get-ChildItem Variable:
  3. # 查看特定变量
  4. Get-Item Variable:PSVersionTable
  5. # 新建变量
  6. New-Item Variable:MyVar -Value "PowerShell Rocks"
  7. # 删除变量
  8. Remove-Item Variable:MyVar
复制代码
WSMan 驱动器


  • 作用:管理 WS-Management 配置(WinRM 设置)
  • 路径:WSMan:
  • 示例:
  1. # 查看本地计算机 WSMan 配置
  2. Get-ChildItem WSMan:\localhost
  3. # 查看监听器
  4. Get-ChildItem WSMan:\localhost\Listener
  5. # 创建新的 WSMan 监听器
  6. New-Item -Path WSMan:\localhost\Listener -Address * -Transport HTTP
复制代码
额外驱动器(来自模块/角色)

Active Directory (AD)

  • 路径:AD:(需要安装 RSAT 工具和 ActiveDirectory 模块)
  • 管理对象:用户、组、计算机、OU 等
  • 示例:
  1. # 查看 AD 根目录
  2. Get-ChildItem AD:
  3. # 查看所有 OU
  4. Get-ChildItem AD:\contoso.com\OU=Users
复制代码
IIS

  • 路径:IIS:(需要安装 IIS 和 WebAdministration 模块)
  • 管理对象:站点、应用程序池、虚拟目录
  • 示例:
  1. # 查看 IIS 配置
  2. Get-ChildItem IIS:\Sites
  3. # 新建站点
  4. New-Item IIS:\Sites\MySite -bindings @{protocol="http";bindingInformation="*:8080:"} -physicalPath "C:\inetpub\mysite"
复制代码
动态参数

像文件系统那样,这些驱动器也可能有 动态参数(只在特定 Provider 下生效)。
例如:

  • Alias 提供程序:支持 -Options 参数,可以设置别名属性(是否可覆盖、是否只读等)
  • Registry 提供程序:支持 -Type 参数(REG_SZ, REG_DWORD 等)
  • Cert 提供程序:支持 -ExpiringInDays, -DnsName 等
    可以通过以下命令确认驱动器背后的提供程序:
  1. Get-PSDrive
复制代码
查看提供程序帮助:
  1. Get-Help about_Alias_Provider
复制代码
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册