小编Ben*_*Ben的帖子

具有多个值的 Powershell Switch 语句

任何人都知道我如何拥有一个包含多个可能值的 switch 语句,如下例所示?

switch ($myNumber) {
   1 3 5 7 9 { write-host "Odd" }
   2 4 6 8 10 {write-host "Even" }
}
Run Code Online (Sandbox Code Playgroud)

曾经在 VBScript 中很容易,所以我确定我只是遗漏了一些简单的东西。

例如在 VBScript 中

Select Case myNumber 
   Case 1,3,5,7,9
      MsgBox "Odd"
   Case 2,4,6,8,10
      MsgBox "Even"
End Select
Run Code Online (Sandbox Code Playgroud)

提前加油,

powershell

13
推荐指数
2
解决办法
4万
查看次数

帐户读取 AD,将机器加入域,删除计算机帐户并将计算机移至 OU

我想创建一个将执行以下操作的帐户:

  • 将计算机加入域(不限制为 10,像普通用户一样)
  • 检查 AD 中的计算机帐户
  • 从 AD 中删除计算机
  • 在 OU 之间移动计算机

我不想让它做任何其他事情,所以不想要域管理员帐户。

任何人都可以在权限方面指导我朝着正确的方向前进吗?不确定我是否应该使用委托控制向导?

干杯,

security permissions active-directory

11
推荐指数
1
解决办法
5万
查看次数

强制 Windows 服务器使用特定的域控制器

有没有办法可以在我的 DMZ 中设置 OWA 服务器以与本地站点中的 DC 通信?

DMZ 与具有 DC 的 LAN 位于同一(物理)站点。(DMZ 中没有 DC。)

我可以强制它在这个(本地)子网上使用 DC,因为它在世界的另一端随机选择一个!

windows active-directory domain-controller outlook-web-app

9
推荐指数
1
解决办法
2万
查看次数

如何创建将以登录用户身份运行的计划任务

我正在尝试编写一个将在当前登录用户的上下文中运行的计划任务。

似乎有一个选项可以在 Windows 7 中以组形式运行任务(请参阅https://superuser.com/questions/656964/what-user-must-a-scheduled-task-run-as-in-order- to-be-visible-for-all-user),但 Windows 10 中不存在此选项:

在此输入图像描述

如何在 Windows 10 中实现此目的?

scheduled-task windows-10

7
推荐指数
1
解决办法
8万
查看次数

如何使用 powershell 检查映射驱动器是否打开/连接?

我正在编写一个登录脚本,它取消映射并重新映射一些驱动器。

powershell 调用一个小的批处理文件来进行实际的取消映射,因为 Powershell 在可靠地映射驱动器方面似乎有点不稳定。

我正在使用的代码是:

    $arrDrives = "m:","n:","o:","p:","q:","r:","s:","u:","v:","x:","y:"
    foreach ($drive in $arrDrives) { 
        if (test-path $drive) {
            UpdateSubHeading ("Removing drive " + $drive)
            c:\bin\removeDrive.bat $drive } 
    }
Run Code Online (Sandbox Code Playgroud)

它调用的批处理文件只是:

if exist %1 net use %1 /del
Run Code Online (Sandbox Code Playgroud)

这一切正常,除非有一个到它试图取消映射的驱动器的开放连接。如果用户打开了一个文件,它就会挂起。

在我尝试取消映射之前,有没有办法检查是否有任何连接打开到映射驱动器,如果有则跳过取消映射?

谢谢,

powershell network-share login-script

3
推荐指数
1
解决办法
9964
查看次数

以编程方式将 Windows 7 机器加入域的“正确”方式

以编程方式将 Windows 7 机器加入域的首选方法是什么?

我想编写脚本,以便在启动新映像的机器时加入域。(我不想使用 Sysprep 来做这件事,因为我想同时运行一些其他检查。)

据我所知,我可以使用 NetDom,也可以使用 Powershell 中的计算机添加。

不过,这两个理论上都意味着我必须在图像上安装“额外的东西” - 要么 RSAT 使用 netdom(或者我可以手动复制该命令)或用于计算机添加的 AD cmdlet。

任何人都有这些经验,或者哪个是“更好”的方式?我真的不想让最终用户在他们的机器上使用管理工具。

提前致谢,

powershell active-directory

1
推荐指数
1
解决办法
5382
查看次数