22 个热门 PowerShell 面试问题(2025 年)
以下是 PowerShell 面试问题和答案,可帮助应届毕业生和有经验的求职者获得理想的工作。
1)解释什么是PowerShell?
Power shell 是 Windows 的可扩展命令 shell 和脚本语言。
2)PowerShell的主要特性是什么?
PowerShell 的主要特点是
- PowerShell 是基于对象的,而不是基于文本的
- PowerShell 中的命令是可自定义的
- 它是一个命令行解释器和脚本环境
3)在 PowerShell 中变量包含什么?
在变量中,PowerShell 包含字符串、整数和对象。它没有特殊变量,因为它是使用 PowerShell 预定义的
4)解释PowerShell中括号的意义是什么?
- 括号 (): 曲线括号式的括号用于强制参数。
- 大括号 {} : 在阻塞语句中使用花括号
- 方括号 []: 它们定义可选项,并且不经常使用
5) cmdlet 是什么意思?
Cmdlet 是使用以下语言编写的简单内置命令 净 Windows PowerShell 引入的 C# 或 VB 等语言
6)解释什么是 PowerShell 循环?
借助 PowerShell 循环自动执行重复任务称为 PowerShell 循环。通过 PowerShell,您可以执行 For each 循环、While 循环和 Do While 循环。
7) 解释您是否可以创建用于在 SharePoint 中部署组件的 PowerShell 脚本?
如果您使用 VS 2010 创建了 Web 部件,则可以使用 cntrl+f5 部署它。但是,要激活 Web 部件功能,您可以编写 PowerShell 脚本 (.ps1) 并在部署后执行它
8)解释一下PowerShell的比较运算符?
比较运算符在 PowerShell 中比较值。使用四种类型的比较运算符 平等、匹配、包含和替换在 PowerShell 中,一个关键的比较运算符是 –eq,它代替“=”符号来声明变量。同样,还有其他运算符,如 –ne(表示“不等于”)、-gt(大于)或 –lt(小于)。
9)解释一下PowerShell管道用于什么?
PowerShell 管道用于连接两个语句,使得一个语句的输出成为第二个语句的输入。
10)解释什么是 PowerShell get-command?
PowerShell 中的 Get 命令用于获取其他 cmdlet,例如,您正在寻找字母 L 和 R 之间的 cmdlet,那么您的 PowerShell get 命令将类似于
# PowerShell Get - Command Range Clear-Host Get-Command [ L–R ]*
11) 举例说明如何在 PowerShell 中映射网络驱动器?
要在 PowerShell 中映射网络驱动器,您必须使用如下命令
# PowerShell Map Network Drive $Net = $( New - Object – ComObject Wscript.Network ) $Net.MapNetworkDrive( "S:", \\expert\guru99 )
此处的驱动器号为“S:”,网络共享在名为“guru99”的计算机上称为“expert”。
12) 说出 PowerShell 用于“选择”的三种方式是什么?
- 最常见的方式是 WMI 查询语言 (WQL)语句。在这项技术中,Wmiobject 使用“-query”来引入经典的 ‘选择 * 来自’ 一个短语
- PowerShell 中“选择”的第二个上下文是 选择字符串。此 cmdlet 检查单词、短语或任何模式匹配
- 另一种方法是 选择对象
13)PowerShell中Get-Service status有什么作用?
Windows 的 cmdlet 可让您过滤 Windows 服务。PowerShell 可以通过使用 Windows 编写脚本列出哪些服务处于“正在运行”状态以及哪些服务处于“已停止”状态。
14)解释什么是 PowerShell 脚本?
PowerShell 文件包含一系列 PowerShell 命令,每个命令都显示在单独的行上。要将文本文件用作 PowerShell 脚本,其文件名应具有 .PS1 扩展名。要运行脚本,您需要
- 在文本编辑器中键入命令
- 使用 .ps1 扩展名保存文件
- 在 PowerShell 中执行该文件
15)PowerShell 中的哈希表有什么用途?
哈希表也称为字典。它是一种 排列 它允许您将数据存储在“键-值”对关联中。“键”和“值”可以是任何数据和长度。要声明哈希表,您必须使用 @ 后跟花括号。
16)解释一下 PowerShell 中数组的用途?
在 PowerShell 中使用数组是为了针对远程计算机运行脚本。为了创建数组,您必须创建一个变量并分配该数组。数组由“@”符号表示,它们表示为哈希表,但后面没有花括号。
例如, $arrmachine = @(“机器1”,“机器2”,“机器3”)
17)请说出可以用来获取特定文件夹中所有子文件夹的命令是什么?
要获取特定文件夹中的所有子文件夹,您必须在代码中使用参数 recurse。
获取子项 C:\Scripts –recurse
18)解释如何将对象转换为 HTML?
将对象转换为 HTML
Get-Process l Sort-object – 属性 CPU –descending l 转换为 – HTML l Out-file “process.html”
19)解释如何重命名变量?
要重命名变量,
Rename-Item- Path Env: MyVariable –NewName MyRenamedVar
20)解释$input变量的作用是什么?
$input 变量使函数能够访问来自管道的数据
21) 查找当前计算机上已安装的应用程序名称的代码是什么?
Get-WmiObject-Class Win32_Product- ComputerName .l 格式宽列1
22)解释如何在 PowerShell 中找到所有 SQL 服务都在一台服务器上吗?
有两种方法可以做到这一点
- get-wmiobject win32_service l where-object {$_.name-like “*sql*”}
- 获取服务 sql*
这些面试问题也会对你的口试有帮助
#11 此处的驱动器号为“S:”,网络共享在名为“guru99”的计算机上称为“expert”。
您想要反转这一点 - 网络共享在名为“expert”的计算机上称为“guru99”
接得好…
我爱你们!
Get-Process l Sort-object – 属性 CPU –descending l 转换为 – HTML l Out-file“process.html”是错误的。
正确的一个 -> Get-Process l Sort-object – property CPU –descending l Out-file “process.html”
不,Sandhya 错了。Get-Process | Sort-object -Property CPU -Descending | ConvertTo-Html | Out-file “process.html” 是正确的代码
这个答案是正确的,因为问题是将输出转换为 html
一个拼写错误 问题 13
Get-ServiceStatus 而不是 Get-service
如果我错了,请纠正我。
已更新!感谢您指出这一点
没有 Get-ServiceStatus 这样的命令
没有 Get-Servicestatus 这样的 cmdlt。Get-Service 使用 Status 属性来确定它是否正在运行是正确的
否 13)— 没有“Get-ServiceStatus”这样的 cmdlet – 请将其删除,不要让读者感到困惑
感谢您的来信。已审核并更新。
Q 22:应该是 `$_.name`,而不是 `$_name`。
谢谢您的来信。已更新。
大家好,
需要 Powershell 脚本 – 配额限制完成后自动删除“文件”
是否可以在 power shell 中编写脚本或者是否有“FSRM”之类的选项
我非常急需它。