Function 将在本机未安装该命令的计算机上运行。@TheInfamousOne:很高兴听到它工作了。无需担心重新格式化-重要的部分是养成正确操作的习惯(这就是为什么我鼓励您这样做,而不是自己修复)。了解模块的重新可用性。@如果您不回答您的问题,请参阅我的编辑,您可以看

Function 将在本机未安装该命令的计算机上运行。@TheInfamousOne:很高兴听到它工作了。无需担心重新格式化-重要的部分是养成正确操作的习惯(这就是为什么我鼓励您这样做,而不是自己修复)。了解模块的重新可用性。@如果您不回答您的问题,请参阅我的编辑,您可以看,function,powershell,Function,Powershell,将在本机未安装该命令的计算机上运行。@TheInfamousOne:很高兴听到它工作了。无需担心重新格式化-重要的部分是养成正确操作的习惯(这就是为什么我鼓励您这样做,而不是自己修复)。了解模块的重新可用性。@如果您不回答您的问题,请参阅我的编辑,您可以看到其中的差异。主要是当你在代码中复制时,一件简单的事情就是点击CTRL+K,这将放入允许代码格式设置的缩进。谢谢,@Matt-从来都不知道(或者更可能:忘记了)CTRL+K:awesome-甚至可以选择现有的文本。为了完整起见,这里再次提供了常


将在本机未安装该命令的计算机上运行。@TheInfamousOne:很高兴听到它工作了。无需担心重新格式化-重要的部分是养成正确操作的习惯(这就是为什么我鼓励您这样做,而不是自己修复)。了解模块的重新可用性。@如果您不回答您的问题,请参阅我的编辑,您可以看到其中的差异。主要是当你在代码中复制时,一件简单的事情就是点击CTRL+K,这将放入允许代码格式设置的缩进。谢谢,@Matt-从来都不知道(或者更可能:忘记了)CTRL+K:awesome-甚至可以选择现有的文本。为了完整起见,这里再次提供了常规代码格式说明。@Matt:我必须进行更改,但我不确定如何处理此问题。我需要将此:[string]$sipaddress=$objItem.mail更改为:[string]$sipaddress=$msRTCSIP PrimaryUserAddress。问题是它不喜欢msTRCSIP PrimaryUserAddress中的“-”。有什么办法可以让我改变这个工作吗?我认为powershell认为这是一个commandlet,因为我试图返回AD属性。
0
1
2
John.Smith
Function CheckSIP {

    $loggedOnUser = (get-WmiObject win32_process -Filter "Name='explorer.exe'"|Select -First 1).GetOwner().User

    $strFilter = "(&(objectCategory=User)(mailnickname=$loggedOnUser))"
    $objDomain = New-Object 

    System.DirectoryServices.DirectoryEntry("LDAP://OU=Offices,dc=OurNetwork,dc=net")
    $objSearcher = New-Object System.DirectoryServices.DirectorySearcher
    $objSearcher.SearchRoot = $objDomain
    $objSearcher.PageSize = 1000
    $objSearcher.Filter = $strFilter
    $objSearcher.SearchScope = "Subtree"

    $colProplist = "name", "mail", "mailnickname"
    foreach ($i in $colPropList){$objSearcher.PropertiesToLoad.Add($i)}

    $colResults = $objSearcher.FindAll()

    foreach ($objResult in $colResults){

        $objItem = $objResult.Properties
        [string]$UserName = $objItem.name 
        [string]$sipaddress = $objItem.mail
        [string]$mailnickname = $objItem.mailnickname
    }

    $theSIP = $sipaddress.Split("@")[0]

    return $theSIP
}

$mySIPaddress = CheckSip
$objSearcher.PropertiesToLoad.Add($i)
$null = $objSearcher.PropertiesToLoad.Add($i)