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 来检索脚本对象,还可以使用(如果具有适当的权限)来查看脚本的内容或编辑脚本。 此外,如果符合以下条件,则可以运行脚本:1) 脚本是Windows PowerShell脚本,2) 脚本在服务器上启用,3) 具有适当权限 (请参阅示例 5) 。

有关在服务器上启用Windows PowerShell脚本的信息,请键入 Get-Help about_SigningGet-Help Get-ExecutionPolicy -DetailedGet-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" }

此命令获取存储在 VMMServer01 上任何库服务器上的名为 Sysprep.inf 的应答文件脚本对象。

注意:默认情况下,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 变量中。

第二个命令使用与号 (&) 运算符运行存储在 $Script 中的脚本。

若要运行存储在 VMM 库共享中的Windows PowerShell脚本,必须确保以下各项:

  • 你对脚本文件具有读取和执行权限。

  • 你是 VMM 管理员用户角色的成员。

  • 你有权访问 VMM 库共享。

  • 启用Windows PowerShell脚本。 如果不正确:

以管理员身份运行 VMM 命令行界面。 2. 使用 Set-ExecutionPolicy cmdlet 将执行策略设置为环境的适当级别。

有关详细信息,请键入 Get-Help about_SigningGet-Help Get-ExecutionPolicy -DetailedGet-Help Set-ExecutionPolicy -Detailed

参数

-All

指示此 cmdlet 获取独立于父对象的所有从属对象。 例如, 命令 Get-SCVirtualDiskDrive -All 获取所有虚拟磁盘驱动器对象,而不考虑与每个虚拟磁盘驱动器对象关联的虚拟机对象或模板对象。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FamilyName

指定 VMM 库中物理资源的系列名称。 此值与 Release、Namespace 和 Type 结合使用,以建立库资源之间的等效性。

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ID

将数字标识符指定为特定对象的全局唯一标识符或 GUID。

Type:Guid
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

指定 VMM 对象的名称。

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Release

指定描述库资源的发布的字符串。 VMM 会自动为导入库中的每个资源创建发布值。 导入资源后,可以自定义字符串。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VMMServer

指定VMM 服务器对象。

Type:ServerConnection
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

输出

Script

此 cmdlet 返回一个 Script 对象。