Get-SCScript
从 VMM 库获取脚本对象,该库允许查看或编辑任何脚本,或者查看、编辑或运行 Windows PowerShell 脚本(如果你具有适当的权限)。
语法
Get-SCScript
[-VMMServer <ServerConnection>]
[-All]
[<CommonParameters>]
Get-SCScript
[-VMMServer <ServerConnection>]
-Name <String>
[<CommonParameters>]
Get-SCScript
[-VMMServer <ServerConnection>]
[-Release <String>]
-FamilyName <String>
[<CommonParameters>]
Get-SCScript
[-VMMServer <ServerConnection>]
[-ID <Guid>]
[<CommonParameters>]
说明
Get-SCScript cmdlet 从 Virtual Machine Manager (VMM) 库获取脚本对象。 脚本对象表示的脚本文件存储在库服务器上的文件系统中。 通常,这些脚本是 Windows PowerShell® 脚本或应答文件脚本(包括 Sysprep.inf 和 Unattend.xml 文件,其中包含 Windows 安装程序所需的输入)。
如示例中所示,可以使用 Get-SCScript 来检索脚本对象,如果具有适当的权限,还可以查看脚本的内容或编辑脚本。 此外,如果脚本为 true,则可以运行脚本:1) 脚本是 Windows PowerShell 脚本,2) 脚本在服务器上启用,3) 你具有适当的权限(请参阅示例 5)。
有关在服务器上启用 Windows PowerShell 脚本的信息,请键入 Get-Help about_Signing
、Get-Help Get-ExecutionPolicy -Detailed
和 Get-Help Set-ExecutionPolicy -Detailed
。
示例
示例 1:获取存储在所有 VMM 库服务器上的所有脚本
PS C:\> Get-SCScript -VMMServer "VMMServer01.Contoso.com"
此命令获取存储在 VMMServer01 上的 VMM 库中的库共享中的所有脚本对象,然后向用户显示有关这些脚本的信息。
示例 2:显示库服务器上所有脚本的指定信息
PS C:\> Get-SCScript -VMMServer "VMMServer01.Contoso.com" | where { $_.LibraryServer.Name -eq "LibraryServer01.Contoso.com" } | Format-List -Property Name, LibraryServer, SharePath
此命令获取存储在 LibraryServer01 上的所有脚本对象,并向用户显示这些脚本的名称、库服务器和共享路径。
示例 3:获取任何 VMM 库服务器上具有特定名称的所有脚本
PS C:\> Get-SCScript -VMMServer "VMMServer1.Contoso.com" | where { $_.Name -eq "Sysprep.inf" }
此命令获取名为 Sysprep.inf 的应答文件脚本对象,这些对象存储在 VMMServer01 上的任何库服务器上。
注意:默认情况下,VMM 库中脚本对象的名称与库服务器上的实际脚本文件的名称相同,包括文件扩展名。
示例 4:查看存储在 VMM 库中的脚本
PS C:\> $Script = Get-SCScript | where { $_.Name -eq "SummarizeVMMInfo.ps1"}
PS C:\> Notepad.exe $Script.SharePath
第一个命令从 VMM 库获取名为 SummarizeVMMInfo.ps1 的脚本对象,并将对象存储在$Script变量中。
第二个命令使用记事本打开脚本,以便在具有读取脚本的适当权限的情况下查看其内容。
注意:如果你有适当的写入权限,还可以编辑脚本并保存新版本。
示例 5:运行存储在 VMM 库中的 Windows PowerShell 脚本
PS C:\> $Script = Get-SCScript | where { $_.Name -eq "SummarizeVMMInfo.ps1" }
PS C:\> &$Script.SharePath
第一个命令从 VMM 库获取名为“SummarizeVMMInfo.ps1”的脚本对象,并将对象存储在$Script变量中。
第二个命令使用 ampersand (&) 运算符运行存储在$Script中的脚本。
若要运行存储在 VMM 库共享中的 Windows PowerShell 脚本,必须确保以下各项:
你对脚本文件具有读取和执行权限。
你是 VMM 管理员用户角色的成员。
你有权访问 VMM 库共享。
已启用 Windows PowerShell 脚本。 如果不是:
以管理员身份运行 VMM 命令行界面。 2. 使用 Set-ExecutionPolicy cmdlet 将执行策略设置为环境的适当级别。
有关详细信息,请键入 Get-Help about_Signing
、Get-Help Get-ExecutionPolicy -Detailed
和 Get-Help Set-ExecutionPolicy -Detailed
参数
-All
指示此 cmdlet 获取独立于父对象的所有从属对象。
例如,该命令 Get-SCVirtualDiskDrive -All
获取所有虚拟磁盘驱动器对象,而不考虑每个虚拟磁盘驱动器对象都与之关联的虚拟机对象或模板对象。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-FamilyName
指定 VMM 库中物理资源的系列名称。 此值与 Release、Namespace 和 Type 结合使用,在库资源之间建立等效性。
类型: | String |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-ID
将数字标识符指定为特定对象的全局唯一标识符或 GUID。
类型: | Guid |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Name
指定 VMM 对象的名称。
类型: | String |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-Release
指定描述库资源的发布的字符串。 VMM 会自动为导入库的每个资源创建发布值。 导入资源后,可以自定义字符串。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-VMMServer
指定 VMM 服务器对象。
类型: | ServerConnection |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
输出
Script
此 cmdlet 返回 脚本 对象。